GENERATED VIEW · PRIVATE ARCHIVE · DO NOT SERVE
RobCo Industries · Archive Museum

record.md



BUGS

bugs/silent-flatline/record.md

sha256 f95183d89f1dc068 · 3528 bytes · original held in the private archive

--- title: The Silent Flatline status: SEALED repo: archive observed: 2026-07-20 caught_by: a human noticing — no machine was watching one_line: The growth collector silently dropped the newest point, and the chart went on looking perfectly healthy. guard_location: museum/generate.mjs · growthCurrency() · line ~1427 verified: the notice is pinned to a release, so it can mean exactly one thing — a release shipped and nobody regenerated exhibited: true lesson: The most dangerous defect is the one that looks fine; a build that can be quietly wrong needs a check that makes it loudly wrong. provenance: - museum/generate.mjs growthCurrency() and its header comment (lines ~140, ~1420) - mockup museum/design/2026-07-identity-pass/04-bug-museum-records.html (specimen 04) --- ## What happened When the application retired its test-count rule and removed one marker from the changelog, the growth collector **silently dropped the newest point entirely** — its date, files and lines included. The chart went back to ending ten days earlier **and looked perfectly healthy doing it**, while every other page of the museum stayed current. Nothing in the build complained. This is the defect class the whole museum is designed against: authoritative, and quietly wrong. ## How it was caught By a human noticing — **and that is the whole problem: no machine was looking.** At the moment the point was dropped, no check existed that compared the chart against anything; the currency guard below is precisely the check that was added in response. The mockup attributes the catch to *the owner's eye*; the primary sources confirm the load-bearing fact — that the defect was invisible to every automated gate — but do not independently name the specific person, so this record claims only what it can source. (See Provenance.) ## The guard A currency check now runs at every build: the newest charted point must **be** the pinned release, and no release may exist newer than the pin. Either failure renders a loud **GROWTH EXHIBIT — NOT CURRENT** notice on the exhibit itself — written by the check, never by hand, and it removes itself when the cause is fixed. Pinning to a *release* (never to `dev`) is what gives the notice a single unambiguous meaning; against a moving branch the check could not exist, because there is no such thing as being "behind" a ref that moves every commit. ## What the guard costs A warning pathway that must itself stay correct forever — and a museum that will sometimes **publicly announce its own staleness** rather than quietly look fine. The project accepts looking un-current over looking wrong. ## Containment The notice is generated by the check, not by hand, and is pinned to a release. Between releases the museum is current by definition, so the notice fires only when a release shipped and nobody regenerated — rare and actionable. The guarding logic lives in `growthCurrency()`; its failure text is rendered by `currencyNotice()`. ## Provenance `museum/generate.mjs` — the `growthCurrency()` function and the design-rationale comment block above it (the collector "silently dropping the newest point while the chart went on looking perfectly healthy" is quoted from that comment). The *owner's eye* attribution is from mockup specimen 04 and is **not independently corroborated** in a primary source; this record therefore states the sourced fact (no machine guard existed) and flags the attribution as unconfirmed rather than asserting it as canonical.
STAMP · generated for RELEASE v2.8.5 commit 06e5180 (06e51801b38a) · archive input-tree hash c07fbfbdd2e1ddeb · 754 files · no wall-clock timestamp (regenerates identically when nothing changed).