I3274 — A new campaign revision reports only the criteria whose source requirement changed
Diff two revisions by segment digest (added, removed, modified as a removed digest paired with an added one at the same location) and report the criteria citing a removed or replaced digest; a rename or reorder moves no digest and reports nothing. The report changes no stored or derived state.
BLOCKED wave 7 · p3 · implementation profile · parallel safe
Blocked. This issue cannot start until I3273, milestone:intent-intake are done. The status is derived from that, not declared.
Objective
Diff two revisions by segment digest (added, removed, modified as a removed digest paired with an added one at the same location) and report the criteria citing a removed or replaced digest; a rename or reorder moves no digest and reports nothing. The report changes no stored or derived state.
Why
2026-10-10: preserve completed history and avoid duplicate work on a revised pack. Proposed in ADR 0194 (An ingested brief is an intake revision, and its requirements are reconciled into the existing plan) (proposed; it carries no authority until the owner accepts it). Sources: chatgpt-majordomus:c210#4.
Current state
No revisions exist.
Desired state
The diff is derived; nothing reopens on wording-only change.
Scope
- apps/majordomus-cli/src/intent.rs
- apps/majordomus-cli/src/capability/builtin/intents.rs
- apps/majordomus-cli/src/commands/intent.rs
- apps/majordomus-cli/src/lib.rs
Dependencies
Acceptance criteria
- A modified requirement reports exactly its derived criteria
- A reordered document reports none
- Reopening is a report only: it lists the criteria whose source segment digest was removed or replaced and changes no stored or derived state. A criterion's state stays derived from evidence (IntentEvidenceState)
- A modified segment is a removed digest paired with an added one at the same location, and the report names the criteria citing the removed digest
- Renaming a heading or reordering items moves no segment digest, and the report is empty for the fixture's renamed revision
Validation
- majordomus plan validate
- majordomus intent validate
Evidence required
- test_a_revision_reopens_only_its_change
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/I3274.yaml. Read it back with majordomus plan show I3274.