feat(admin): add prepared analytics dashboards #14

Merged
eleith merged 4 commits from feat/admin-overview into main 2026-11-07 05:00:43 +00:00

Summary

Add read-only analytics dashboards backed by worker-prepared SQLite snapshots, with supporting development tooling.

  • Prepare all overview/domain/link/base reports in one hourly UTC workflow with durable 1–60 second scheduled jitter. Startup and accepted retention/inventory changes refresh immediately.
  • Coordinate finite retention cleanup and report publication; store derived output in goto.sqlite through 0006_visit_reports. No worker reporting API, URL or token.
  • Add authenticated overview, domain and dedicated link pages. Tables show valid visits only; domain invalid-click totals exclude invalid base / traffic. Keep current YAML inventory, concise cards and snapshot update time.
  • Add a deterministic, parameterized, preview-by-default development seeder with explicit --apply, append-only bounded transactions and no migrations/deletions.
  • Apply Directory's existing dev-container ownership fix for generated SvelteKit $app types. Keep the runtime non-root and source binds read-only.
  • Maintain matching GitHub Actions/Woodpecker coverage, including worker-change triggers for worker-backed browser integration.

UTC daily/weekly/monthly series and browser/OS family counts are prepared; their visualizations and a Health page are not included. No redirect/recording semantics or authentication settings are changed.

Commit structure

  1. fix(dev): allow SvelteKit generated type updates
  2. feat(dev): add repeatable synthetic visit seeding
  3. feat(analytics): prepare retained reports in the worker
  4. feat(admin): add prepared overview and link dashboards

Validation

  • Four independent review categories and affected re-reviews clean: readability, correctness/security, test quality, explicit reference parity.
  • Full pnpm verify passes: schema generation, builds, typechecks, formatting/lint, 491 workspace unit tests, 6 development-script tests, 7 Chromium integrations, and 5 worker service smoke cases.
  • Fresh pruned web/worker artifacts pass an outside-repository synthetic runtime smoke: dependency containment, report preparation/pruning, six authenticated SSR pages, scoped counters, compiled Piscina persistence and natural shutdown.
  • Frozen/offline development dependency restore, changeset status and final source/hash checks pass.

Docker runtime execution and deployment remain owner-only; no container-runtime or production performance guarantee is claimed. No local configuration, credentials, databases, seeded data, research or review evidence are included.

## Summary Add read-only analytics dashboards backed by worker-prepared SQLite snapshots, with supporting development tooling. - Prepare all overview/domain/link/base reports in one hourly UTC workflow with durable 1–60 second scheduled jitter. Startup and accepted retention/inventory changes refresh immediately. - Coordinate finite retention cleanup and report publication; store derived output in `goto.sqlite` through `0006_visit_reports`. No worker reporting API, URL or token. - Add authenticated overview, domain and dedicated link pages. Tables show valid visits only; domain invalid-click totals exclude invalid base `/` traffic. Keep current YAML inventory, concise cards and snapshot update time. - Add a deterministic, parameterized, preview-by-default development seeder with explicit `--apply`, append-only bounded transactions and no migrations/deletions. - Apply Directory's existing dev-container ownership fix for generated SvelteKit `$app` types. Keep the runtime non-root and source binds read-only. - Maintain matching GitHub Actions/Woodpecker coverage, including worker-change triggers for worker-backed browser integration. UTC daily/weekly/monthly series and browser/OS family counts are prepared; their visualizations and a Health page are not included. No redirect/recording semantics or authentication settings are changed. ## Commit structure 1. `fix(dev): allow SvelteKit generated type updates` 2. `feat(dev): add repeatable synthetic visit seeding` 3. `feat(analytics): prepare retained reports in the worker` 4. `feat(admin): add prepared overview and link dashboards` ## Validation - Four independent review categories and affected re-reviews clean: readability, correctness/security, test quality, explicit reference parity. - Full `pnpm verify` passes: schema generation, builds, typechecks, formatting/lint, **491 workspace unit tests**, **6 development-script tests**, **7 Chromium integrations**, and **5 worker service smoke cases**. - Fresh pruned web/worker artifacts pass an outside-repository synthetic runtime smoke: dependency containment, report preparation/pruning, six authenticated SSR pages, scoped counters, compiled Piscina persistence and natural shutdown. - Frozen/offline development dependency restore, changeset status and final source/hash checks pass. Docker runtime execution and deployment remain owner-only; no container-runtime or production performance guarantee is claimed. No local configuration, credentials, databases, seeded data, research or review evidence are included.
eleith-gitea-agent Bot added 3 commits 2026-11-07 00:27:55 +00:00
eleith added 1 commit 2026-11-07 04:56:20 +00:00
feat(admin): add prepared overview and link dashboards
ci/woodpecker/pr/cli Pipeline was successful
ci/woodpecker/pr/config Pipeline was successful
ci/woodpecker/pr/db Pipeline was successful
ci/woodpecker/pr/web Pipeline was successful
ci/woodpecker/pr/worker Pipeline was successful
ci/woodpecker/push/cli Pipeline was successful
ci/woodpecker/push/config Pipeline was successful
ci/woodpecker/push/db Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
ci/woodpecker/push/worker Pipeline was successful
80d5b04e23
eleith force-pushed feat/admin-overview from 9ee46b7613 to 80d5b04e23 2026-11-07 04:56:20 +00:00 Compare

Amended the final admin commit as requested; PR head is now 80d5b04e23fc5addbc6c96058dd72083f1c5e6e4. The first three commits are unchanged. Pushed using an explicit lease against the prior head.

The worker build is now an explicit, visible prerequisite in the shared web test:e2e command, inheriting the normal caller build environment. Removed the nested pnpm build that used the intentionally stripped production fixture environment. Application-runtime isolation and CI images/gates are unchanged.

All four affected reviews are clean. Full local pnpm verify passes: 491 workspace units, 6 development-script tests, 7 browser integrations and 5 worker service cases, plus schema/build/typecheck/lint. The worker prerequisite output is visible before Playwright.

The original generic CI output did not establish the precise underlying worker-build error. The remote CI rerun still needs confirmation; no Docker runtime execution is claimed.

Amended the final admin commit as requested; PR head is now `80d5b04e23fc5addbc6c96058dd72083f1c5e6e4`. The first three commits are unchanged. Pushed using an explicit lease against the prior head. The worker build is now an explicit, visible prerequisite in the shared web `test:e2e` command, inheriting the normal caller build environment. Removed the nested pnpm build that used the intentionally stripped production fixture environment. Application-runtime isolation and CI images/gates are unchanged. All four affected reviews are clean. Full local `pnpm verify` passes: 491 workspace units, 6 development-script tests, 7 browser integrations and 5 worker service cases, plus schema/build/typecheck/lint. The worker prerequisite output is visible before Playwright. The original generic CI output did not establish the precise underlying worker-build error. The remote CI rerun still needs confirmation; no Docker runtime execution is claimed.
eleith merged commit 80d5b04e23 into main 2026-11-07 05:00:43 +00:00
eleith deleted branch feat/admin-overview 2026-11-07 05:00:43 +00:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: eleith/goto#14