Files
manage/openspec/changes/archive/2026-06-26-services-as-hub-ia/archive-report.md
T
Developer e461279566 chore(services-as-hub-ia): archive verified change (paperwork-only)
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.
2026-07-09 14:11:15 +00:00

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) + tests
  • frontend/src/pages/NamedDashboardPage.tsx (/d/:slug route)
  • Data-driven useNavItems in App.tsx (Main Dashboard + named dashboards + configured service-type entries + Services + Settings)
  • Backend: 8-type registry (added backups, authentik), _migrate_jellyseerr_into_jellyfin in ensure_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

  1. 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 to NotFoundPage, but no test asserts the 404 behavior end-to-end. Low risk; remains a follow-up.
  2. Hooks query globally, not per-instance (observability + backup hooks don't accept a serviceId). Documented follow-up once the hooks gain the parameter.
  3. MessagingTab is minimal (no rich-text/attachments); RequestsTab is a placeholder ("coming soon"). Both are intentional deferrals.
  4. Canonical spec not synced. If a durable canonical service-hub-ia spec is ever wanted, author a delta from spec.md and run sdd-sync. Out of scope for this paperwork archive.