feat: WORM Audit app home, declared alerts and record screens #8

Merged
KofTwentyTwo merged 4 commits from feature/app-home into develop 2026-10-14 12:09:35 +00:00
KofTwentyTwo commented 2026-10-14 03:05:37 +00:00 (Migrated from github.com)

Summary

Phase (c) of docs/DESIGN.md §9: the app home. Stacked on #7 (and #6). Review only the last commit.

  • WORM Audit app: nav = Verifications, Sealed Exports, Checkpoints, Audit Chain, Purges; optional parentAppName. The home owns the WORM data:
    • Chain status: links, last link, settled and settling backlog, last verification, open breaks linking to the exact link and verification;
    • Export status: last export, range, retain-until, lock mode, lag, gaps, bucket Object Lock capability;
    • Retention: years, purge anchor, oldest live audit, next eligible purge;
    • Recent purges, refusals included;
    • Setup warnings: missing triggers (pg_trigger), runtime role owns the audit tables, missing purge function, signing or trusted keys missing, bucket without Object Lock, verification stale for more than 26 h.
    • It renders ids, counts, times and short hashes only, never audit content (canary test).
  • A wormAuditHealthCard widget for host dashboards.
  • Alerts: the names follow core's pattern (wormaudit.chain.break CRITICAL, wormaudit.export.failed ERROR) and are declared; heartbeat monitors wormaudit.verify.daily and wormaudit.export.daily have a 26 h deadline.
  • Verifier: full runs hold one page (1,000 links) plus one checkpoint range, tested with 25,000 links.
  • Record screens: plain labels, record labels ("Verification #8 (Fail)"), and full-width sections and child lists.
  • Demo server (test scope): ./mvnw -o test-compile exec:java -Dexec.classpathScope=test -Dexec.mainClass=com.kingsrook.qbits.wormaudit.demo.WormAuditDemoServer -Dexec.args=8099.
  • Screenshots in docs/screenshots/: home at 390, 1440 and 1920; FAIL and PASS verification, sealed export and chain link records at 390 and 1440; light and dark. No page overflow, inner horizontal scrollers or double scrollbars.
  • DESIGN.md consistency edits (no decision changes).

Tests: CI=true ./mvnw verify with Docker, 79 pass. Coverage is 94.5% instructions and 100% classes.

🤖 Generated with Claude Code

## Summary Phase (c) of `docs/DESIGN.md` §9: the app home. **Stacked on #7 (and #6).** Review only the last commit. - **WORM Audit app:** nav = Verifications, Sealed Exports, Checkpoints, Audit Chain, Purges; optional `parentAppName`. The home owns the WORM data: - Chain status: links, last link, settled and settling backlog, last verification, open breaks linking to the exact link and verification; - Export status: last export, range, retain-until, lock mode, lag, gaps, bucket Object Lock capability; - Retention: years, purge anchor, oldest live audit, next eligible purge; - Recent purges, refusals included; - Setup warnings: missing triggers (`pg_trigger`), runtime role owns the audit tables, missing purge function, signing or trusted keys missing, bucket without Object Lock, verification stale for more than 26 h. - It renders ids, counts, times and short hashes only, never audit content (canary test). - A `wormAuditHealthCard` widget for host dashboards. - **Alerts:** the names follow core's pattern (`wormaudit.chain.break` CRITICAL, `wormaudit.export.failed` ERROR) and are declared; heartbeat monitors `wormaudit.verify.daily` and `wormaudit.export.daily` have a 26 h deadline. - **Verifier:** full runs hold one page (1,000 links) plus one checkpoint range, tested with 25,000 links. - **Record screens:** plain labels, record labels ("Verification #8 (Fail)"), and full-width sections and child lists. - **Demo server** (test scope): `./mvnw -o test-compile exec:java -Dexec.classpathScope=test -Dexec.mainClass=com.kingsrook.qbits.wormaudit.demo.WormAuditDemoServer -Dexec.args=8099`. - **Screenshots** in `docs/screenshots/`: home at 390, 1440 and 1920; FAIL and PASS verification, sealed export and chain link records at 390 and 1440; light and dark. No page overflow, inner horizontal scrollers or double scrollbars. - DESIGN.md consistency edits (no decision changes). **Tests:** `CI=true ./mvnw verify` with Docker, 79 pass. Coverage is 94.5% instructions and 100% classes. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.