I1006 — The runtime reads the graph through the registry, like every other read
Expose the graph to the running Cockpit as a declared capability, so that its route, its schema, its documentation and its benchmark coverage all follow from the declaration.
READY wave 3 · p1 · implementation profile · parallel safe
Ready. Every dependency is done, so majordomus plan start I1006 will be accepted.
Objective
Expose the graph to the running Cockpit as a declared capability, so that its route, its schema, its documentation and its benchmark coverage all follow from the declaration.
Why
A route added by hand for the Cockpit would be the one endpoint missing from OpenAPI, from the reference and from the smoke suite. The registry exists precisely so that does not happen.
Current state
The Cockpit renders in-process. No capability serves the aggregate graph.
Desired state
One declared capability serves the graph, documented and benchmarked like the rest, with the runtime state layered over the definitions rather than mixed into them.
Scope
- apps/majordomus-cli/src/capability/builtin/graph.rs
Out of scope
- A route registered outside the capability registry
- Runtime state stored in the same structure as the definitions
Dependencies
What waits on this
- I1008BLOCKED The two projections are proved to be the same model
- I1017BLOCKED Live state is an overlay that degrades to nothing
Acceptance criteria
- The operation is one capability declaration and appears in the API, the OpenAPI document, the reference and the benchmark coverage without a second registration
- The response is typed and carries safe fields only
- Runtime state is an overlay over the definitions, distinguishable in the response
- A test exercises the operation against a running server rather than a mock
Validation
- cargo test --workspace --all-features
- majordomus generate --check
Evidence required
- capability_declared
- runtime_overlay
Evidence
None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.
Risk
Serving the whole graph on every Cockpit load is a cost on the hot path. It is measured, and paged or filtered if the measurement says so.
Timeline
- started
- —
- verified
- —
- completed
- —
Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.
Canonical record: .ai/repo/project/issues/I1006.yaml. Read it back with majordomus plan show I1006.