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

record.md



BUGS

bugs/search-box-weight/record.md

sha256 ce3d56d6f26709e0 · 2328 bytes · original held in the private archive

--- title: The 3.9-Megabyte Search Box status: SEALED repo: archive observed: 2026-07-20 caught_by: weighing the generated pages against the phone-readable constraint one_line: The whole text corpus was inlined into search.html — 3.9 MB parsed before the box would take a keystroke, on a museum read mostly from a phone. guard_location: museum/generate.mjs · search shards · line ~2051 verified: search.html is a few KB; results are always over the complete corpus or an explicit error, never a silent subset exhibited: true lesson: A page that pre-pays a cost behind the reader's back should instead admit its weight and let the reader spend it. provenance: - museum/generate.mjs search-shard section (lines ~2051-2098), which documents the before/after inline - mockup museum/design/2026-07-identity-pass/04-bug-museum-records.html (specimen 07) --- ## What happened The entire text corpus was inlined into `search.html` — **3.9 MB** parsed before the input box would take a single keystroke, on a museum whose primary reader is on a phone. It was the heaviest page on the site by two orders of magnitude. ## How it was caught Weighing the generated pages against the museum's phone-readable constraint — the page weight itself was the finding. ## The guard The corpus now ships as numbered sibling scripts, loaded only at the first real search, and **all shards load before any query runs**. A shard that fails to load produces an explicit error, never a quietly short result list. The weight is printed on the page, so the reader chooses to spend it. Total payload is unchanged; *when* it is paid is not. ## What the guard costs The first search shows a visible loading step it never used to need — the page admits its weight instead of pre-paying it behind the reader's back. ## Containment `search.html` is a few KB; results are always over the complete corpus or an error, never a subset. The all-shards-before-any-query rule is what prevents a partial-load from silently returning fewer results (the same "quietly wrong beats loudly broken — no" principle as the rest of the museum). ## Provenance `museum/generate.mjs` — the search-shard section carries a "WHAT WAS WRONG / WHAT WAS CHOSEN" comment stating the 3.9 MB figure and the rejected alternatives. Mockup specimen 07 corroborates.
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).