This is a point-in-time record of the week of 2026-07-20 to 2026-07-26. It was written from the repository's history for that week and is not revised afterwards, so later pages may supersede what it says.
Week of 2026-07-20 to 2026-07-26
Window: 2026-07-20 00:00:00 to 2026-07-26 23:59:59, local author time Recapped: 2026-08-24 Commits in window: 30 (24 non-merge, 6 merges)
This is a backfill written 29 days after the window closed. The week's work was unusually concentrated: one production correctness defect was diagnosed, fixed, briefly reverted after an over-broad detector, reapplied safely and cleaned up; in parallel, the first production-scale Iceberg shadow build turned an apparent SQL failure into a carefully instrumented memory investigation.
What shipped
Plan 125 — production scale invalidates the easy explanation
Plan 125 aims to make
Iceberg the canonical analytics layer rather than a sidecar export. Gate C's
first VM-scale shadow build proved int_latest_observation on 258,374 rows but
OOMed on the 38.6-million-row observation fingerprints; the subsequent SQL
error was reproduced as damaged post-OOM session state, not a second dialect
defect.
The week then built a scale harness, measured the snapshot and production data
shapes, disproved its own first synthetic treatment as roughly four times too
wide, and found that a shape-faithful 1 GiB run still passed. Production
fan-out and duplicate rates were higher than the fixture, but bounded and not
enough to explain the failure. An instrumented replay finally captured the OOM
inside the listing-history window path and corrected a classifier that had
mislabelled it as an Iceberg write failure. The twelve commits were 076344a,
1a2bc82, b4c5890, cd989e0, 23f2e36, 4485e9c, be58c0a, e3cb8e2,
92ff37e, 7a5c76c, c4cbe17 and b168668.
Plan 128 — challenge pages must not count as successful observations
Plan 128 began from live evidence that genuine Cloudflare challenge pages were parsed as active listings. That refreshed freshness, cleared the cooldown the scraper had just set, defeated exponential backoff and inflated cooldown gauges.
Phase 1 added challenge detection and Phase 2 added explicit cleared events.
The first detector used a Cloudflare marker present on every valid page, so its
merge was reverted and reapplied with a safety gate: real initial activity data
always wins, and challenge detection is considered only when that data is
absent. A real three-page corpus now holds the distinction.
Cleanup added stuck-processing reaping, delisted-cooldown eviction and cohort
reconciliation. Production exposed two more misses—the dbt accepted-values
test omitted cleared, and old processing rows whose events had already
flushed were invisible—both fixed with fixture coverage. The final audit found
at most 21 corrupted listings out of 52,884, all self-healing, so no destructive
repair was justified. The twelve commits were a588ccf, da520ec, c043440,
34de1b8, 5943d9a, a360934, 1903e7c, aa8f5e1, e6b7bbc, 4b1cbf3,
ec7ebed and 0fba488.
What moved between states
Three index revisions occurred. Only one net state changed:
| Plan | Before | After |
|---|---|---|
| 128 | absent | build order |
Plan 125 stayed in build order while its evidence changed substantially.
What is still owed
- Plan 125's OOM was reproduced and localized, but the correct production heap size and final treatment were not decided. The evidence explicitly rejected sizing from the unrepresentative synthetic failure.
- Plan 125 still had no merged Spark/Iceberg CI coverage after the previous week's cold-fixture failure, and no production reader cutover.
- Plan 128 deliberately chose no one-time freshness repair. Its audit required reopening only if the affected population remained non-trivial after July 27.
- Plan 128's document still said
Draftat the end of the window even though all four phases had shipped; the recap records that mismatch but does not change planning state.
Unattributed commits
None. All 24 non-merge commits name Plan 125 or Plan 128 in their own subject.
Merges
Six merges are named and not recapped as separate work.
| Merge | PR | Branch |
|---|---|---|
316cea7 |
#179 | plan-128-false-block-detection |
b09069a |
#180 | plan-128-fix-challenge-detection |
39b54f1 |
#181 | plan-128-cleanup |
603a66f |
#182 | plan-128-cleanup-reap-fix |
db22698 |
#183 | plan-128-phase4-resolution |
7bcd922 |
— | origin/master into feature/plan-125-portability-audit |
Deferred to the next recap
211 commits sit after this window's end as of 2026-08-24.
git rev-list --count --all --since='2026-07-26 23:59:59' # 211
That raw tail includes the already-covered weeks ending August 2, 9, 16 and 23. None of the following complete weeks is genuinely uncovered.