Changes touching this path
- ADR 0101: an error is an issue over wide events, recorded first-party, from the operator grilling of map lyuuzlmz after its prototype (PR 2561, never lands); CONTEXT.md defines Wide event, Error issue, Fingerprint, Breadcrumb, Page load id, Key reference and the Account reference the Visitor key entry linked to; files map lyuuzlmz and its eight tickets (nmxrrtyr)
c988ca8d · dbf3dbe6… - the site server records every request as one wide event and prints it as one JSON line (ADR 0101): lib/wide-event.ts holds the rules the browser will share, the declared field catalogue and its reductions, the error capture that scrubs a message and drops it on /private and /api/private, and the tail sampler that keeps every error, every request of 2 s or more and every signed-in surface and 5 percent of the rest at a recorded sample_rate; server/wide-event.ts is the per-request recorder, which also prints exact per-minute counts. start.ts runs every request under it first, timing.ts spans land on it, withPrivateSession and withSession record their caught error on it where they printed it raw with console.error, and router.tsx reports the loader and render errors the router answers 500 without throwing, seen live as a 500 event with a null error before that seam. no identity yet. ADR 0101 section 6, the glossary and ylmnvrtp now name the browser as the forge caller, since the site server reads the forge database directly. pinned in test/wide-event.test.ts, 21 tests; red under named mutations, each restored, failed and passed of 20: the private message kept (1 and 19), a raw path kept (2 and 18), an undeclared key kept (1 and 19), an error sampled like the rest (5 and 15), the quote scrub gone (2 and 18), only kept events counted (1 and 19), a throw not recorded (1 and 19), our own traffic not marked internal (1 and 19), spans not forwarded (1 and 19), the owner seam printing raw (1 and 19), the middleware off (1 and 19), and of 21: the router seam off (1 and 20). site gate green at 1049 passed. owes a site deploy (oqqwzwkp)
bb784ff1 · dbf3dbe6…diff - an open error issue whose last hour holds ten or more occurrences and five times its hourly rate over the day before is alerted as spiking, at most once an hour, marked in the statement that finds it; the first shipper run from 14:00 UTC claims the day in error_digest (migration 0009) and sends the day's digest, the counts beside the day before, new and open issues and the three busiest by type and culprit, never a message. pinned over Postgres 18 and the alert text, red under named mutations, each restored (stzwopuy)
Perf-Baseline: reset object_gets and graph_sorts moved with 587f93b, whose negotiation workload now builds the forge push a land makes (opywoozo); this change touches no Rust
ef41eb8c · dbf3dbe6…diff - a browser error's frames are traced back to their source file, line and name before its stack is parsed, through the serving release's own source maps, which the client build writes hidden and tools/stash-maps.mjs moves out of the public directory, refusing a build that leaves one there, names one from a chunk, or writes none; so a browser fingerprint names source functions and holds across releases. only a bare hashed chunk name is looked up. ADR 0101 section 4 amended. pinned, red under named mutations, each restored (yyypksru)
Perf-Baseline: reset object_gets and graph_sorts moved with 587f93b, whose negotiation workload now builds the forge push a land makes (opywoozo); this change touches no Rust
d0d1df9d · dbf3dbe6…diff
Renames are not followed. loot's tree maps a path to an address, so a rename is a delete and an add. This list is the history of the name, not of the bytes.