Invariants / DC-NODE-27

DC-NODE-27

DC derived enforced

Rollback+reselection replay-equivalence (rung-2). The ordered live receive-event sequence (RollForward headers, RollBackward points, body deliveries) replayed against the same bootstrap anchor + durable log produces a BYTE-IDENTICAL durable tip + ledger fingerprint + PraosChainDepState -- INCLUDING any rollback+reselection. A live rollback is recorded durably (append-only, canonical bytes -- CN-WAL-01) such that replay re-invokes the SAME materialize / reducer authority (CN-STORE-07 / DC-CONS-20) at that point; the durable record is NOT a second rollback implementation. No implicit live-only rollback: a rollback that happened live MUST be reproducible on recovery (T-REC-03/05, DC-CONS-06/22). OQ-1 RESOLVED -> A (the version-gated WalEntry::RollBack marker re-invoking the existing rollback / materialize authority on replay; option B WAL-tail reconciliation rejected); enforced when the AI-S1 BLUE foundation + replay-equivalence land.

Source

docs/planning/phase4-n-ai-live-fork-choice-invariants.md (section 4, OQ-1)

Introduced in
PHASE4-N-AI

Enforcement trace

Tests 4

  • apply_rolledback_replays_byte_identical_recovers_forkpoint
  • replay_with_rollback_recovers_selected_not_abandoned
  • replay_with_rollback_two_runs_byte_identical
  • rollback_replay_reanchor_fp_equals_materialized_fp

Cross-references

Strengthened in