Commit Graph

15039 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
9c91253645 fix(test): expose laggedPendingJobCount on SteppingController 2026-09-18 19:47:32 +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
ad4736cd39 test(harness): isolate deferred callbacks and observe real job boundaries 2026-09-18 17:49:47 +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
fb40ace5a4 test(harness): select whole signed frames without mutating payloads 2026-09-18 17:33:08 +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
778b9fc35e test(harness): schedule real SQLite checkpoint work in long runs 2026-09-18 16:55:53 +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
Nicholas Dudfield
4325634c0f test(consensus): inject extension time and stepping-only entropy 2026-09-18 16:30:52 +07:00
Nicholas Dudfield
adfe7ac90f test(harness): account for validated-ledger callbacks in timeline snapshot
The N=3 target-4 trace gains two validatedLedgerWork events at 42.010s on nodes 0 and 1. Removing only those events reproduces the prior 330-event fingerprint exactly. Retain all replay, hash-agreement and weighted-pressure assertions.
2026-09-18 16:12:16 +07:00
Nicholas Dudfield
e863685125 test(harness): print event provenance when timeline canary changes 2026-09-18 16:09:50 +07:00
Nicholas Dudfield
ac86fa4083 fix(test): include LedgerMaster for queue isolation regression 2026-09-18 15:58:05 +07:00
Nicholas Dudfield
3a4af3266e test(harness): schedule Export receive and validated-ledger work 2026-09-18 15:50:41 +07:00
Nicholas Dudfield
ae8e6956ce fix(build): reconcile harness logging and send-hook signatures 2026-09-18 15:48:54 +07:00
Nicholas Dudfield
aa5a2783f4 Merge deterministic multi-application harness into feature-export-rng-dsf
Merge a992572b70; retain validator identity fields, phase locking, manual heartbeat control and extension polling. Share the send observation hook across immediate and delayed transport sends.
2026-09-18 15:46:32 +07:00
Nicholas Dudfield
a992572b70 test(harness): make pressure units and snapshot history explicit 2026-09-18 15:18:16 +07:00
Nicholas Dudfield
2d10eb40bd docs(test): clarify target pressure snapshot calibration 2026-09-18 14:52:31 +07:00
Nicholas Dudfield
09dd02acd3 test(harness): calibrate xahaud scenarios and verify backfilled history 2026-09-18 14:41:43 +07:00
Nicholas Dudfield
b0cc9b8082 test(overlay): port donor strand and simulated transport coverage 2026-09-18 14:09:44 +07:00
Nicholas Dudfield
bb927b82a8 fix(overlay): bound protobuf parsing to the current frame 2026-09-18 14:09:39 +07:00
Nicholas Dudfield
6df48eeebf fix(test): finish traffic suite api remaps 2026-09-18 14:01:21 +07:00
Nicholas Dudfield
f024a81169 fix(test): use xahaud csf scheduler method names 2026-09-18 13:59:52 +07:00
Nicholas Dudfield
730178bec8 test(consensus): port remaining deterministic and threaded scenarios 2026-09-18 13:50:35 +07:00
Nicholas Dudfield
318c0c6652 refactor(net): scope outbound http tls context to application 2026-09-18 13:49:58 +07:00
Nicholas Dudfield
318821df03 fix(test): classify xahaud acquisition and publication jobs 2026-09-18 13:40:54 +07:00
Nicholas Dudfield
6df644b050 fix(ledger): count publication as progress while running 2026-09-18 13:34:36 +07:00
Nicholas Dudfield
afe6dc534d fix(app): persist genesis successor state tree 2026-09-18 13:34:32 +07:00
Nicholas Dudfield
2658752d76 fix(test): preserve harness node store across restarts 2026-09-18 13:34:28 +07:00