Files

3.7 KiB
Raw Permalink Blame History

P7-10 Audit

Implemented CONDITIONAL GO; publication pending. Entry is the published Users follow-up 4760fd102c21c684bd139206a12194c6fc8f6104, which passed staged/full-phase whitespace and normal remote verification at13:10:57UTC. Users' earlier staged-check failure remains recorded in its report.

Bounded changes

The existing /admin/audit read owner and shared read-state component remain. Shared h2/h3 page/section presentation, localized Events heading and a named keyboard-scrollable table replace the one-off surface. Loading, failure and actual empty results remain distinct; Retry only performs GET. Existing supported Undo types and Deleted-only Restore visibility are unchanged.

Mutations now share synchronous admission, pending focus and session/lifetime guards. They retain current-language safe errors and cannot start a private refresh or toast after disposal. A successful write followed by failed refresh offers read recovery without replaying the write. No endpoint, authorization, tenant filter or stored event changes.

Visual review found a fixed-layout Job column only92.5px wide. An ordinary browser regression failed before removing the fixed table layout and giving Job/Details useful minimum widths. The named table retains intentional two-dimensional keyboard scrolling within the page; app-root overflow is checked separately. Exceptionally long identities still wrap and produce taller rows rather than losing data.

Evidence

  • Frontend 9/9 PASS: seven added regressions, two existing cases. Initial candidate produced three passing/six failing cases against the old owner. Final rerun13:24:37–13:24:41UTC passes with no pending/todo cases.
  • Existing backend 18/18 PASS, zero skipped: lifecycle events, ordinary job authorization and API authorization posture, using the unchanged Release binary.
  • Native 3/3 PASS, no skips/flaky/retries,13:23:21–13:23:49UTC, export vZuD4f-46FJekdIR5rhRk. Actual isolated HTTP proves owned Restore204, foreign ordinary Restore404, authorized Audit Undo200, unsupported Created Undo400, non-admin GET/POST403 and persisted event/readback. Controlled503 recovery remains GET-only.
  • Finite English/Bokmål light/dark samples at320,390,768,1024,1440,1920. Seven all-enabled axe scans have zero violations and110 incomplete nodes. Contrast incompletes include clipped/overlapping backgrounds and the invisible badge; the inherited shell version badge also has an unresolved role/ARIA incomplete. No rules are suppressed.
  • App/browser TypeScript, lint and production build PASS. Portable results retain command hashes, source hashes explicitly captured after execution, native counts and image identities.

Final320px Bokmål dark and1440px English light PNGs were actually inspected; five others remain automated evidence. Full-page captures place fixed shell chrome over scrolled content and expose a skip-link capture artifact; these images do not establish human screen-reader, real zoom or physical-device acceptance. Earlier candidate results/images and both ordinary layout failures remain retained locally.

Preservation and remaining work

PRES-A02/E08/E09 gain bounded evidence; all57 groups remain56 PARTIAL/C11 DEFERRED and33 routes. Derived inventory becomes868 frontend cases/99 suites and345 browser cases/56 files, not a fresh whole-suite pass. No backend, CV renderer, revision, frozen association or AI safeguard changes. Separate administrator recent-auth enforcement is absent in the existing contract and is not claimed. System follows as its own boundary; shared-shell accessibility and full integrated review remain pending. P5-13 stays withheld, production readiness stays NO-GO, Phase8 has not started.