A typed caused-by field, minted at the cause and gated at commit, threads a change to its reason.

Caused-by provenance (agent-side change traceability)

Intent — When an agent-driven change alters system state, you must be able to trace it back to the reason that caused it, drawn from a closed taxonomy of causes, enforced by asserting a typed caused-by field at the commit gate. Upgrade correlation to causation wherever the cause is known at the moment of action (carry it with the dispatch); accept a labeled _proxy only where no artifact can hold the cause. Never reward a particular rate; the trace exists to explain, not to be optimized (our instance: a caused-by: epic:<id> | reflection:<fire_id> | ad-hoc field asserted by the code-agent pre-commit hook).

SummaryA typed caused-by field, minted at the cause and gated at commit, threads a change to its reason.
TargetAgent · Lifecycle & observability
Formaudit-trail
EnforcementHard (deterministic) — the pre-commit hook asserts the typed field is present and names a taxonomy value. Soft·Hard split: the taxonomy value is the agent's choice (soft); its presence is gated (hard); the _proxy suffix on an inferred cause is the honesty-by-construction half

Motivation — the failure it kills

The failure is the un-warranted change: a landed diff whose reason survives only as tribal knowledge. When the fleet does something surprising, RCA of "why did we do this?" becomes guesswork: the diff shows what changed, never what caused the fleet to change it. Two costs follow:

Why it's not just an issue link, a stamp, a yield query, or a trailer

Four adjacent things each carry part of this, and each falls short on a different axis.

Mechanism

Prerequisites

Consequences & costs

Known uses

Related mechanisms