Skip to content

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

Part of intent-intake — A received brief is a campaign revision whose requirements are reconciled into the one plan.

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.

Searches the titles and descriptions of every page this site publishes.