Files
consensus/config
zeekayandHanzo Dev 4f09496454 engine/chain: finality ladder in the Lux ontology (Photon→Wave→Nova→Quasar→Horizon)
The four finality concepts as DISTINCT authorization tiers that never collapse, named
in our astrophysics ontology (no generic BFT / Cosmos vocabulary):

  Photon  in flight, being sampled          authorizes nothing
  Wave    the forming Nova preference        authorizes nothing
  Nova    beta-ignition, sampler accepts     authorizes LOCAL execution (reorgable)
  Quasar  2/3-stake certificate              authorizes bridges / DEX / cross-chain
  Horizon PQ-sealed, irreversible            authorizes irreversible settlement

finality.go: the Finality enum + AuthorizesLocalExecution/Export/IrreversibleSettlement
boundary methods (the anti-collapse invariant as code: a block below Quasar can never be
exported as deterministically final).

quorum.go: reconciled to the Nova tier ONLY — NovaQuorum(n)=floor(n/2)+1 (majority,
crash-tolerant, drives Nova ignition / local exec), CrashTolerance, NovaBeta. Deleted the
node-count CertQuorum/ByzantineTolerance I had added: the Quasar tier has exactly ONE
definition and it is config.TwoThirdsStakeFloor / EqualStakeSupermajorityThreshold (strict
>2/3 stake, distinct signers via QuorumCert.VerifyWeighted) — never re-expressed as a count.
TestNova_Below_Quasar proves the two tiers stay distinct (Nova majority < Quasar 2/3; n=5:
3 vs 4).

Removed the dead config.Parameters.ViewChange field (Phase A deleted everything that read
it) and its stale test assignments — no Tendermint vocabulary left in runtime config.

Whole-repo build + ladder/quorum tests green.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-10 01:17:22 -07:00
..