Make agent runtime metadata first-class and visible in Agent Proxy #147

Open
opened 2026-08-27 03:24:55 +00:00 by coilyco-ops · 0 comments
Owner

What to build

Make Agent Proxy the human-readable projection of runtime facts that Ward, cli-guard and its specgen-generated Aguard surface, AOS, and agent-compose already determine.

The first glance must identify the active harness. The detailed view must expose every safe scalar value that explains how an agent run was composed, launched, guarded, routed, and observed. Source systems remain authoritative. Agent Proxy correlates and presents their facts without becoming a config owner or an authorization layer.

This is a cross-repo program ticket. Implementation may land in the owning repositories, but the resulting runtime contract must work end to end.

Inventory baseline

Agent Proxy

  • Agent Proxy already ingests Ward run, role, harness, repository, issue, workflow, context, version, request, and session metadata.
  • Agent Proxy already materializes harness values and provides a harness/model trajectory view.
  • The current operator surface is logs, traces, and internal JSON. There is no human-friendly current-run view.
  • Per-request trajectory emission currently defaults off.
  • Agent Proxy already has cold-path adapters for guard audit data and agent-compose artifacts, but correlation remains manual or incomplete.
  • Agent Proxy does not currently ingest Ward's thread identifier.

Ward

  • Ward already determines the effective harness, role, repository, issue, workflow, context level, model, provider, endpoint class, reasoning, verbosity, auth posture, launch posture, and run identifiers.
  • Ward's OpenCode path emits the fullest request envelope today. Goose, Codex, Claude, and native AOS paths do not yet provide equivalent projection.
  • Ward uses several names for the same harness concept across runtime and container surfaces. The normalized contract should expose one canonical harness field.

cli-guard, specgen, and Aguard

  • cli-guard audit rows already contain decision, verb, exit status, duration, repository and working-directory posture, session, policy decision, cache, egress summary, and coordinate dimensions.
  • cli-guard's shared agent claim can describe agent, role, model, model class, harness, and reasoning effort, but Ward and AOS do not currently carry that claim through one runtime envelope.
  • Specgen-generated Aguard is a cli-guard consumer rather than a separate telemetry protocol.
  • Agent Proxy can fingerprint guard and specgen policy artifacts, but generated Aguard events may not carry a useful producer version and do not automatically join the active run.

AOS

  • AOS already determines image, role, layout, delivery mode, command, workspace posture, identity mapping, terminal posture, substrate posture, auth posture, and environment presence.
  • AOS currently exports only a small runtime subset. Layout, harness, delivery, and the wider launch posture are not projected to Agent Proxy.
  • AOS also carries a generated role-to-harness routing board that should remain distinct from the harness actually selected for a run.

agent-compose

  • agent-compose already records requested role, delivery mode, model class, selected sources, personalities, composition decisions, output targets, bundle identity, bundle digest, reuse, fallback, and warnings.
  • Agent Proxy already ingests manifests and traces, but the bundle is intentionally harness-agnostic and runtime joins require manual correlation.

Target contract

Per-request pinned envelope

Every supported request path should carry a small normalized envelope containing the safe fields needed for immediate attribution:

  • Request, run, session, and thread identifiers
  • Canonical harness
  • Effective role
  • Target repository, issue, and workflow
  • Effective model and provider class
  • Context level
  • Producer version

One-per-run launch manifest

Each run should publish one correlated manifest containing the broader safe scalar posture:

  • Ward launch and effective fleet configuration
  • AOS layout, delivery, routing selection, and launch posture
  • agent-compose role, model class, personality set, source set, bundle digest, reuse, fallback, and warnings
  • Guard and specgen policy fingerprints and producer versions

Linked trajectory events

Request lifecycle, guard decisions, Aguard operations, composition decisions, and routing events should join the same run and session without importer-supplied correlation arguments.

Acceptance criteria

  • Agent Proxy displays the active harness as a pinned, first-class field for Ward OpenCode, Goose, Codex, Claude, and native AOS runs.
  • All supported request paths emit the normalized per-request envelope.
  • Agent Proxy ingests and exposes Ward's thread identifier.
  • Each run emits one correlated launch manifest covering Ward, AOS, agent-compose, and guard/specgen posture.
  • cli-guard, Aguard, specgen, and agent-compose events join the active run and session automatically.
  • Agent Proxy exposes a human-friendly current-run or trajectory detail surface, with the harness visible without inspecting raw logs. An API may be the first surface if it preserves that visibility contract.
  • Request trajectory durability is enabled or explicitly configured so supported runtime metadata is not silently absent.
  • Tests cover every supported harness producer path, cross-source joins, stable field normalization, and redaction.
  • The projection excludes secrets, raw argument vectors, raw stderr, personal email addresses, raw filesystem paths, raw endpoint values, and opaque network identifiers.
  • Agent Proxy never treats observed guard, Aguard, or composition metadata as permission to execute an action.
  • Owning repositories document their emitted fields and Agent Proxy documents the normalized projection.

Ownership boundary

  • Ward owns effective runtime and workflow selection.
  • cli-guard owns command-policy decisions and the audit schema. Specgen-generated Aguard uses that contract.
  • AOS owns launch layout, delivery, and role-to-harness routing.
  • agent-compose owns composition identity and bundle provenance.
  • Agent Proxy owns correlation, normalization, durability, and operator visibility.

Work areas

  • agent-proxy
  • ward
  • agentic-os
  • agent-compose
  • cli-guard and specgen-generated Aguard consumers

Blocked by

None - the Agent Proxy migration may affect landing order, but its stable service boundary is sufficient to define the contract now.

Execution type

AFK after owner-repo implementation slices are linked from this ticket.

## What to build Make Agent Proxy the human-readable projection of runtime facts that Ward, cli-guard and its specgen-generated Aguard surface, AOS, and agent-compose already determine. The first glance must identify the active harness. The detailed view must expose every safe scalar value that explains how an agent run was composed, launched, guarded, routed, and observed. Source systems remain authoritative. Agent Proxy correlates and presents their facts without becoming a config owner or an authorization layer. This is a cross-repo program ticket. Implementation may land in the owning repositories, but the resulting runtime contract must work end to end. ## Inventory baseline ### Agent Proxy * Agent Proxy already ingests Ward run, role, harness, repository, issue, workflow, context, version, request, and session metadata. * Agent Proxy already materializes harness values and provides a harness/model trajectory view. * The current operator surface is logs, traces, and internal JSON. There is no human-friendly current-run view. * Per-request trajectory emission currently defaults off. * Agent Proxy already has cold-path adapters for guard audit data and agent-compose artifacts, but correlation remains manual or incomplete. * Agent Proxy does not currently ingest Ward's thread identifier. ### Ward * Ward already determines the effective harness, role, repository, issue, workflow, context level, model, provider, endpoint class, reasoning, verbosity, auth posture, launch posture, and run identifiers. * Ward's OpenCode path emits the fullest request envelope today. Goose, Codex, Claude, and native AOS paths do not yet provide equivalent projection. * Ward uses several names for the same harness concept across runtime and container surfaces. The normalized contract should expose one canonical harness field. ### cli-guard, specgen, and Aguard * cli-guard audit rows already contain decision, verb, exit status, duration, repository and working-directory posture, session, policy decision, cache, egress summary, and coordinate dimensions. * cli-guard's shared agent claim can describe agent, role, model, model class, harness, and reasoning effort, but Ward and AOS do not currently carry that claim through one runtime envelope. * Specgen-generated Aguard is a cli-guard consumer rather than a separate telemetry protocol. * Agent Proxy can fingerprint guard and specgen policy artifacts, but generated Aguard events may not carry a useful producer version and do not automatically join the active run. ### AOS * AOS already determines image, role, layout, delivery mode, command, workspace posture, identity mapping, terminal posture, substrate posture, auth posture, and environment presence. * AOS currently exports only a small runtime subset. Layout, harness, delivery, and the wider launch posture are not projected to Agent Proxy. * AOS also carries a generated role-to-harness routing board that should remain distinct from the harness actually selected for a run. ### agent-compose * agent-compose already records requested role, delivery mode, model class, selected sources, personalities, composition decisions, output targets, bundle identity, bundle digest, reuse, fallback, and warnings. * Agent Proxy already ingests manifests and traces, but the bundle is intentionally harness-agnostic and runtime joins require manual correlation. ## Target contract ### Per-request pinned envelope Every supported request path should carry a small normalized envelope containing the safe fields needed for immediate attribution: * Request, run, session, and thread identifiers * Canonical harness * Effective role * Target repository, issue, and workflow * Effective model and provider class * Context level * Producer version ### One-per-run launch manifest Each run should publish one correlated manifest containing the broader safe scalar posture: * Ward launch and effective fleet configuration * AOS layout, delivery, routing selection, and launch posture * agent-compose role, model class, personality set, source set, bundle digest, reuse, fallback, and warnings * Guard and specgen policy fingerprints and producer versions ### Linked trajectory events Request lifecycle, guard decisions, Aguard operations, composition decisions, and routing events should join the same run and session without importer-supplied correlation arguments. ## Acceptance criteria - [ ] Agent Proxy displays the active harness as a pinned, first-class field for Ward OpenCode, Goose, Codex, Claude, and native AOS runs. - [ ] All supported request paths emit the normalized per-request envelope. - [ ] Agent Proxy ingests and exposes Ward's thread identifier. - [ ] Each run emits one correlated launch manifest covering Ward, AOS, agent-compose, and guard/specgen posture. - [ ] cli-guard, Aguard, specgen, and agent-compose events join the active run and session automatically. - [ ] Agent Proxy exposes a human-friendly current-run or trajectory detail surface, with the harness visible without inspecting raw logs. An API may be the first surface if it preserves that visibility contract. - [ ] Request trajectory durability is enabled or explicitly configured so supported runtime metadata is not silently absent. - [ ] Tests cover every supported harness producer path, cross-source joins, stable field normalization, and redaction. - [ ] The projection excludes secrets, raw argument vectors, raw stderr, personal email addresses, raw filesystem paths, raw endpoint values, and opaque network identifiers. - [ ] Agent Proxy never treats observed guard, Aguard, or composition metadata as permission to execute an action. - [ ] Owning repositories document their emitted fields and Agent Proxy documents the normalized projection. ## Ownership boundary * Ward owns effective runtime and workflow selection. * cli-guard owns command-policy decisions and the audit schema. Specgen-generated Aguard uses that contract. * AOS owns launch layout, delivery, and role-to-harness routing. * agent-compose owns composition identity and bundle provenance. * Agent Proxy owns correlation, normalization, durability, and operator visibility. ## Work areas * `agent-proxy` * `ward` * `agentic-os` * `agent-compose` * `cli-guard` and specgen-generated Aguard consumers ## Blocked by None - the Agent Proxy migration may affect landing order, but its stable service boundary is sufficient to define the contract now. ## Execution type AFK after owner-repo implementation slices are linked from this ticket.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-flight-deck/agent-proxy#147
No description provided.