Code merged to main on 2026-06-26 (01527ae) + fix passes. All 10 ACs PASS.
~8600 ins / ~3900 del across 103 files. Only SDD artifacts were untracked.
No code changes, no canonical sync. NOTE: verify-report describes a Grafana
LinksTab later removed by prometheus-direct-charting (2026-07-08); historically
accurate point-in-time record — see archive-report.md footnote.
2.8 KiB
Archive Report — Services as hub IA
Change: services-as-hub-ia
Archived: 2026-07-09 (paperwork-only archive; code merged to main on 2026-06-26)
Phase: archive
Archive readiness
This change was implemented and verified on 2026-06-26 (see verify-report.md: all 10 ACs PASS, backend 271 tests + frontend 92 tests green). 11 slices shipped; ~8600 insertions / ~3900 deletions across 103 files. The code was merged to main via commit 01527ae ("Rebase services-as-hub-ia onto mobile-responsive-parity"), with subsequent fix passes (691d78f dedup _resolve_service_record, d8c0a37, a63467e, etc.).
Only the SDD artifacts (this folder) remained untracked. This archive is paperwork-only — no code changes, no canonical-spec sync (the change is flat-spec; no delta was ever authored). Archiving closes the paperwork gap.
Signature code (confirmed present + tracked on main)
frontend/src/pages/service-tabs/(UsersTab, MetricsTab, MediaTab, RequestsTab, FilesTab, ActionsTab, JobsTab, AlertsTab, MessagingTab, LinksTab, index.ts, stubs.tsx) + testsfrontend/src/pages/NamedDashboardPage.tsx(/d/:slugroute)- Data-driven
useNavItemsinApp.tsx(Main Dashboard + named dashboards + configured service-type entries + Services + Settings) - Backend: 8-type registry (added
backups,authentik),_migrate_jellyseerr_into_jellyfininensure_defaults(), dashboard CRUD + slug resolution, authentik directory/message endpoints
Historical footnote (important for future readers)
This verify-report describes a state that included a Grafana LinksTab (slice 8). On 2026-07-08, the prometheus-direct-charting change (archived at openspec/changes/archive/2026-07-08-prometheus-direct-charting/) removed Grafana entirely — including LinksTab.tsx and the grafana case in service-tabs/index.ts. The Grafana references in this folder are historically accurate for 2026-06-26 (the change's point-in-time) and are not a regression. Archived change folders are point-in-time records by design.
Carry-over notes
- App-level legacy-404 test (slice 4 C1) was the one open test gap — all six legacy routes (
/media,/files,/actions,/users,/observability,/backups) + two aliases were removed and the catch-all routes toNotFoundPage, but no test asserts the 404 behavior end-to-end. Low risk; remains a follow-up. - Hooks query globally, not per-instance (observability + backup hooks don't accept a
serviceId). Documented follow-up once the hooks gain the parameter. - MessagingTab is minimal (no rich-text/attachments); RequestsTab is a placeholder ("coming soon"). Both are intentional deferrals.
- Canonical spec not synced. If a durable canonical
service-hub-iaspec is ever wanted, author a delta fromspec.mdand runsdd-sync. Out of scope for this paperwork archive.