Tasks: YU12-aeron-cluster
Spec and generationβ
- T-AC01 Create the full YU12 spec pack and generated architecture document.
- T-AC02 Add catalog, state-generation, render, runtime-harness, and state-wrapper entries.
- T-AC03 Generate YU12 from a clean target and verify every ancestor marker survives.
Clustered service coreβ
- T-AC04 Add the Aeron Cluster dependency aligned with the locked Aeron version.
- T-AC05 Host
MatchingEngine+ risk apply insideClusteredService.onSessionMessagewith the inherited SBE ingress decode. - T-AC06 Prove the single-member round-trip: cluster client offer β consensus log β match β committed output.
- T-AC07 Route time-driven behavior through cluster time /
onTimerEvent; audit state transitions for wall-clock, entropy, and cross-thread reads.
Snapshot completenessβ
- T-AC08 Serialize complete deterministic state in
onTakeSnapshot(book with terminal eviction order, generators, idempotency with retention order, risk policy/accounts/securities, positions, prices) and restore ononStart, persystem/snapshot-completeness-matrix.md. - T-AC09 Assert on load and promotion that every restored generator exceeds every ID ever issued; fail closed on violation.
- T-AC10 Prove snapshot β post-snapshot orders β restart β strict no-ID-reuse on the single-member cluster.
- T-AC11 Port the parent state's corruption/interrupted-install/term-change recovery matrix to the cluster snapshot path.
Three-member clusterβ
- T-AC12 StatefulSet member identity, headless discovery, per-pod PVCs, NetworkPolicy, and the dedicated kind profile for three members.
- T-AC13 Prove leader election, leader-kill re-election, and wiped-member rejoin via snapshot retrieval + log replay on kind (PROOF-yu12-kind-ha-2026-07-18.md).
- T-AC14 Prove the promoted recovered member passes the strict no-ID-reuse assertion live (0 REUSE across 2 failovers + empty-disk rejoin, kind).
Gateway and ingressβ
- T-AC15 Build the stateless-forward FIX/REST gateway on the cluster client with leader-follow re-pointing. Live-verified on kind: REST /orders + /orders/batch + /metrics, and a POST served through a live leader-kill (orderRef 8056 after electing a new leader).
- T-AC16 Prove counterparty FIX session survival across a leader change (FixGatewaySurvivalTest, in-process).
- T-AC17 Build the feed adapter sequencing conflated pricing/control ingress; remove every side-channel input path, including symbol-identity registration as sequenced ingress (matrix finding F2). Built; live NATS verification pending.
- T-AC18 Implement the split readiness contract (cluster state vs admission state).
Proofβ
- T-AC19 Keep inherited allocation gates exact-zero on the service thread;
noGcTestgreen. - T-AC20 Measure failover. GKE final (100ms/400ms/200ms timeouts): system-facing 653-716 ms idle, 724/778 ms under full flood (node-clock-precise crash instrument); client-facing best ~200 ms; off-plane proven across ~40 kills, 0 ID reuse everywhere. PROOF-yu12-gke-failover-2026-07-18.md.
- T-AC21 GKE comparison labelled
aeron-clusterRUN (user authorized GKE this session): pipelined gateway sustains 28,860-35,714 submits/s, 45,684-135,834 booked/s vs the 25,149 baseline; NFR-AC02 met and exceeded. Flood-hardening landed en route: bounded egress, output-ring backpressure drain (poison-pill deadlock class killed), gateway probe/heap, 60 s snapshots (measured), catch-up-gated readiness (rolling restarts safe). scripts/bench/results/gke-comparison.csv labelaeron-cluster-pipelined. - T-AC22 Evidence recorded in
generation/implementation-status.md(2026-07-19 GKE section).