Skip to content
EN · PT

Gate: plan-change-justified

The changed plan/spec records the revision that says why it changed.

Property Value
Checker plan-change-justified
Confronts plan spec
Blocking by default — new project yes
Blocking by default — existing project no — informs

Confronts a modified plan or spec against the declaration of its change: planning makes mistakes, and whoever implements discovers them — but fixing the plan silently makes the project walk towards a destination nobody chose.

Drift is the greatest risk, and it is SILENT by construction: no STATE gate can catch it, because the corrected plan or spec is perfectly valid — the inconsistency was removed. What exposes the defect is not the state of the file, but the UNJUSTIFIED CHANGE.

For this reason, this gate inspects the diff rather than just the content: any plan or spec that appears among the changed files must carry a declared revision (-R0001). Without it, the gate blocks. The ruler relies on the explicit judgment of whoever made the change:

  • An INNOCUOUS correction (wording, example, typo, an ambiguity with only one viable interpretation) — correct the text and register the sequential revision. The gate verifies that the revision exists.
  • A correction that CHANGES DIRECTION, or any doubt about whether it does — do not fix it in-place. Escalate via anchors escalate (anchors:needs-user), halting delivery of the card until a decision is made.

The gate separates silent drift from transparent adaptation: it does not judge whether a correction is innocuous or directional, but ensures that a human or agent made the conscious choice and recorded it in the document itself instead of letting drift happen by omission.

gates:
- name: plan-change-justified
on: [plan, spec]
check: plan-change-justified

Source: checker · its spec