Changes touching this path
- the browser reports its errors (ADR 0101): lib/error-capture.ts, eager on every page at about 944 bytes, sends an uncaught error, an unhandled rejection or a router-caught error with the page last 20 steps and a page load id held only in memory to POST /api/errors, which reduces it by the server rules and prints the wide-event line with no database credential; privateFetch carries the page load id and the private seam records it with the account reference, neither for a caller who objected and never failing the request; a browser error whose last step was a forge 5xx carrying x-loot-event is upstream and opens no issue, one with no forge event is ForgeUnreachable (ylmnvrtp); migration 0007 files page_load, account_ref and crumbs; /privacy gains the browser paragraph the operator approved, and its sentence that no identifier is kept now names the two. pinned in errors-client.test.ts, 15 tests, and errors.pg.test.ts, 8 over Postgres 18; red under 11 named mutations, each restored, each 1 failed of 15. site suite 1082 passed (pvypzlpl)
b908ba9f · dbf3dbe6… - the errors view reads a range with totals and a chart over four tabs, issues, events, routes and releases, each filtered and searched, and opens every event whole, its fields, spans, error chain, breadcrumbs and journey, and no page scrolls sideways at any width; route templates fold every public repository path to one per verb and key the per-minute counts and the issue routes, which migration 0008 folds and indexes, so a tab answers in 30 to 350 ms at the live shape where it took 14 to 26 s. pinned: the search fills nothing in, a template per verb, the event filter binds every value; red under named mutations, each restored. site gate 1093 passed, pg suites 18 passed over Postgres 18 (usyyyzkx)
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
71c23069 · 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.