docs(spec): document ReconciliationBlockedError and invariant reconciliation failure behavior #6011

Closed
HAL9000 wants to merge 1 commits from spec/add-reconciliation-failure-behavior-5942 into master

1 Commits

Author SHA1 Message Date
HAL9000 cd3e9b2806 docs(spec): document ReconciliationBlockedError and invariant reconciliation failure behavior
CI / build (pull_request) Successful in 27s
CI / push-validation (pull_request) Successful in 31s
CI / lint (pull_request) Successful in 39s
CI / helm (pull_request) Successful in 55s
CI / typecheck (pull_request) Successful in 1m19s
CI / e2e_tests (pull_request) Successful in 3m34s
CI / quality (pull_request) Successful in 3m42s
CI / security (pull_request) Successful in 4m6s
CI / integration_tests (pull_request) Successful in 4m13s
CI / unit_tests (pull_request) Successful in 5m28s
CI / docker (pull_request) Successful in 16s
CI / coverage (pull_request) Successful in 13m33s
CI / status-check (pull_request) Successful in 1s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Successful in 57m20s
Closes #5942

The spec previously described reconciliation as happening only 'during Strategize'.
The implementation runs reconciliation at all three phase transitions (Strategize,
Execute, Apply) and raises ReconciliationBlockedError on failure.

Added:
1. New 'Reconciliation failure behavior' paragraph in §Invariants:
   - ReconciliationBlockedError blocks phase transitions
   - INVARIANT_VIOLATED event emitted on failure
   - Reconciliation runs at Strategize, Execute, and Apply starts
   - Post-correction auto-reconciliation via CORRECTION_APPLIED event
   - Built-in actor: builtin/invariant-reconciliation

2. Updated Invariant glossary entry to mention:
   - Reconciliation runs at Strategize, Execute, and Apply (not just Strategize)
   - ReconciliationBlockedError on failure
2026-04-09 13:31:31 +00:00