Changes touching this path

  • the operator reads errors at /metrics/errors (ADR 0101), the prototype A Inbox with its C Timeline as the operator chose: the error issues of one status with their counts, exact error rates, last seen and last 24 hours; the selected issue latest occurrence as cards and its kept occurrences as a timeline; the timeline of every kept event; and a page load or account journey from any row. Resolve, Ignore and Reopen are a server function behind the /metrics operator door and the CSRF middleware, the view one write: loot_metrics migration 0006 grants metrics_read UPDATE on status, resolved_in and resolved_at only, and a resolve names the release its source last ran. the door check is one function both readers share; /metrics links to the view. pinned in errors.pg.test.ts, 4 view tests over Postgres 18; red under named mutations, each restored, failed and passed: the rate without the counts, the sparkline reversed, a resolve naming no release, a reopen keeping the resolve, the whole issue writable (each 1 and 3). site suite 1071 passed (lwsvmskl) c6963d13 · dbf3dbe6…
  • /metrics/errors answers a stranger 404 like every path it does not serve, where it answered 307: its validateSearch filled in the default status, and the router redirects to the search it validated before the loader, so before the operator door, which confirmed the route to anyone who asked; seen live on loot.build after the lwsvmskl deploy. the route search now keeps only the keys the URL holds (routeErrorsSearch), and the default status is applied in the loader behind the door. checked on the built server: /metrics/errors, /metrics/errors?status=resolved, /metrics and an unserved path each answer 404 to a request with no session. pinned in errors-view.test.ts, 3 tests (lwsvmskl) 1db898e8 · dbf3dbe6…diff
  • 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
  • the errors view lists failures and slow requests unless a search, a journey, an outcome, a keep reason or all asks for more, says when the shipper last ran and turns red once it has stopped, sets each total beside the range before it where that fits the retention, and moves through its lists by keyboard, j and k, Enter, Esc and slash; files wvyoprtz, a forge test that failed on its sync-walk budget under load. pinned: the quiet rule and its SQL, the all flag, the previous range, the freshness; red under named mutations, each restored (xzxouptw) 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 31c8c9ef · dbf3dbe6…diff
  • the errors view renders the same text on the server and in the browser: every ago counts from the time the server read the page, counts are written in en-US and instants in UTC, where a clock and a locale read on each side made React throw on hydration, the two open error issues the new source maps traced into react-dom; and the client build takes its source maps out of the bundle itself, so the server's asset manifest names none, where moving them after the build left each listed and a request for one answered 500. pinned, red under named mutations, each restored; mwvpnyss and wvyoprtz noted (lrysrpyt) 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 de0c6d21 · 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.