Commit Graph

2 Commits

Author SHA1 Message Date
Developer 44c259ffc5 Verify report for services-as-hub IA (Slice 12)
Per-AC evidence (AC1-AC10): data-driven nav, per-type content tabs,
instance switcher, named dashboard CRUD, legacy routes 404, new service
types (backups + authentik), Jellyseerr migration, empty-state CTA, and
both backend (271) and frontend (92) suites green.

Residual risks documented: App-level 404 test gap (C1 from slice 4);
observability + backup hooks query globally (per-instance scoping is a
follow-up); this branch is based on main, not on the unmerged
mobile-responsive-parity branch (reconciliation required before merge);
named dashboards ship pinned service links only (full widget composition
deferred); MessagingTab minimal; RequestsTab placeholder; duplicated
_resolve_service_record helper.

12 commits on services-as-hub-ia: 1 plan + 11 implementation slices.
~8600 insertions / ~3900 deletions across 103 files.
2026-06-26 20:13:01 +00:00
Developer fe028b0e6f Plan services-as-hub IA rework (OpenSpec change)
Reorganize the app around services as the hub. Operational content
(Media, Files, Actions, Users, Backups) moves into type-specific tabs on
the service page. Top nav shrinks to Main Dashboard + named dashboards +
conditional per-type entries (appear when configured) + Services + Settings.

Decisions (D1-D17): conditional type entries; instance switcher for
multi-instance; Files/Actions into ssh_tasks tabs; Backups = new service
type; Users -> Authentik (in scope); Observability split per type (no
aggregate); main dashboard special at /; named dashboards = widgets +
pinned service links; each named dashboard = top entry; Authentik =
directory source (OIDC unchanged); Messaging -> Authentik users via SMTP;
Jellyseerr absorbed into Jellyfin config; standard tab skeleton
(Overview | content | Widgets | Config); Overview = health + metrics;
routing /services/:type/:id + /d/:slug; legacy routes 404; empty-state
CTAs.

Authentik directory client + endpoint included. 12 chained PRs forecast
(backend types -> frontend shell -> content tabs -> dashboards ->
cleanup -> verify).
2026-06-26 17:16:52 +00:00