Skip to content

I3170 — An execution of a record that cites a campaign pins the revision it ran, and a later revision changes nothing about it

Record the campaign id and revision digest on an execution whose input names an issue, milestone or intent citing that campaign, resolved at start and never changed afterwards, with no change to StartInput or the executions.start contract.

BLOCKED wave 2 · p3 · implementation profile · parallel safe

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 I3168 is done. The status is derived from that, not declared.

Objective

Record the campaign id and revision digest on an execution whose input names an issue, milestone or intent citing that campaign, resolved at start and never changed afterwards, with no change to StartInput or the executions.start contract.

Why

ADR 0124 point 1: an artifact revision is not an execution run; 2026-10-10: a revision must not silently mutate an in-flight worker's contract. 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:c210#4.

Current state

Executions (ADR 0033) carry no campaign.

Desired state

Pinned revision on the execution record.

Scope

  • apps/majordomus-cli/src/execution
  • apps/majordomus-cli/src/capability/builtin/executions.rs

Dependencies

Acceptance criteria

  • An execution names its campaign digest
  • A newer revision does not alter it

Validation

  • cargo test --manifest-path apps/majordomus-cli/Cargo.toml --lib execution::
  • cargo test --manifest-path apps/majordomus-cli/Cargo.toml --test executions

Evidence required

  • test_execution_pins_campaign

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/I3170.yaml. Read it back with majordomus plan show I3170.

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