I2672 — The offers and the selection are one read, projected to CLI, MCP, HTTP and OpenAPI
Declare the read once with capability! so that every surface answers the same offers, the same choice and the same reason.
BLOCKED wave 1 · p1 · implementation profile · runs alone
Part of development-runtime — The runtime has a development surface.
Blocked. This issue cannot start until I2670 is done. The status is derived from that, not declared.
Objective
Declare the read once with capability! so that every surface answers the same offers, the same choice and the same reason.
Why
The owner, 2026-10-13, with full clearance: set up MinIO, an sccache server and every mesh node, verified and validated. The cluster compiles the same Rust on every machine from a cold cache; two declared offload hosts were under their disk minimum that day. See ADR 0157.
Current state
Measured on master b29cf4e487 on 2026-10-13: mesh.status, mesh.nodes and mesh.peers exist; none of them answers what a node offers.
Desired state
mesh.build_cache answers offers, selection, rationale and the fallback taken; generated projections are current; no surface keeps a list of its own.
Scope
- apps/majordomus-cli/src/capability/builtin/mesh.rs
- docs/generated/
Out of scope
- The screen: I2675
Dependencies
What waits on this
- I2673BLOCKED The sccache client configuration is derived from the selected offer, local disk first
- I2675BLOCKED Build-cache health, headroom and hit statistics are visible where the mesh is
- I2677BLOCKED The build cache is documented, governed by a rule and described on the site and the Pages
Acceptance criteria
- The CLI, MCP tool and HTTP route answer identical content
- The OpenAPI document names the type and no secret field
- majordomus generate --check is clean
Validation
- bin/majordomus plan validate
- majordomus generate --check
Evidence required
- build_cache_read_projections
Evidence
None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.
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/I2672.yaml. Read it back with majordomus plan show I2672.