The two dated log sections had never been split, so every one of their 29 entries sat inline and the startup index had grown to 372 lines — which is the cost the two-tier scheme exists to remove, paid on every session that reads the file. 27 entries were over threshold. All 29 now have a detail file under persistent-memory.d/ and a one-line index entry that routes rather than restates. Index: 372 -> 93 lines. No archival. The soft cap fired, but every entry in this repo is dated 2026-09-21 or later, so the under-14-days guard held all of them back — and the split alone took the index well under the target without moving anything out of the active file. The in-flight section is rewritten for the post-release state: nothing is in flight, no gate is outstanding, and the next unit is explicitly recorded as the operator's undecided call rather than as a plan. The session's recommendation (U4, on three grounds) is written down so it does not have to be re-derived, alongside the two alternatives and why they are alternatives. Two dated predictions are carried forward with their dates and their instruments: the U5 adoption re-measure on 2026-09-29, which already reads 3 of 24 announced and 2 with a why from peers told nothing, and the .forever re-count a fortnight AFTER U4 lands, which is U4's own success criterion and is destroyed by running it early.
22 lines
1.3 KiB
Markdown
22 lines
1.3 KiB
Markdown
# Two U5 panels, and prose reached a released outage
|
|
|
|
_2026-09-22 · booth_
|
|
|
|
**Two cross-frontier panels on U5, and a paraphrase panel reached
|
|
a production outage two modules away.** 3-of-4 flagged the contract's "4 GB"
|
|
case as letter-compliant but purpose-defeating; the conformance round found that
|
|
unbounded read live in U5's code; walking it to the sibling found the SAME hole
|
|
**live in released `v0.2.2`** — `marks._read_raw` catches `(OSError, ValueError,
|
|
UnicodeDecodeError)` and `json.loads` on deep nesting raises **RecursionError**,
|
|
which is none of them, so 400 KB of brackets in one booth returned 500 for `/`
|
|
and `/healthz` across all 26. The v0.2.2 round HAD flagged it and I closed half:
|
|
**a finding with two call sites is not closed when one is.** The reusable
|
|
instruction — **walk a conformance finding to the sibling module even when the
|
|
sibling is out of scope.** Five of ten conformance findings were tests of mine
|
|
that pass on the regression they exist to catch, three of them asserting an
|
|
ARTIFACT of the property rather than the property; that is three nights running
|
|
on the same shape. Two real bugs neither my tests nor I could see: a bare
|
|
`booth add` wiped the `why` on the one sequence the feature exists for, and
|
|
`--title` was write-only. Full triage in
|
|
`persistent-memory.d/2026-09-22-u5-panels.md`.
|