I3168 — An intent, milestone or issue cites the campaign that drove it, and a campaign answers which records cite it
Accept a campaign:<id>[/<path>] reference in the one provenance.derived_from of intent, milestone and issue records (ADR 0211), refuse a dangling one with the same finding in both plan engines, and derive the reverse relation on the campaign object.
BLOKOVÁNO vlna 1 · p2 · profil implementation · bezpečné paralelně
Part of campaigns-are-read-as-provenance — A prompt pack is a campaign the index serves and the plan cites.
Blocked. This issue cannot start until I3167 is done. The status is derived from that, not declared.
Cíl
Accept a campaign:<id>[/<path>] reference in the one provenance.derived_from of intent, milestone and issue records (ADR 0211), refuse a dangling one with the same finding in both plan engines, and derive the reverse relation on the campaign object.
Proč
Owner, 2026-10-13: intent <=> prompt pack <=> milestones/issues reflected everywhere; ADR 0124: a derived item links back to the revision and section that justified it. Proposed in ADR 0180 (A prompt pack is a campaign: kept as received, indexed as a kind, and cited by the records it drove) (proposed; it carries no authority until the owner accepts it). Sources: chatgpt-majordomus:c245#9.
Aktuální stav
No reference type; packs and records are joined by nobody; plan validate dispatches to the shell engine and case 99_plan_capabilities compares both engines' findings.
Cílový stav
Citations validated both ways.
Rozsah
- share/schemas/majordomus/intent
- share/schemas/majordomus/milestone
- share/schemas/majordomus/issue
- apps/majordomus-cli/src/plan.rs
- apps/majordomus-cli/src/graph.rs
Mimo rozsah
- The drag-and-drop upload view (ui-surfaces)
Závislosti
Co na tom čeká
- I3170BLOCKED An execution of a record that cites a campaign pins the revision it ran, and a later revision changes nothing about it
- I3275BLOCKED An intent's inspector shows the campaign segments it was derived from
Kritéria přijetí
- A dangling citation is refused
- The campaign lists citing records
- Each new case named here takes its number from `scripts/case-numbers next` and is announced on the board before the file is written (ADR 0053); a case number written in this record before that is provisional
Validace
- majordomus plan validate
- bash test/run.sh 99_plan_capabilities
Požadované důkazy
- case_record_cites_campaign
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/I3168.yaml. Read it back with majordomus plan show I3168.