B.8 Make Cause Travel with Consequence
Problem. After work propagates through commits, generated artifacts, and transformations, the final state may preserve what changed while losing why it changed. Reconstructing causation afterward is expensive and often ambiguous.
Move. Capture provenance at the causal event and carry it forward with the resulting change. Where possible, check it for completeness so missing links are detected.
Figure B.8-1 follows the identity from cause to consequence.
Example — Agent changes. When an agent makes a change, the environment records a typed caused-by relation to the originating task or reason and requires that relation at commit. The reason is recorded at the causal event rather than inferred later from the diff.
Example — Artifact remediation. Document mutation uses a different carrier. Individual mutators stamp their changes, and tooling reconstructs a changelog from those stamps. A wiring lint fails when a sanctioned mutation verb lacks attribution. Provenance completeness becomes a build-enforced invariant rather than a convention.
Related mechanisms: Caused-by provenance · Per-mutator attribution stamps · Derive-changelog · The a11y_ inserted-artifact convention · F10 mutator-stamp-wiring lint.