Commit Graph

26 Commits

Author SHA1 Message Date
Nicholas Dudfield
db4e73647e test(harness): sample pending exports before isolate; read gap on validators
Codex B4: current observer validatedLedgerWork after isolate/flush, not
combined with post-flush pending-origin state. Gap witness is taken from
a live validator while the observer is down. Restart stays before the
stale deadline; catch-up runs past it. Peer metadata matches by origin.
2026-09-18 20:02:14 +07:00
Nicholas Dudfield
199267c550 fix(test): close observerRestartAcrossExport before run() 2026-09-18 19:48:21 +07:00
Nicholas Dudfield
1f602e1654 test(harness): count current lagged jobs; restart observer before stale work
laggedPendingJobCount is per-node/name and drops when the job runs.
B4 now checks that count after isolate/flush, restarts before the old
deadline, and requires a witness created while the observer was down.
2026-09-18 19:46:20 +07:00
Nicholas Dudfield
a14c4617b9 test(consensus): lag observer process-tier jobs for restart coverage
Named plus process-tier lag so validatedLedgerWork is actually queued as
lagged. Pre-stop evidence is diagnostics plus pending Export latches.
2026-09-18 19:40:22 +07:00
Nicholas Dudfield
293b946941 test(consensus): detect lagged validatedLedgerWork at enqueue
observeJobs only fires at run time after the 20s lag. Use jobDiagnostics
queued:lagged plus pending Export latches as the pre-stop work evidence.
2026-09-18 19:36:05 +07:00
Nicholas Dudfield
7e73ee52c3 test(consensus): restart keyless observer across Export-bearing history
Delay observer validatedLedgerWork until Export work is queued, isolate
and stop it while validators continue, then restart/reconnect. Old
scheduled actions must not run past the lag horizon; the replacement
stays keyless and acquires the witness history.
2026-09-18 19:33:44 +07:00
Nicholas Dudfield
fd8bf78558 test(consensus): fail-closed sidecar leaf oracle; clear observeJobs
Parse errors, wrong sidecar type, missing identity fields, or duplicate
committee positions abort the candidate count. Clear the job observer
after the passive phase.
2026-09-18 19:24:57 +07:00
Nicholas Dudfield
f20e574c5d test(consensus): drop v2 B shares on every path to the observer
Relay from 0/1 was filling B to qC. Filter v2-signed B on all inbound
observer frames. Do not require the observer to locally build A's witness.
2026-09-18 19:19:40 +07:00
Nicholas Dudfield
7c133e5431 fix(test): drop unused lambda captures in candidate-inclusion case 2026-09-18 19:14:17 +07:00
Nicholas Dudfield
065b1ef674 fix(test): drop missing SerialIter header from DSF candidate case 2026-09-18 19:13:00 +07:00
Nicholas Dudfield
d59ee6fdd7 test(consensus): include incomplete origin in the global Export candidate
Origin A uses committee {0,1} (qC=2); B uses {0,1,2} (qC=3). Drop only
validator 2's B frames toward the observer. At a real job boundary the
observer's existing sidecar map must show A=2 and B below qC. Validators
may still witness B; the observer may acquire.
2026-09-18 19:12:24 +07:00
Nicholas Dudfield
039473afa9 test(consensus): remove incomplete-origin case after mixed-frame proof
Whole-frame drop of starved-carrying frames also starves complete
origins from those validators. Exclusive drops leave proposal-carried
shares filling qC. Obstacle, not a new transport selector.
2026-09-18 18:45:33 +07:00
Nicholas Dudfield
db2e7c78bd test(consensus): drop incomplete-origin case; mixed-frame obstacle
Whole-frame drop of starved-carrying proposals/direct batches also
removes complete origins' material from those validators. Exclusive
drops leave proposal-carried shares filling qC. Cannot isolate one
origin below qC without stripping signed fields.
2026-09-18 18:42:59 +07:00
Nicholas Dudfield
63ca4fe628 test(consensus): keep one Export origin below committee quorum
Drop validators 1-2 whole frames that carry the starved origin. Mid-run
asserts the collector holds it below qC with no witness; complete origins
still emit once. Heal then check no repeated or unexpected witnesses.
2026-09-18 18:39:36 +07:00
Nicholas Dudfield
d21d137d12 test(consensus): prove share arrival inversion and tighten origin oracle
B1 records send/receive batch identities and requires a real inversion.
B3 scans every ledger, compares witness bytes/metadata across nodes, and
requires the observer locally built those ledgers. Below-qC stays open.
2026-09-18 18:31:20 +07:00
Nicholas Dudfield
ab36bfa652 test(consensus): make share reorder deterministic; drop below-qC starve
Delay by sender id toward the observer so even frames overtake node 0
without a global counter. Overlapping origins keep three distinct
witnesses; below-qC isolation needs per-origin proposal surgery and is
left as a gap.
2026-09-18 18:22:01 +07:00
Nicholas Dudfield
eb9dde1a20 test(consensus): reorder Export frames and overlapping origins
B1 delays odd direct Export frames so even frames overtake them, with
an inversion counter. B3 submits two owners / three tickets and starves
one origin to one validator contribution. Three replays each. No
production changes.
2026-09-18 18:16:09 +07:00
Nicholas Dudfield
cb84483ef4 test(consensus): verify independent gates and validation-gated release 2026-09-18 17:56:16 +07:00
Nicholas Dudfield
8523036e54 test(consensus): verify missing-share acquisition without requiring a fork 2026-09-18 17:43:28 +07:00
Nicholas Dudfield
7ad88625df test(consensus): cover missing Export routes and duplicate traffic 2026-09-18 17:37:36 +07:00
Nicholas Dudfield
0ac6e23ae1 test(consensus): assert local extension builds before ledger catch-up 2026-09-18 17:19:38 +07:00
Nicholas Dudfield
b8f2f11376 test(consensus): drive late validator across the reveal deadline 2026-09-18 17:14:39 +07:00
Nicholas Dudfield
2b48abc924 test(consensus): keep fault captures compatible with older Clang 2026-09-18 17:09:29 +07:00
Nicholas Dudfield
95233b8dc4 test(consensus): exercise real share loss and lagged extension nodes 2026-09-18 17:08:30 +07:00
Nicholas Dudfield
9f9748f3fe test(consensus): warm extension fixture through a complete reporting window 2026-09-18 16:52:20 +07:00
Nicholas Dudfield
141815785b test(consensus): add real-node extension feature matrix 2026-09-18 16:35:29 +07:00