I3427 — Every entity read names how its record says it is known, and never answers verified itself: proof stays the pointer it is
Add an epistemic field holding class and basis to EntityView. One pure function in apps/majordomus-cli/src/entity.rs reads it from the record's own fields. A candidate or proposed status gives proposed. A superseded status or superseded_by gives superseded. Knowledge epistemics inferred gives inferred, and a generated projection gives derived. Anything else is observed. The function never computes verified: an object with a proof keeps the existing ProofRef pointer (entity.rs:181-185), and a surface shows verified only from that capability's answer. docs/SURFACES.md states the vocabulary once, with each older vocabulary's mapping, as the proposed ADR decides.
BLOKOVÁNO vlna 0 · p1 · profil implementation · bezpečné souběžně
Blocked. This issue cannot start until milestone:an-entity-says-how-it-is-known-and-what-it-affects is done. The status is derived from that, not declared.
Cíl
Add an epistemic field holding class and basis to EntityView. One pure function in apps/majordomus-cli/src/entity.rs reads it from the record's own fields. A candidate or proposed status gives proposed. A superseded status or superseded_by gives superseded. Knowledge epistemics inferred gives inferred, and a generated projection gives derived. Anything else is observed. The function never computes verified: an object with a proof keeps the existing ProofRef pointer (entity.rs:181-185), and a surface shows verified only from that capability's answer. docs/SURFACES.md states the vocabulary once, with each older vocabulary's mapping, as the proposed ADR decides.
Proč
The owner's 2026-10-19 Cognitive Fabric pack asks every surface to show one epistemic classification per entity, and forbids a model output from promoting an inferred claim to verified (campaigns/prismatic-way-cognitive-fabric-prompt-pack/prompts/05_SURFACES.md, contracts/ARCHITECTURE.md).
Aktuální stav
EntityView (apps/majordomus-cli/src/capability/builtin/entity.rs:395-435) has no class field. Its EvidenceState of unclaimed, dangling or resolved (entity.rs:140-151) says that artefacts exist, never that they ran. The module answers proof by pointer, 'a pointer, never an answer' (entity.rs:181-185). The other vocabularies are IntentLinkProvenance (intent_realization.rs:77-101), FieldProvenance (devtask/mod.rs:93-125), knowledge epistemics (docs/KNOWLEDGE.md:30; knowledge_base.rs:141,441) with superseded_by (knowledge_base.rs:457), and ProofState (evidence/mod.rs).
Cílový stav
entity.show answers the class and its basis on every surface from one capability. Verified is visible only where the proof capability answers it.
Rozsah
- apps/majordomus-cli/src/capability/builtin/entity.rs
- apps/majordomus-cli/src/entity.rs
- docs/SURFACES.md
- docs/generated/registry.json
- docs/generated/registry.yaml
- docs/generated/openapi.json
- docs/generated/openapi.yaml
- docs/generated/modules/entity.md
- site/data/generated/openapi.json
- site/data/registry/registry.json
Mimo rozsah
- Renaming or removing the older vocabularies
- Reading crate::evidence or running a proof inside entity.show
- Any model or advisor call
- A confidence score
Závislosti
Žádné. Tento úkol je kořenem grafu.
Co na tom čeká
- I3407BLOCKED What a set of paths affects in the plan is derived from the index: the issues whose scope covers them, what those issues serve and their incoming edges, each with its relation, and nothing is rescanned
- 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
- I3429BLOCKED One entity reads the same on the command line, REST, MCP and the Cockpit: identity, kind, class, evidence, observation envelope and edge order
- I3430BLOCKED The IDD standing panel and the Cockpit intent page show, under each criterion, the knowledge that bears on it, each with how it is known
Kritéria přijetí
- A candidate knowledge record reads proposed, a record with superseded_by reads superseded, a record with epistemics inferred reads inferred, and a tracked record with no other basis reads observed, each with a basis naming its source field
- No object reads verified from entity.show; a fixture supported only by an advisor reading stays inferred
- The class is identical across two runs over the same tree
- bin/majordomus-cli generate --check passes with no projection edited by hand
Validace
- cargo test --manifest-path apps/majordomus-cli/Cargo.toml --lib capability::builtin::entity
- bin/majordomus-cli generate --check
- majordomus plan validate
Požadované důkazy
- entity_epistemic_class
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/I3427.yaml. Read it back with majordomus plan show I3427.