Skip to content

Commit 046c8d3

Browse files
committed
Phase 5 Closed — semantic outcome lock documented
1 parent 1ac65d9 commit 046c8d3

2 files changed

Lines changed: 10 additions & 6 deletions

File tree

docs/governance/INVARIANTS.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,3 +178,5 @@ This file declares the governance anchor; enforcement logic will be implemented
178178
- `DIAGNOSTIC_ONLY` outcome MUST NOT contain `BLOCKER` or `REFUSAL` items.
179179
- Enforcement: These invariants are enforced by code-level assertions inside `finalize_checklist` and protected by deterministic, unit-tested behavior.
180180

181+
- Semantic Outcome Lock: The canonical semantics (primary outcome derivation, item roles, and invariants) are locked under Phase 5 and may not be altered except via an explicit governance phase update. Changes to semantic meaning require a recorded governance decision and a corresponding implementation phase.
182+

docs/governance/decision_log.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -109,10 +109,12 @@ Authoritative decisions made on 2025-12-13 (Phase 13 kickoff). All decisions rec
109109
- Rationale: Provide an auditable stop condition and an authoritative code-level guard to prevent emission regressions.
110110

111111

112-
## Phase 5 In Progress — Semantic Lock
112+
## Phase 5 Closed — Semantic Meaning Locked
113113
- Decision: RECORD
114-
- Summary (facts-only): Phase 5 work has begun to lock checklist semantics: derive a single canonical `primary_outcome` and assign a single, deterministic `role` to each checklist item. These semantics are enforced by in-code assertions and deterministic tests.
115-
- Next steps:
116-
- Implement primary outcome derivation and role normalization (in progress).
117-
- Add semantic invariants and tests to ensure regression protection.
118-
- Finalize Phase 5 and close with an authoritative decision entry when all invariants and tests are complete.
114+
- Summary (facts-only): Phase 5 (Semantic Lock) is complete. Checklist semantics are locked: a single canonical `primary_outcome` is derived for every run, every checklist item is assigned a single deterministic `role`, and semantic invariants are enforced by code-level assertions and deterministic tests.
115+
- Explicit state:
116+
- Primary outcome precedence (REFUSAL > BLOCKED > DIAGNOSTIC_ONLY > SUCCESS) is implemented and tested.
117+
- Deterministic `PRIMARY_CAUSE` selection with lexicographic gate tie-break and earliest occurrence as a final tie-break is implemented and tested.
118+
- Semantic stability assertion added to ensure deterministic, byte-stable output for identical inputs.
119+
- No persona, schema, or gate-ID changes were made; all logic was centralized in `finalize_checklist`.
120+
- Rationale: Lock semantic meanings to prevent regressions and ensure deterministic artifact semantics; changes to semantics require governance approval and a new implementation phase.

0 commit comments

Comments
 (0)