Outage notice — six daily prints never produced (2026-08-25 → 2026-08-30); test window paused
Notice date: 2026-08-31 (UTC) Class: gap of record + process notice. No methodology changes: no formula, panel, series or assessment is touched by this notice. No published value changes. Instrument: none individually — the daily edition itself. Every series that prints with the daily cycle has no values for the six dates below. Effective: 2026-08-31 — the resumption print. The gap dates themselves are records of absence, not of change.
1. What failed
From the 2026-08-25 cycle to the 2026-08-30 cycle, every scheduled Daily Scrape & Report run
failed at its test gate before a single scraper ran. Root cause, stated plainly: the test suite
that gates the scrape includes upload-lane tests that execute dashboard code under node and
require the dashboard's node dependencies (unpdf, mammoth), and the workflow never installed
them. The gate exited non-zero, the run stopped, nothing was collected, nothing was printed,
nothing was committed. Six cycles in a row.
The production site was unaffected in function — the deployed upload lane bundles its own dependencies — but froze at print No. 111 (2026-08-24), the last edition produced.
The fix is in the workflow, not the tests: the daily and nightly workflows now install the dashboard node dependencies before the gate. The tests stand unweakened — they gate real coverage, and they did exactly what a gate is for: they stopped the pipeline loudly instead of letting it print on an unverified path.
2. The six prints never produced
| Date | Would-be No. |
|---|---|
| 2026-08-25 | 112 |
| 2026-08-26 | 113 |
| 2026-08-27 | 114 |
| 2026-08-28 | 115 |
| 2026-08-29 | 116 |
| 2026-08-30 | 117 |
Nothing is backfilled — ever. A print of record is what the machine saw at print time;
first-sight custody makes a retroactive print impossible by design (the observations were never
collected, so there is nothing honest to print). The gap is itself data. Each date is filed as a
gap of record (reason code print_missing, the 2026-08-06 precedent) in the corrections
registry; /api/print/<date> for these dates answers 404 with the gap record attached, and the
archive lists only editions that exist.
3. Resumption and numbering (founder ruling)
The resumption print is No. 112, dated 2026-08-31 — its actual production date. The six dark days' numbers are never consumed: the issue sequence resumes directly after No. 111, so the numbered record remains an unbroken sequence of editions that actually exist. (This differs from the 2026-08-06 gap, where the date-derived number 93 was consumed by the missing date; from this notice forward the sequence counts editions, and a missing date consumes no number.)
4. The 60-day test window is paused (founder ruling)
The observation window (2026-07-25 anchor, 60 days) is paused for the six dark days: its end extends 2026-09-22 → 2026-09-28, and the masthead day counter resumes at Day 31 on 2026-08-31, directly after Day 30 (2026-08-24). Dark days do not consume window days — the window measures observation, and none occurred.
5. Internal checks reset against the outage, not against the restart
The six dates are declared as a dated break in the invariants' declared-break register
(data/methodology_breaks.json, the 2026-07-24 precedent mechanism) for the four volume-checked
tables. Volume baselines restart at the break; the continuity window is floored at it. Checks
scoped to the report date itself (freshness, the narration gate) are not relaxed — a real
absence on any restarted date remains a loud failure.
6. Where this is stated
- This notice, permalinked at
/standards/notices/2026-08-31-pipeline-outage-and-window-pause. - The gap records:
docs/corrections/2026-08-31-pipeline-outage-missing-prints.md, served inline by/api/printand listed at/standards/corrections. - The archive states the count of gap dates beside its edition count.