Commit 8d55bcb
committed
Refuse to overwrite the audit trail with whatever the API still remembers
analytics/runs returned 150 runs on 2026-09-07. Paginated identically with the
same credential on 2026-09-09, it returned 2, both from that morning. The 150
executions of 09-06/07 are gone from the API. Nothing in the response says so:
no retention field, no truncation flag, no total, and pagination terminates
normally, so exhaustion and expiry are indistinguishable.
audit.mjs regenerated in place, which is what its own file header told you to do.
Running it today silently replaced the 150-row ledger with a 1-row one and exited
0. That happened here; the file came back because it was committed. A shrinking
rewrite is now a refusal that names both counts and points at the explorer, and
--prune exists for when the loss is genuinely intended.
The evidence itself does not depend on the endpoint. Every row carries a
transaction hash and those are on Sepolia permanently. What the endpoint owns is
convenience, and it turns out not to own durability.
A second-order effect worth stating: a failed run has no transactionHashes, so it
contributes no row at all. The losing half of this morning's deliberate race,
yhak2pfniragtz0x8we15 / Error(GS026), is invisible in the receipts even while
still inside the retention window. The ledger that records what executed
structurally cannot record what did not - which is the argument for
docs/outcomes-*.jsonl in one sentence, arrived at from the opposite direction.
Filed as DX-8. Also corrected: 80 -> 87 tests in the submission description, the
third stale count of the day.1 parent 75c48ab commit 8d55bcb
3 files changed
Lines changed: 70 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
284 | 284 | | |
285 | 285 | | |
286 | 286 | | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
214 | 214 | | |
215 | 215 | | |
216 | 216 | | |
217 | | - | |
218 | | - | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
219 | 223 | | |
220 | 224 | | |
221 | 225 | | |
| |||
462 | 466 | | |
463 | 467 | | |
464 | 468 | | |
465 | | - | |
| 469 | + | |
466 | 470 | | |
467 | 471 | | |
468 | 472 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
25 | 26 | | |
26 | 27 | | |
27 | 28 | | |
| |||
118 | 119 | | |
119 | 120 | | |
120 | 121 | | |
121 | | - | |
122 | | - | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
123 | 151 | | |
124 | 152 | | |
125 | 153 | | |
| |||
0 commit comments