I3429 — One entity reads the same on the command line, REST, MCP and the Cockpit: identity, kind, class, evidence, observation envelope and edge order
Extend the Cockpit integration test with one test that reads four surfaces for one entity of every kind the index holds: majordomus entity show as JSON, GET /api/v1/entity, majordomus_entity over MCP and the Cockpit entity page model. It compares uri, id, kind, epistemic class, evidence state, the observed envelope and the order of relations.
BLOKOVÁNO wave 2 · p2 · implementation profile · parallel safe
Blocked. This issue cannot start until I3427, I3428, milestone:an-entity-says-how-it-is-known-and-what-it-affects are done. The status is derived from that, not declared.
Cíl
Extend the Cockpit integration test with one test that reads four surfaces for one entity of every kind the index holds: majordomus entity show as JSON, GET /api/v1/entity, majordomus_entity over MCP and the Cockpit entity page model. It compares uri, id, kind, epistemic class, evidence state, the observed envelope and the order of relations.
Proč
The owner's 2026-10-19 Cognitive Fabric pack requires cross-surface tests asserting the same identity, classification, deterministic order and freshness semantics (campaigns/prismatic-way-cognitive-fabric-prompt-pack/prompts/05_SURFACES.md, and the verification/ACCEPTANCE.md row on CLI, API, MCP and UI).
Aktuální stav
tests/properties.rs compares MCP with HTTP for GET routes only, and never the command line (apps/majordomus-cli/tests/properties.rs:290-300). tests/cockpit.rs compares the Cockpit entity page with GET /api/v1/entity (apps/majordomus-cli/tests/cockpit.rs:187-245). No test covers entity.show on all four surfaces.
Cílový stav
A divergence in any compared field on any surface fails one named test.
Rozsah
- apps/majordomus-cli/tests/cockpit.rs
Mimo rozsah
- Extending the registry-wide property to writers (milestone surfaces-never-disagree)
- Comparing rendered HTML text
Závislosti
- I3427BLOCKED Every entity read names how its record says it is known, and never answers verified itself: proof stays the pointer it is
- I3428BLOCKED An entity read carries the observation envelope repository.info already answers, plus the blob of its file, and a change to that file moves both
Kritéria přijetí
- The test covers one entity of every kind entity.kinds reports
- Changing the class or the relation order on one surface in a fixture fails it, naming the surface and the field
- It runs without network and without the checkout's .ai/local
Validace
- cargo test --manifest-path apps/majordomus-cli/Cargo.toml --test cockpit
Požadované důkazy
- entity_surfaces_agree
Důkazy
Nic nezaznamenáno. Za každým tokenem výše musí stát příkaz nebo artefakt, než lze tento úkol dokončit; vyprávění se odmítá.
Časová osa
- zahájeno
- —
- ověřeno
- —
- dokončeno
- —
Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.
Canonical record: .ai/repo/project/issues/I3429.yaml. Read it back with majordomus plan show I3429.