Follow-up to #233 item 4, split out when #268 shipped the existing-surface half (inspect + doctor). #98's visibility contract reads: "The compiler and Workbench expose the effective lifetime, runtime instance identity, and degraded states rather than allowing application code to infer durability from the presence of an MCP server."
Delivered by #268 (existing read-only surfaces):
agent-bundle inspect --state: declared id, effective lifetime, driver kind, provenance, budgets (defaults/declared/dynamic), durable-location description, notice-ledger co-mount note.
agent-bundle doctor: filesystem-only inventory of workspace-durable SQLite stores per installed bundle (AB7316).
Still missing (needs new plumbing, deliberately not faked in #268):
- Workbench catalog display (G6: read-only). The compiled route manifest (
packages/agent-bundle/src/dev/routes/route-manifest.ts) and ArtifactInspection (src/dev/types.ts) carry no state metadata, so the Workbench catalog cannot show effective lifetime/driver today. Requires extending the manifest projection with the normalized state definition and a read-only catalog panel. The Workbench runtime UI already shows live stateStoreId/stateVersion (DevRuntimeStateIdentity); the static/declared side is what is absent. Coordinate with the active workbench atom lanes.
- Runtime-instance identity.
createWarmFlightHost owns WarmRuntimeIdentity { instanceId, artifactEpoch } and generated workers codegen processLifetime { pid, instanceId, hits }, but no read-only introspection endpoint exposes them: doctor only probes event-IPC sockets (event-*.sock) with a bare TCP connect and never speaks the protocol. Surfacing which runtime instance owns process-lifetime state (and its degraded runtime-restarted/runtime-unavailable states) needs a pinned read-only status verb on the event runtime IPC (or an equivalent surface) before doctor/Workbench can honestly report it.
Refs: #98, #233, #251, #268.
Follow-up to #233 item 4, split out when #268 shipped the existing-surface half (inspect + doctor). #98's visibility contract reads: "The compiler and Workbench expose the effective lifetime, runtime instance identity, and degraded states rather than allowing application code to infer durability from the presence of an MCP server."
Delivered by #268 (existing read-only surfaces):
agent-bundle inspect --state: declared id, effective lifetime, driver kind, provenance, budgets (defaults/declared/dynamic), durable-location description, notice-ledger co-mount note.agent-bundle doctor: filesystem-only inventory of workspace-durable SQLite stores per installed bundle (AB7316).Still missing (needs new plumbing, deliberately not faked in #268):
packages/agent-bundle/src/dev/routes/route-manifest.ts) andArtifactInspection(src/dev/types.ts) carry no state metadata, so the Workbench catalog cannot show effective lifetime/driver today. Requires extending the manifest projection with the normalized state definition and a read-only catalog panel. The Workbench runtime UI already shows livestateStoreId/stateVersion(DevRuntimeStateIdentity); the static/declared side is what is absent. Coordinate with the active workbench atom lanes.createWarmFlightHostownsWarmRuntimeIdentity { instanceId, artifactEpoch }and generated workers codegenprocessLifetime { pid, instanceId, hits }, but no read-only introspection endpoint exposes them: doctor only probes event-IPC sockets (event-*.sock) with a bare TCP connect and never speaks the protocol. Surfacing which runtime instance owns process-lifetime state (and its degradedruntime-restarted/runtime-unavailablestates) needs a pinned read-only status verb on the event runtime IPC (or an equivalent surface) before doctor/Workbench can honestly report it.Refs: #98, #233, #251, #268.