1this derivation will be built:2 /nix/store/lxq92ss9miq7b58sx105vn2dgnip9cp2-horae-browser-checks.drv3building '/nix/store/lxq92ss9miq7b58sx105vn2dgnip9cp2-horae-browser-checks.drv'4horae-browser-checks> initdb: warning: enabling "trust" authentication for local connections5horae-browser-checks> initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.6horae-browser-checks> waiting for server to start.... done7horae-browser-checks> server started8horae-browser-checks> 2026-10-12T13:23:10.718494Z INFO horae: Running migrations...9horae-browser-checks> 2026-10-12T13:23:10.836100Z INFO horae: Migrations complete.10horae-browser-checks> 2026-10-12T13:23:10.851847Z INFO horae::seed: Seeding demo data…11horae-browser-checks> 2026-10-12T13:23:10.862401Z INFO horae::seed: Seed complete.12horae-browser-checks> 2026-10-12T13:23:10.862720Z INFO horae::seed: time_entries: 10 rows13horae-browser-checks> 2026-10-12T13:23:10.865621Z INFO horae::seed: clients: 2 rows14horae-browser-checks> PASS: archived own timer labels survive without granting catalog or global-rate access15horae-browser-checks> PASS: catalog/rate grants never enable unlinked or archived tasks for a new timer; valid start/stop persists16horae-browser-checks> PASS: rail popovers accept clicks and release the resize handle after closing17horae-browser-checks> PASS: scoped project list/detail expose workflow labels without directory access, private notes or rates18horae-browser-checks> PASS: edit and managed-project revocation remove current UI authority without legacy Administrator fallback19horae-browser-checks> PASS: inactive-account and changed-policy responses clear retained detail; retry recovers only the original binding20horae-browser-checks> PASS: keyboard manager removal preserves archived membership and withheld money/notes at desktop and narrow widths21horae-browser-checks> PASS: staged project task archive/restore, undo, cancellation and running-timer rejection preserve hidden configuration and restrictions22horae-browser-checks> PASS: financial read grants display disabled values and ordinary saves preserve stored fields23horae-browser-checks> PASS: explicit zero, cost reset and lost-acknowledgement replay preserve exact original intent24horae-browser-checks> PASS: current-authority revocation discards old editor state; explicit reload restores a fresh authorized form25horae-browser-checks> PASS: an explicit hours-only budget edit preserves inactive hidden money and recorded history26horae-browser-checks> PASS: scoped report paging, totals, four individual reports, four nested breakdowns, filtered exports, stale/invalid states and policy binding; Chromium 148.0.7778.9627horae-browser-checks> ✔ permissions: pending navigation preserves history until the request is resolved (6.395185ms)28horae-browser-checks> ✔ permissions: dirty navigation requires an explicit discard (1.049628ms)29horae-browser-checks> ✔ client: pending navigation preserves history until the request is resolved (5.580119ms)30horae-browser-checks> ✔ client: dirty navigation requires an explicit discard (0.838478ms)31horae-browser-checks> ✔ invoice: pending navigation preserves history until the request is resolved (0.708863ms)32horae-browser-checks> ✔ invoice: dirty navigation requires an explicit discard (0.625123ms)33horae-browser-checks> ✔ project: pending navigation preserves history until the request is resolved (0.651451ms)34horae-browser-checks> ✔ project: dirty navigation requires an explicit discard (0.62209ms)35horae-browser-checks> ✔ timesheet: pending navigation preserves history until the request is resolved (0.701809ms)36horae-browser-checks> ✔ timesheet: dirty navigation requires an explicit discard (1.342522ms)37horae-browser-checks> ✔ permissions: scroll-only replacements preserve Dioxus coordinates without prompting (0.617487ms)38horae-browser-checks> ✔ timesheet: scroll-only replacements preserve Dioxus coordinates without prompting (0.702847ms)39horae-browser-checks> ✔ the legacy project opt-in and explicit release keep working (0.733122ms)40horae-browser-checks> ℹ tests 1341horae-browser-checks> ℹ suites 042horae-browser-checks> ℹ pass 1343horae-browser-checks> ℹ fail 044horae-browser-checks> ℹ cancelled 045horae-browser-checks> ℹ skipped 046horae-browser-checks> ℹ todo 047horae-browser-checks> ℹ duration_ms 30.39091448horae-browser-checks> ✔ store acknowledgement precedes a load from a new execution (3.103603ms)49horae-browser-checks> ✔ identical store is idempotent; another request cannot replace it (1.389479ms)50horae-browser-checks> ✔ clear requires the exact stored record and is idempotent (5.344276ms)51horae-browser-checks> ✔ storage errors never acknowledge a mutation or erase a request (1.854391ms)52horae-browser-checks> ✔ size limit counts UTF-8 bytes on both reads and writes (2.707963ms)53horae-browser-checks> ✔ other requesters and unrelated browser records are untouched (1.763611ms)54horae-browser-checks> ℹ tests 655horae-browser-checks> ℹ suites 056horae-browser-checks> ℹ pass 657horae-browser-checks> ℹ fail 058horae-browser-checks> ℹ cancelled 059horae-browser-checks> ℹ skipped 060horae-browser-checks> ℹ todo 061horae-browser-checks> ℹ duration_ms 23.25168862horae-browser-checks> Permission recovery browser: Chromium 148.0.7778.9663horae-browser-checks> PASS: canonical People separates read scope, Administrator editing and legacy roles without legacy reads64horae-browser-checks> PASS: editor reload rejects a changed session and recovers only for the original requester65horae-browser-checks> PASS: real person save survives lost response/reload and replays exactly one receipt66horae-browser-checks> PASS: account changes isolate tab recovery; same-user reauthentication and restored authority recover the template67horae-browser-checks> PASS: a deleted template is recovered from its exact receipt without recreating it68horae-browser-checks> PASS: real permission history supports empty state, keyboard details, stable paging, deleted profiles, refresh/revocation and canonical access69horae-browser-checks> PASS: storage refusal prevents sends; acknowledged self-demotion cleanup issues no second mutation