I3425 — A standing conclusion is reused only while the files it cites are unchanged since it was recorded
Before reusing a prior conclusion on the same subject, compare each file evidence reference it cites, at the conclusion's recorded head, with the current tree, and check an optional declared age window. When a cited file has changed or the window has passed, plan review again and name the evidence that moved.
BLOCKED wave 4 · p2 · implementation profile · parallel safe
Blocked. This issue cannot start until I3423, milestone:an-inference-names-its-source-and-budget are done. The status is derived from that, not declared.
Objective
Before reusing a prior conclusion on the same subject, compare each file evidence reference it cites, at the conclusion's recorded head, with the current tree, and check an optional declared age window. When a cited file has changed or the window has passed, plan review again and name the evidence that moved.
Why
The owner's 2026-10-19 Cognitive Fabric pack allows identical reasoning to be cached only within safe scopes and explicit validity windows (campaigns/prismatic-way-cognitive-fabric-prompt-pack/prompts/04_REASONING_MESH.md).
Current state
prior_on_subject (apps/majordomus-cli/src/reasoning/store.rs:446-497) matches subjects after folding whitespace and case. The policy reuses the conclusion unless the caller declares new_evidence (policy.rs:408-419). The envelope keeps head (record.rs:925) and evidence references (record.rs:123-130), and neither is used for validity.
Desired state
The reuse outcome carries the head it validated against. A changed cited file yields a consult or local-review plan with reason evidence_changed, naming the file. An unchanged tree behaves as today.
Scope
- apps/majordomus-cli/src/reasoning/policy.rs
- apps/majordomus-cli/src/reasoning/store.rs
- apps/majordomus-cli/src/capability/builtin/reasoning.rs
- docs/REASONING.md
Out of scope
- Hashing non-file evidence
- Expiring records from the store
Dependencies
What waits on this
Acceptance criteria
- With the cited files unchanged, the plan reuses as today
- With a cited file changed since the conclusion's head, the plan does not reuse and names the file
- A conclusion older than a declared window is not reused, and the plan says so
Validation
- cargo test --manifest-path apps/majordomus-cli/Cargo.toml --lib reasoning
- bash test/run.sh 734_reasoning_survives_the_session
Evidence required
- a_conclusion_whose_evidence_moved_is_not_reused
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/I3425.yaml. Read it back with majordomus plan show I3425.