Skip to main content

Deviations

A deviation is a recorded non-blocking event that ASF50 must account for. The deviation count is incremented and the event is preserved as part of the durable evidence.

What is a deviation

A deviation is any of:

  • A non-blocking audit finding that is acknowledged and not fixed in the current goal.
  • A retroactive reconciliation of a historical gate (e.g., the bounded PR15 reconciliation).
  • A bounded repair against a frozen surface.
  • A bounded PR/merge performed outside the canonical lifecycle (only when explicitly authorized as a repair).

A deviation is never:

  • A retroactive authorization for a destructive operation that already happened.
  • A bypass of the canonical lifecycle.
  • A way to silence an unresolved audit finding.

Where deviations are recorded

Deviations are recorded as evidence files in evidence/<GOAL_ID>/ and may be referenced by governance/audit/deviation_accounting.yaml in some goals. The orchestrator tracks current_cycle_deviation_count in the program controller.

PR15 historical transaction

The most notable historical deviation in ASF50's release history is PR #15. The Program Controller pins this deviation explicitly:

PR15_HISTORICAL_TRANSACTION = {
"pr_number": 15,
"github_repository": "Bee1xGroup/ASF50",
"merge_commit": "26ccd973e72dd3d800c0e23c4a78a4641f2ab9bd",
"historical_goal_id": "ASF50_PROGRAM_COMPLETION_001",
"current_cycle_deviation_count": 18,
"retroactive_authorization": False,
}

The PR15 envelope is durably preserved; the Program Controller will never silently drop it. The count is incremented when the controller observes new deviations.

No retroactive authorization

Deviations are forward-only. A deviation is acknowledged as it occurs, not retroactively. If you find a deviation after the fact, the correct response is:

  1. Open a bounded repair goal.
  2. Acknowledge the deviation in the repair's evidence.
  3. Increment the deviation count via the orchestrator.

You may not "authorize" the deviation retroactively by editing the deviation count or by writing a backdated evidence file. The runtime DB enforces this via the created_at timestamps and the receipt chain.