glas-harness/history/2026-09-06-102533-scope-vs-intent-assessment.md
tegwick f8942c42e8
All checks were successful
ci / validate (push) Successful in 2m32s
docs: assess current capabilities against harness intent
Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a0726e-5232-73f2-aaca-2c05ceb62efb
2026-09-06 10:28:09 +02:00

8.9 KiB

Scope versus intent assessment

Timestamp: 2026-09-06 10:25:33 CEST (UTC+02:00). Baseline: Glas 5867842; INTENT.md dated 2026-08-20.

Assessment

Glas implements the nucleus that INTENT.md explicitly identifies: a versioned, profile-driven execution router over concrete reins. It supplies a useful library/CLI boundary, strict catalog selection, sandbox lifecycle coordination and compact results. It does not yet satisfy the larger promise of Coulomb's default unified agent runtime.

The most immediate gap is operational acceptance: no committed profile is ready, and no post-hardening real local model run has satisfied the full acceptance contract. The broader feature gaps remain substantial but should not distract from closing that first usable execution path.

Evidence and method

Reviewed SCOPE.md and INTENT.md against:

  • src/glas_harness/{contract,profiles,gateway,transport,hub,cli}.py, both rein adapters and the channel interface/CLI implementation;
  • all three committed profiles and both rein registry descriptors;
  • the test suite and the latest review result: 110 passing tests, catalog validation passing at code commit 863fab7, with final record sync at 5867842; no tests or live credential/model runs were repeated for this documentation-only assessment;
  • scripts/prove-owner-boundary.py, inspect-local-runtime.py and prove-local-profile.py, plus recorded boundary, egress and credential transport evidence in docs/evidence/;
  • GLAS-WP-0012, the residual register and the prior 2026-08-23 assessment;
  • recorded owner updates at secrets-engine 7b4b9e3 / 083bee7 and FLEX-WP-0021; these show implementation/publication, not deployment; and
  • .forgejo/workflows/ci-smoke.yaml workflow intent (package installation, tests, catalog validation). No fresh remote CI receipt was checked in this review.

Source behavior, historical proof and operational readiness are treated as separate evidence levels. Owner mechanisms are not counted as Glas-owned implementations. This is an assessment snapshot, not a live backlog authority.

Alignment with INTENT.md

Intent area Assessment Remaining gap / boundary
Unified harness API Partial Versioned request and synchronous single-run lifecycle exist. No resume, persistent session store, turn API or recovery service.
Profile catalog Strong within the nucleus Explicit constellation, compatibility and readiness checks work. Runtime artifact provenance is not fully encoded by the Glas schema; readiness still needs host-scoped evidence.
Sandbox consumption Implemented boundary, partial operational acceptance Local owner execution and remote SSH are implemented. Local non-secret proofs pass; real local rein acceptance and positive remote proof remain outstanding.
Tool orchestration and policy Delegated/minimal One opaque run_task invokes a rein. Tool policy is passed to it. No general Glas tool catalog, per-tool authorization or configurable elevated escape path.
Limits Partial Per-command timeout and backend token/turn parameters exist. No aggregate execution deadline, shared resource accounting or subagent budget enforcement.
Memory, skills and identity documents Absent as Glas services No store, synchronization, retrieval or lifecycle API. A rein's own features do not establish shared Glas capability.
Channels and extension platform Foundation only Channel/Rein contracts and CLI exist. No chat/email/MCP bridge, generic tool-backend or memory plugin contract, discovery/lifecycle service or hosted gateway.
Subagents Absent No spawn/join, bounded context, parent-child identity or delegated sandbox lifecycle contract.
Observability Partial Run evidence, attribution and optional captured Claude events exist. No live cross-rein event stream, durable audit outbox or guaranteed reporting. Open-weight tool events remain unavailable.
Workforce separation Aligned Opaque organizational references are preserved; scheduling/allocation remain upstream. Actor enum validation does not authenticate an initiator or authorize an assignment.
Sibling ownership Aligned in code Provisioning, secrets, scheduling, product validation and generation are not embedded. Integration tests do not turn Glas into wise-validator.
Default production agent runtime Not achieved No ready profile, production service surface or proven workstation-independent consumer deployment.

Progress since the previous assessment

The August assessment's missing owner-execution path is no longer current. Glas replaced direct namespace entry and host task writes with sand-boxer exec; non-secret source isolation, identity, task cleanup and teardown passed. Sand-boxer separately proved runtime mounting/private state, controlled egress and synthetic credential delivery. The real-rein acceptance runner now checks committed/worktree artifact content before teardown.

Local code reviews also fixed shared adapter result state, normalized manager startup failures and rejected duplicate YAML keys rather than silently accepting overwritten routes or limits. These improve the nucleus without adding long-lived harness features or proving a provider workload.

Credential custody is confirmed only through metadata. Gate-house settled the approval-claim/decision split, secrets-engine implemented it, and flex-auth published the lifecycle policy. Real decision verification, deployment, production service identity and lane activation remain distinct prerequisites.

Gaps and disposition

  1. First usable local profile — highest operational priority. Continue GLAS-WP-0012 with SAND-WP-0015 and SECRETS-WP-0009 owner returns. Require pinned Claude startup, real protected delivery, provider scope/budget inputs, combined artifact/identity/cleanup acceptance and a versioned profile review. Do not promote either blocked profile based on synthetic proofs.
  2. Other execution routes — independently unproven. GLAS-IN-0002 retains open-weight acceptance. The remote profile remains unverified; its lack of a current positive proof must remain visible and must not be treated as a ready fallback.
  3. Broader harness features — consumer-backed design needed. Memory, skills, persistent sessions, subagents, additional channels and generic tool plugins are INTENT deltas, not defects in the bounded router contract. Establish specific consumers and acceptance criteria before new workplans.
  4. Operational governance and audit — partial. External authorization is not supplied by Glas attribution. Durable audit delivery, complete tool visibility and aggregate limits need explicit requirements if consumers depend on them; existing progress reporting cannot imply those guarantees.
  5. Record conventions — existing owner work. GLAS-IN-0003/0004 remain recorded as open. The latest ad hoc task needed a registration workaround; successful synchronization of that task does not resolve the convention. Legacy-bootstrap intake wording is historical and needs owner reconciliation against the current migrated workplan before claiming a current defect.

No new implementation workplan is created by this assessment. Existing operational blockers retain their live records; vision gaps remain proposals.

INTENT.md details that need reconciliation

INTENT is intentionally aspirational, but some integration details are stale or ambiguous even as a target:

  • The sandbox example describes an HTTP create call and consumer fields harness/session_id/actor. Current Glas uses the Python manager with actor/project/run_id, then owner exec locally or SSH remotely. It does not implement generic exec/read/write/edit tool APIs or recreate transitions.
  • The direct-exec integration question is answered for the current nucleus: local commands use owner exec; remote commands use SSH. Mirror versus remote-canonical policy is not exposed as a general Glas tool API.
  • Cron appears among harness concerns while scheduling is explicitly excluded. A future invocation adapter can consume scheduled work; ownership of when work runs must stay upstream.
  • Assigning model API keys broadly to llm-connect does not describe the current native workload lane: OpenBao custody, secrets-engine delivery and owner execution participate, and rein-openweights has its own provider client.
  • "Observable by default" is an aspiration beyond best-effort progress posts; complete audit delivery and per-tool control are not present guarantees.

INTENT.md is left unchanged: narrowing or revising its target is a separate product decision. SCOPE.md now states the implemented behavior and limits.

Result

SCOPE.md now distinguishes implemented router behavior, owner proof evidence, profile readiness, intended features and external ownership. The appropriate capability claim is a bounded execution-router library/CLI with hardened sandbox integration and pending real-workload acceptance.