Files
consensus/core
zeekay 0efbb32c31 consensus(router): NumOps sentinel — single source of truth for the op space
The α-of-K finality wedge (node v1.30.65 fix) was a half-finished rename:
router.Gossip=11 existed but the node op table (message.ToConsensusOp) never
mapped GossipOp to it, so every inbound vote was dropped as "unhandled message
op" before reaching the engine. The two op tables could silently diverge with
nothing to catch it.

Add NumOps as the trailing count of router ops — the one authoritative op-space
size. Node-side routing is now asserted (node message/ops_test.go) to be a
bijection onto [0, NumOps): a router op added without a node mapping fails the
alignment test instead of wedging finality. Additive, append-only; wire values
of all existing ops unchanged (NumOps is not a wire op). VerifyWeighted / cert
gate untouched.
2026-06-25 21:59:45 -07:00
..
2025-12-12 17:00:55 -08:00
2025-11-06 02:36:49 -08:00
2025-12-12 17:00:55 -08:00