mirror of
https://github.com/luxfi/consensus.git
synced 2026-09-24 00:26:58 +00:00
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]>