DC-EPOCH-05
DC derived enforcedEpoch N+1 validation and leadership may NOT observe epoch-N seed inputs (S3f-4b). The active epoch view is a
ONE-WAY ActiveEpochView transition: Seed (the recovered seed view is authoritative) -> Promoted(view) (the
bound N+1 view is authoritative). There is NO config that selects between them -- the activation predicate is
the gate, not a flag. ActiveEpochView::promoted() is Some ONLY after a promotion, so N+1 leadership reading
it can NEVER observe the seed inputs as if they were the N+1 view; before promotion it is None (the seed is
authoritative on its own seed-epoch path). A re-promotion with the SAME view is idempotent; with a DIFFERENT
view it is the terminal EpochViewActivationConflict (never a silent swap).
- Source
docs/clusters/EPOCH-CONSENSUS-VIEW/SLICE-3f4-activation-flip.md (S3f-4b); user directive 2026-06-21 (no runtime flag; promoted view fully replaces the seed view)
- Introduced in
- EPOCH-CONSENSUS-VIEW-S3f-4b
Enforcement trace
Tests 3
- active_view_one_way_promote_and_idempotence
- active_view_conflicting_promotion_is_terminal
- seed_exposes_no_n1_view_until_promotion
Cross-references
Attack rationale
N+1 must never run on the stale seed view: the active view is one-way (no path back to Seed once Promoted) and exposes the N+1 view ONLY via promoted() which is Some solely after a promotion -- so there is no 'choose old or new by config' state and no fallback. A differing re-promotion is a terminal conflict, not a silent overwrite (no two-view ambiguity). The promotion is atomic (a single enum replace), so a reader sees either the seed or the fully-published promoted view, never a partial.
Evidence notes
Introduced at EPOCH-CONSENSUS-VIEW S3f-4b (2026-06-21). The CONTAINER semantics only -- 3 hermetic tests + the gate. cargo test -p ade_node --lib (epoch_activation 5) green. The LIVE leadership read (promoted view replaces the seed view at the wall) is S3f-4d, gated on the live proofs. Next: S3f-4c (durable-before-visible + replay application + crash recovery), then S3f-4d.