chore: regenerate stale .pi-map.md / .pi-map.index.md project maps

Project map had drifted: claimed recharts unused (was used), ObservabilityPage.tsx
exists (refactored to service-tabs/), missed JellyfinNowPlayingWidget +
authentik/backups service types. Regenerate to reflect post-change reality:
new Qbittorrent/LineSeriesChart/Prometheus{Gauge,Mean}Widget files,
service_data.py/qbittorrent_store.py, canonical prometheus-charting +
service-storage specs, archived changes.
This commit is contained in:
Developer
2026-07-09 14:05:56 +00:00
parent 98f17f6e5d
commit ec7ebd7013
189 changed files with 1215 additions and 428 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
dir: openspec
## role
Central configuration and documentation package defining coding standards, architecture context, and development rules for a homelab media dashboard project.
Central configuration and governance file that defines project context, tech stack, and rules for an AI-assisted, spec-driven homelab media and observability dashboard.
## parent
index: ./.pi-map.index.md
map: ./.pi-map.md
+4 -4
View File
@@ -4,13 +4,13 @@ dir: openspec
index: openspec/.pi-map.index.md
## role
Central configuration and documentation package defining coding standards, architecture context, and development rules for a homelab media dashboard project.
Central configuration and governance file that defines project context, tech stack, and rules for an AI-assisted, spec-driven homelab media and observability dashboard.
## files
- config.yaml | Configuration file specifying coding standards, architecture context, and development rules for a homelab media dashboard migration from MUI to shadcn/ui + Tailwind CSS | dep: FastAPI, React 18, TypeScript, Vite, TanStack Query, Tailwind CSS v4, shadcn/ui, Radix primitives, lucide-react, react-router-dom, react-oidc-context, TanStack Table, @mui/material, @mui/icons-material, @mui/x-data-grid, @emotion/react, @emotion/styled
- config.yaml | Configuration file defining project context, tech stack, migration goals, and development rules for an AI-assisted spec-driven homelab media and observability dashboard.
## arch
Single-file declarative configuration pattern using YAML to establish project conventions, migration guidelines (MUI to shadcn/ui + Tailwind CSS), and governance constraints.
Single declarative YAML configuration file using a convention-over-configuration pattern to codify project metadata, constraints, and migration goals for AI-driven development workflows.
## tags
react, @mui, context, shadcn, material, @emotion, config, configuration
config, configuration, defining, project, context, tech, stack, migration
## symbols
-
## workflows
+7 -1
View File
@@ -2,7 +2,7 @@
dir: openspec/changes
## role
Directory for tracking proposed and applied changes to the project's OpenAPI specification.
No files present in this directory; appears to be an empty or placeholder directory likely intended for OpenSpec change tracking artifacts.
## parent
index: openspec/.pi-map.index.md
map: openspec/.pi-map.md
@@ -10,6 +10,12 @@ map: openspec/.pi-map.md
- openspec/changes/archive
index: openspec/changes/archive/.pi-map.index.md
map: openspec/changes/archive/.pi-map.md
- openspec/changes/mobile-responsive-parity
index: openspec/changes/mobile-responsive-parity/.pi-map.index.md
map: openspec/changes/mobile-responsive-parity/.pi-map.md
- openspec/changes/services-as-hub-ia
index: openspec/changes/services-as-hub-ia/.pi-map.index.md
map: openspec/changes/services-as-hub-ia/.pi-map.md
## files
## links
index: openspec/changes/.pi-map.index.md
+2 -2
View File
@@ -4,10 +4,10 @@ dir: openspec/changes
index: openspec/changes/.pi-map.index.md
## role
Directory for tracking proposed and applied changes to the project's OpenAPI specification.
No files present in this directory; appears to be an empty or placeholder directory likely intended for OpenSpec change tracking artifacts.
## files
## arch
Follows the "changes folder" pattern where each change proposal is stored as a structured markdown file describing modifications, rationale, and migration steps.
Undefined due to absence of files; expected convention would follow a structured directory of change proposal documents (e.g., Markdown or YAML) describing project modifications.
## tags
-
## symbols
+7 -1
View File
@@ -2,7 +2,7 @@
dir: openspec/changes/archive
## role
Archive directory for historical change records and specifications that have been completed or superseded.
Archive directory for completed and historical change specifications from the OpenSpec change management process.
## parent
index: openspec/changes/.pi-map.index.md
map: openspec/changes/.pi-map.md
@@ -10,6 +10,12 @@ map: openspec/changes/.pi-map.md
- openspec/changes/archive/2026-06-17-web-ui-rework
index: openspec/changes/archive/2026-06-17-web-ui-rework/.pi-map.index.md
map: openspec/changes/archive/2026-06-17-web-ui-rework/.pi-map.md
- openspec/changes/archive/2026-07-08-prometheus-direct-charting
index: openspec/changes/archive/2026-07-08-prometheus-direct-charting/.pi-map.index.md
map: openspec/changes/archive/2026-07-08-prometheus-direct-charting/.pi-map.md
- openspec/changes/archive/2026-07-09-service-storage-harness
index: openspec/changes/archive/2026-07-09-service-storage-harness/.pi-map.index.md
map: openspec/changes/archive/2026-07-09-service-storage-harness/.pi-map.md
- openspec/changes/archive/configurable-dashboard-widgets
index: openspec/changes/archive/configurable-dashboard-widgets/.pi-map.index.md
map: openspec/changes/archive/configurable-dashboard-widgets/.pi-map.md
+2 -2
View File
@@ -4,10 +4,10 @@ dir: openspec/changes/archive
index: openspec/changes/archive/.pi-map.index.md
## role
Archive directory for historical change records and specifications that have been completed or superseded.
Archive directory for completed and historical change specifications from the OpenSpec change management process.
## files
## arch
Simple file-based archive pattern storing obsolete or completed change documents without active processing logic.
Simple file-based archive pattern that stores completed change documents, organized by lifecycle status to separate active proposals from historical records.
## tags
-
## symbols
@@ -2,7 +2,7 @@
dir: openspec/changes/archive/2026-06-17-web-ui-rework
## role
OpenSpec change specification archive documenting the planning, design, implementation, and verification of a React frontend migration from MUI v9 to shadcn/ui + Tailwind v4.
OpenSpec change specification archive documenting a completed migration of a React web UI from MUI v9 to shadcn/ui + Tailwind v4 + lucide-react across eight incremental slices.
## parent
index: openspec/changes/archive/.pi-map.index.md
map: openspec/changes/archive/.pi-map.md
@@ -4,7 +4,7 @@ dir: openspec/changes/archive/2026-06-17-web-ui-rework
index: openspec/changes/archive/2026-06-17-web-ui-rework/.pi-map.index.md
## role
OpenSpec change specification archive documenting the planning, design, implementation, and verification of a React frontend migration from MUI v9 to shadcn/ui + Tailwind v4.
OpenSpec change specification archive documenting a completed migration of a React web UI from MUI v9 to shadcn/ui + Tailwind v4 + lucide-react across eight incremental slices.
## files
- apply-progress.md | Cumulative progress log documenting the implementation of a web UI rework across multiple slices, tracking completed tasks, file changes, deviations, and remaining work for a React/TypeScript frontend migration from MUI to shadcn/ui primitives. | dep: shadcn/ui, TanStack Table, Vitest, React, TypeScript, Vite, lucide-react, Tailwind CSS, npm, Node.js, git
- archive-report.md | Documents the archive readiness of a completed `web-ui-rework` OpenSpec change, deferring the final folder move to a parent orchestrator while verifying all 8 lifecycle phases and archive preconditions are satisfied. | dep: git, openspec, sdd-sync, sdd-status, node/npm (build/lint/test toolchain), vitest, eslint, tanstack table, shadcn/ui, tailwind
@@ -16,7 +16,7 @@ OpenSpec change specification archive documenting the planning, design, implemen
- tasks.md | Defines a phased implementation plan for migrating a web UI from MUI v9 to shadcn/ui + Tailwind v4 + lucide-react, with 8 slices of concrete tasks, dependency ordering, and strict exit gates per slice. | dep: shadcn/ui, Tailwind CSS v4, lucide-react, TanStack Table, Vitest, Testing Library, React, Vite, MUI v9 (being removed), @emotion (being removed)
- verify-report.md | Verification report documenting a completed frontend migration from MUI v9 to shadcn/ui + Tailwind v4 + lucide-react, validating all 71 tasks, 18 requirements, and 4 quality gates pass with two non-blocking findings. | dep: npm, node, vitest, @testing-library/react, react, react-router-dom, react-oidc-context, @tanstack/react-table, tailwindcss, lucide-react, radix-ui, jsdom, eslint, typescript, vite, git
## arch
Document-driven specification pattern with eight lifecycle phases (proposal → exploration → design → spec → tasks → apply-progress → verify-report → archive-report), using incremental slice-based delivery with strict exit gates per slice.
Specification-driven lifecycle documentation following a structured eight-phase change management process (proposal → exploration → design → spec → tasks → apply → verify → archive), with progress tracking, sync reconciliation, and verification gate reports.
## tags
react, shadcn, lucide, ui, report, mui, tailwind, table
## symbols
@@ -2,7 +2,7 @@
dir: openspec/changes/archive/2026-06-17-web-ui-rework/specs
## role
Specifications directory for the web UI rework change proposal in the OpenSpec archive.
Specification directory containing archived design documents for the 2026-06-17 web UI rework change.
## parent
index: openspec/changes/archive/2026-06-17-web-ui-rework/.pi-map.index.md
map: openspec/changes/archive/2026-06-17-web-ui-rework/.pi-map.md
@@ -4,10 +4,10 @@ dir: openspec/changes/archive/2026-06-17-web-ui-rework/specs
index: openspec/changes/archive/2026-06-17-web-ui-rework/specs/.pi-map.index.md
## role
Specifications directory for the web UI rework change proposal in the OpenSpec archive.
Specification directory containing archived design documents for the 2026-06-17 web UI rework change.
## files
## arch
Empty directory intended to contain structured specification documents following the OpenSpec change-driven workflow pattern.
OpenSpec change-based specification pattern, archiving approved proposal specs in a dated directory structure.
## tags
-
## symbols
@@ -2,7 +2,7 @@
dir: openspec/changes/archive/2026-06-17-web-ui-rework/specs/web-ui
## role
Defines durable architectural specifications and post-change contracts for a web UI rework transitioning from MUI/Emotion to shadcn/ui/Tailwind.
Defines durable specification contracts for a web UI rework migrating from MUI/Emotion to shadcn/ui/Tailwind with standardized component and testing patterns.
## parent
index: openspec/changes/archive/2026-06-17-web-ui-rework/specs/.pi-map.index.md
map: openspec/changes/archive/2026-06-17-web-ui-rework/specs/.pi-map.md
@@ -4,11 +4,11 @@ dir: openspec/changes/archive/2026-06-17-web-ui-rework/specs/web-ui
index: openspec/changes/archive/2026-06-17-web-ui-rework/specs/web-ui/.pi-map.index.md
## role
Defines durable architectural specifications and post-change contracts for a web UI rework transitioning from MUI/Emotion to shadcn/ui/Tailwind.
Defines durable specification contracts for a web UI rework migrating from MUI/Emotion to shadcn/ui/Tailwind with standardized component and testing patterns.
## files
- spec.md | Defines durable post-change end-state contracts for a web UI rework migrating from MUI/Emotion to shadcn/ui/Tailwind, removing charting, restructuring navigation, and standardizing on TanStack Table with Vitest testing. | dep: shadcn/ui, Tailwind v4, lucide-react, Radix primitives, @tanstack/react-table, react-router-dom, react-oidc-context, Vitest, @testing-library/react, Grafana
## arch
Specification document establishing declarative technology-stack mandates, component-library standards, and structural conventions governing frontend implementation.
Specification-driven contract document establishing end-state requirements across UI framework migration, navigation restructuring, table standardization, and testing conventions.
## tags
react, shadcn, table, vitest, spec, defines, durable, post
## symbols
@@ -0,0 +1,28 @@
# openspec/changes/archive/2026-07-08-prometheus-direct-charting (index)
dir: openspec/changes/archive/2026-07-08-prometheus-direct-charting
## role
Archived OpenSpec change documentation package for replacing Grafana integration with direct Prometheus-based charting and metric widgets.
## parent
index: openspec/changes/archive/.pi-map.index.md
map: openspec/changes/archive/.pi-map.md
## children
- openspec/changes/archive/2026-07-08-prometheus-direct-charting/specs
index: openspec/changes/archive/2026-07-08-prometheus-direct-charting/specs/.pi-map.index.md
map: openspec/changes/archive/2026-07-08-prometheus-direct-charting/specs/.pi-map.md
## files
- apply-progress.md
- archive-report.md
- design.md
- proposal.md
- spec.md
- sync-report.md
- tasks.md
- verify-report.md
## links
index: openspec/changes/archive/2026-07-08-prometheus-direct-charting/.pi-map.index.md
map: openspec/changes/archive/2026-07-08-prometheus-direct-charting/.pi-map.md
## workflows
-
## dirty
-
@@ -0,0 +1,26 @@
# openspec/changes/archive/2026-07-08-prometheus-direct-charting
dir: openspec/changes/archive/2026-07-08-prometheus-direct-charting
index: openspec/changes/archive/2026-07-08-prometheus-direct-charting/.pi-map.index.md
## role
Archived OpenSpec change documentation package for replacing Grafana integration with direct Prometheus-based charting and metric widgets.
## files
- apply-progress.md | This file documents the completion status and implementation details of a project change that replaced Grafana integration with direct Prometheus-based charting and metric widgets. | dep: prometheus, recharts, pytest, ruff, npm, vitest
- archive-report.md | This file is an archive report documenting the completion and archival of the "prometheus-direct-charting" OpenSpec change, verifying all lifecycle phases were completed and recording the folder's move to the archive directory. | dep: git, OpenSpec
- design.md | Design document detailing the architectural changes required to replace Grafana with direct Prometheus-based charting, including backend API extensions, frontend widget rewrites, and full removal of Grafana dependencies. | dep: Prometheus API, recharts, Pydantic, GrafanaWidgetSource, PrometheusWidgetSource
- proposal.md | This file is a Software Design Document (SDD) proposal outlining the architectural plan to remove Grafana as a middleman by implementing direct Prometheus charting, alongside introducing new gauge and mean metric widgets. | dep: prometheus, recharts, openspec/config.yaml, integrations/grafana.py
- spec.md | Specification document defining acceptance requirements for replacing Grafana with direct Prometheus-based charting, gauge, and mean widgets.
- sync-report.md | This file is a documentation report detailing the synchronization of OpenSpec artifacts for a specific software change, reconciling flat and domain-specific specifications into a canonical store. | dep: openspec, prometheus-charting, web-ui
- tasks.md | Task tracking document for implementing a multi-slice migration to replace Grafana with direct Prometheus charting
- verify-report.md | Verification report documenting an adversarial, read-only audit of a code change that replaces Grafana with direct Prometheus charting.
## arch
Lifecycle-based specification archive following a structured documentation pattern (proposal → design → spec → tasks → verification → archival) with cross-referencing reports across each phase.
## tags
prometheus, report, grafana, charting, direct, openspec, change, archive
## symbols
-
## workflows
-
## dirty
-
@@ -0,0 +1,20 @@
# openspec/changes/archive/2026-07-08-prometheus-direct-charting/specs (index)
dir: openspec/changes/archive/2026-07-08-prometheus-direct-charting/specs
## role
Contains specification documents defining requirements and acceptance criteria for a Prometheus direct charting feature change.
## parent
index: openspec/changes/archive/2026-07-08-prometheus-direct-charting/.pi-map.index.md
map: openspec/changes/archive/2026-07-08-prometheus-direct-charting/.pi-map.md
## children
- openspec/changes/archive/2026-07-08-prometheus-direct-charting/specs/prometheus-charting
index: openspec/changes/archive/2026-07-08-prometheus-direct-charting/specs/prometheus-charting/.pi-map.index.md
map: openspec/changes/archive/2026-07-08-prometheus-direct-charting/specs/prometheus-charting/.pi-map.md
## files
## links
index: openspec/changes/archive/2026-07-08-prometheus-direct-charting/specs/.pi-map.index.md
map: openspec/changes/archive/2026-07-08-prometheus-direct-charting/specs/.pi-map.md
## workflows
-
## dirty
-
@@ -0,0 +1,18 @@
# openspec/changes/archive/2026-07-08-prometheus-direct-charting/specs
dir: openspec/changes/archive/2026-07-08-prometheus-direct-charting/specs
index: openspec/changes/archive/2026-07-08-prometheus-direct-charting/specs/.pi-map.index.md
## role
Contains specification documents defining requirements and acceptance criteria for a Prometheus direct charting feature change.
## files
## arch
Structured specification files following OpenSpec conventions, organized as archived change proposals with feature capability descriptions.
## tags
-
## symbols
-
## workflows
-
## dirty
-
@@ -0,0 +1,19 @@
# openspec/changes/archive/2026-07-08-prometheus-direct-charting/specs/prometheus-charting (index)
dir: openspec/changes/archive/2026-07-08-prometheus-direct-charting/specs/prometheus-charting
## role
Defines durable specification requirements for replacing Grafana with direct Prometheus-backed metric visualization widgets (charts, gauges, and means).
## parent
index: openspec/changes/archive/2026-07-08-prometheus-direct-charting/specs/.pi-map.index.md
map: openspec/changes/archive/2026-07-08-prometheus-direct-charting/specs/.pi-map.md
## children
-
## files
- spec.md
## links
index: openspec/changes/archive/2026-07-08-prometheus-direct-charting/specs/prometheus-charting/.pi-map.index.md
map: openspec/changes/archive/2026-07-08-prometheus-direct-charting/specs/prometheus-charting/.pi-map.md
## workflows
-
## dirty
-
@@ -0,0 +1,19 @@
# openspec/changes/archive/2026-07-08-prometheus-direct-charting/specs/prometheus-charting
dir: openspec/changes/archive/2026-07-08-prometheus-direct-charting/specs/prometheus-charting
index: openspec/changes/archive/2026-07-08-prometheus-direct-charting/specs/prometheus-charting/.pi-map.index.md
## role
Defines durable specification requirements for replacing Grafana with direct Prometheus-backed metric visualization widgets (charts, gauges, and means).
## files
- spec.md | Specifies the durable end-state requirements for replacing Grafana with direct Prometheus-backed metric visualization (chart, gauge, and mean widgets).
## arch
Follows an OpenSpec specification pattern describing end-state functional requirements without prescribing implementation details.
## tags
spec, specifies, durable, end, state, requirements, replacing, grafana
## symbols
-
## workflows
-
## dirty
-
@@ -0,0 +1,28 @@
# openspec/changes/archive/2026-07-09-service-storage-harness (index)
dir: openspec/changes/archive/2026-07-09-service-storage-harness
## role
Specification and change-management archive for the "service-storage-harness" feature, documenting the full OpenSpec SDD lifecycle from proposal through verification.
## parent
index: openspec/changes/archive/.pi-map.index.md
map: openspec/changes/archive/.pi-map.md
## children
- openspec/changes/archive/2026-07-09-service-storage-harness/specs
index: openspec/changes/archive/2026-07-09-service-storage-harness/specs/.pi-map.index.md
map: openspec/changes/archive/2026-07-09-service-storage-harness/specs/.pi-map.md
## files
- apply-progress.md
- archive-report.md
- design.md
- proposal.md
- spec.md
- sync-report.md
- tasks.md
- verify-report.md
## links
index: openspec/changes/archive/2026-07-09-service-storage-harness/.pi-map.index.md
map: openspec/changes/archive/2026-07-09-service-storage-harness/.pi-map.md
## workflows
-
## dirty
-
@@ -0,0 +1,26 @@
# openspec/changes/archive/2026-07-09-service-storage-harness
dir: openspec/changes/archive/2026-07-09-service-storage-harness
index: openspec/changes/archive/2026-07-09-service-storage-harness/.pi-map.index.md
## role
Specification and change-management archive for the "service-storage-harness" feature, documenting the full OpenSpec SDD lifecycle from proposal through verification.
## files
- apply-progress.md | Documents the completion progress and detailed deliverables of a 35-task "service-storage-harness" software feature implementation across four code slices.
- archive-report.md | This file is an archive report documenting the completion and archival of the `service-storage-harness` change within an OpenSpec SDD workflow. | dep: OpenSpec, git, pytest, ruff, npm, vitest
- design.md | This document outlines the software design for a service storage harness and qBittorrent integration, detailing database migrations, per-service data isolation, and widget data retrieval. | dep: sqlite3, requests, asyncio
- proposal.md | Proposal document describing a service storage harness abstraction with qBittorrent widget integration and MediaIndex migration for a homelab management dashboard. | dep: SQLite, Pydantic, recharts, @tanstack/react-table, Fernet, qBittorrent Web API
- spec.md | Defines acceptance requirements and specifications for implementing a service storage harness with qBittorrent widgets, MediaIndex migration, and cascade-delete wiring.
- sync-report.md | Documentation report detailing the synchronization of the `service-storage-harness` OpenSpec change artifacts into a canonical specification format. | dep: openspec
- tasks.md | Task breakdown document outlining a phased implementation plan for a service storage harness, qBittorrent integration, and MediaIndex migration across backend and frontend.
- verify-report.md | Fresh-context adversarial verification report documenting the read-only test and spec-coverage results for the `service-storage-harness` change.
## arch
Document-driven specification archive following a structured SDD workflow (proposal → design → spec → tasks → implementation → verification → archival) with multiple artifacts capturing each phase.
## tags
service, report, storage, harness, openspec, qbittorrent, progress, archive
## symbols
-
## workflows
-
## dirty
-
@@ -0,0 +1,20 @@
# openspec/changes/archive/2026-07-09-service-storage-harness/specs (index)
dir: openspec/changes/archive/2026-07-09-service-storage-harness/specs
## role
Directory containing archived OpenSpec change specifications for the service storage harness feature implemented on 2026-07-09.
## parent
index: openspec/changes/archive/2026-07-09-service-storage-harness/.pi-map.index.md
map: openspec/changes/archive/2026-07-09-service-storage-harness/.pi-map.md
## children
- openspec/changes/archive/2026-07-09-service-storage-harness/specs/service-storage
index: openspec/changes/archive/2026-07-09-service-storage-harness/specs/service-storage/.pi-map.index.md
map: openspec/changes/archive/2026-07-09-service-storage-harness/specs/service-storage/.pi-map.md
## files
## links
index: openspec/changes/archive/2026-07-09-service-storage-harness/specs/.pi-map.index.md
map: openspec/changes/archive/2026-07-09-service-storage-harness/specs/.pi-map.md
## workflows
-
## dirty
-
@@ -0,0 +1,18 @@
# openspec/changes/archive/2026-07-09-service-storage-harness/specs
dir: openspec/changes/archive/2026-07-09-service-storage-harness/specs
index: openspec/changes/archive/2026-07-09-service-storage-harness/specs/.pi-map.index.md
## role
Directory containing archived OpenSpec change specifications for the service storage harness feature implemented on 2026-07-09.
## files
## arch
Flat-file specification archive following OpenSpec change-tracking conventions, preserving historical design docs and spec deltas for auditability.
## tags
-
## symbols
-
## workflows
-
## dirty
-
@@ -0,0 +1,19 @@
# openspec/changes/archive/2026-07-09-service-storage-harness/specs/service-storage (index)
dir: openspec/changes/archive/2026-07-09-service-storage-harness/specs/service-storage
## role
Specification document defining requirements for a service storage harness including qBittorrent integration, MediaIndex migration, and cascade-delete functionality.
## parent
index: openspec/changes/archive/2026-07-09-service-storage-harness/specs/.pi-map.index.md
map: openspec/changes/archive/2026-07-09-service-storage-harness/specs/.pi-map.md
## children
-
## files
- spec.md
## links
index: openspec/changes/archive/2026-07-09-service-storage-harness/specs/service-storage/.pi-map.index.md
map: openspec/changes/archive/2026-07-09-service-storage-harness/specs/service-storage/.pi-map.md
## workflows
-
## dirty
-
@@ -0,0 +1,19 @@
# openspec/changes/archive/2026-07-09-service-storage-harness/specs/service-storage
dir: openspec/changes/archive/2026-07-09-service-storage-harness/specs/service-storage
index: openspec/changes/archive/2026-07-09-service-storage-harness/specs/service-storage/.pi-map.index.md
## role
Specification document defining requirements for a service storage harness including qBittorrent integration, MediaIndex migration, and cascade-delete functionality.
## files
- spec.md | Specification document defining 28 requirements (SS-101 through SS-128) for a service storage harness, qBittorrent integration, MediaIndex migration, and cascade-delete wiring.
## arch
Single Markdown specification file organized by numbered requirements (SS-101 through SS-128), following an OpenSpec change-proposal pattern with structured requirement definitions.
## tags
spec, specification, document, defining, requirements, 101, 128, service
## symbols
-
## workflows
-
## dirty
-
@@ -2,7 +2,7 @@
dir: openspec/changes/archive/configurable-dashboard-widgets
## role
OpenSpec change specification package documenting the design and implementation plan for a configurable dashboard widgets feature.
Archived OpenSpec change specification for adding a configurable, user-customizable widget system to a media library dashboard application.
## parent
index: openspec/changes/archive/.pi-map.index.md
map: openspec/changes/archive/.pi-map.md
@@ -4,7 +4,7 @@ dir: openspec/changes/archive/configurable-dashboard-widgets
index: openspec/changes/archive/configurable-dashboard-widgets/.pi-map.index.md
## role
OpenSpec change specification package documenting the design and implementation plan for a configurable dashboard widgets feature.
Archived OpenSpec change specification for adding a configurable, user-customizable widget system to a media library dashboard application.
## files
- apply-progress.md | Documents the implementation progress of a configurable dashboard widgets feature across four development slices, covering backend CRUD, source adapters, frontend components, and dashboard integration. | dep: FastAPI, Pydantic, TanStack Query, React, TypeScript, Vitest, pytest, ruff, docker-compose
- design.md | Design document for a configurable dashboard widget system with closed compile-time registries, adding backend SQLite storage, FastAPI CRUD endpoints, source adapters, and React frontend components for a media library viewer application. | dep: FastAPI, React, SQLite, Pydantic, shadcn/ui, Starlette, Jellyfin client, SSH client, LocalCommandClient/RemoteSSHClient, Grafana, Prometheus
@@ -12,7 +12,7 @@ OpenSpec change specification package documenting the design and implementation
- proposal.md | This file is a software design proposal for adding a configurable widget system to an existing FastAPI/React dashboard application, replacing hard-coded sections with extensible, user-configurable widgets backed by multiple data sources. | dep: FastAPI, React, TanStack Query, SQLite, Pydantic, TypeScript, SQLAlchemy/SettingsStore, Jellyfin client, SSH client, Grafana, Prometheus
- tasks.md | Software design document outlining a phased implementation plan for replacing hard-coded dashboard sections with a configurable, persisted widget system across backend and frontend. | dep: Pydantic, FastAPI, SQLite, JWT/API-key middleware, TanStack Query, React, TypeScript, shadcn/ui, docker compose, ruff, pytest
## arch
Specification-driven development pattern using progressive documentation (exploration → proposal → design → tasks → progress) to drive phased full-stack implementation across backend and frontend.
Design proposal package following OpenSpec workflow (exploration → proposal → design → tasks → progress), documenting a phased full-stack implementation using compile-time widget registries, SQLite persistence, FastAPI CRUD endpoints, source adapters, and React frontend components.
## tags
react, fastapi, configurable, dashboard, design, pydantic, sqlite, tanstack query
## symbols
@@ -2,7 +2,7 @@
dir: openspec/changes/archive/configurable-dashboard-widgets/specs
## role
Archived specification documents for a configurable dashboard widgets feature change.
Archive directory containing historical specification documents for the configurable dashboard widgets feature change.
## parent
index: openspec/changes/archive/configurable-dashboard-widgets/.pi-map.index.md
map: openspec/changes/archive/configurable-dashboard-widgets/.pi-map.md
@@ -4,10 +4,10 @@ dir: openspec/changes/archive/configurable-dashboard-widgets/specs
index: openspec/changes/archive/configurable-dashboard-widgets/specs/.pi-map.index.md
## role
Archived specification documents for a configurable dashboard widgets feature change.
Archive directory containing historical specification documents for the configurable dashboard widgets feature change.
## files
## arch
OpenSpec change specification structure containing design specs for previously implemented widget customization capabilities.
OpenSpec convention-based specification format storing change proposals as structured markdown files with deltas, requirements, and scenario definitions.
## tags
-
## symbols
@@ -2,7 +2,7 @@
dir: openspec/changes/archive/configurable-dashboard-widgets/specs/dashboard-widgets
## role
Defines the specification document for a Phase 1 configurable dashboard widget system with persisted layouts and REST API access.
Specification document defining Phase 1 requirements for a configurable dashboard widget system with persistence, REST API, and compile-time registries.
## parent
index: openspec/changes/archive/configurable-dashboard-widgets/specs/.pi-map.index.md
map: openspec/changes/archive/configurable-dashboard-widgets/specs/.pi-map.md
@@ -4,11 +4,11 @@ dir: openspec/changes/archive/configurable-dashboard-widgets/specs/dashboard-wid
index: openspec/changes/archive/configurable-dashboard-widgets/specs/dashboard-widgets/.pi-map.index.md
## role
Defines the specification document for a Phase 1 configurable dashboard widget system with persisted layouts and REST API access.
Specification document defining Phase 1 requirements for a configurable dashboard widget system with persistence, REST API, and compile-time registries.
## files
- spec.md | Define Phase 1 requirements for a persisted, configurable dashboard widget system with closed compile-time registries, SQLite persistence, REST API, and independent widget data fetching. | dep: SQLite, Pydantic, TanStack Query, shadcn/ui, JWT/API-key auth, Jellyfin client, Grafana/Prometheus settings, SSH task runner, BackupDashboardSummary
## arch
Specification document outlining a closed compile-time registry pattern with SQLite persistence, REST API layer, and independent widget data fetching architecture.
Specification-driven design pattern defining bounded context requirements for a widget system using closed registries, SQLite persistence layer, REST API endpoints, and independent data-fetching widgets.
## tags
widget, sqlite, api, spec, define, phase, requirements, persisted
## symbols
@@ -2,7 +2,7 @@
dir: openspec/changes/archive/decommission-monitoring-poller
## role
Documents the decommissioning plan for a legacy SSH-based monitoring poller following a migration to Prometheus/Grafana.
Documentation archive of a completed change plan to decommission a legacy SSH-based monitoring poller after migrating to Prometheus/Grafana.
## parent
index: openspec/changes/archive/.pi-map.index.md
map: openspec/changes/archive/.pi-map.md
@@ -4,11 +4,11 @@ dir: openspec/changes/archive/decommission-monitoring-poller
index: openspec/changes/archive/decommission-monitoring-poller/.pi-map.index.md
## role
Documents the decommissioning plan for a legacy SSH-based monitoring poller following a migration to Prometheus/Grafana.
Documentation archive of a completed change plan to decommission a legacy SSH-based monitoring poller after migrating to Prometheus/Grafana.
## files
- plan.md | Draft implementation plan for removing a legacy SSH-based monitoring poller and its associated dead code after an observability stack migration to Prometheus/Grafana. | dep: none (this is a planning document, not executable code)
## arch
Single-file Markdown archive artifact following an OpenSpec change-management process, structured as an implementation plan with phased steps and rationale.
Single-file markdown documentation following an "OpenSpec" change-management pattern, serving as a historical record of an infrastructure decommissioning plan.
## tags
plan, draft, implementation, removing, legacy, ssh, monitoring, poller
## symbols
@@ -2,7 +2,7 @@
dir: openspec/changes/archive/jellyfin-service-registry
## role
Archived change specification for migrating Jellyfin configuration from machine-level settings to a service-registry model.
OpenSpec change proposal directory documenting the migration of Jellyfin service configuration from machine-level settings to a service-registry model.
## parent
index: openspec/changes/archive/.pi-map.index.md
map: openspec/changes/archive/.pi-map.md
@@ -4,13 +4,13 @@ dir: openspec/changes/archive/jellyfin-service-registry
index: openspec/changes/archive/jellyfin-service-registry/.pi-map.index.md
## role
Archived change specification for migrating Jellyfin configuration from machine-level settings to a service-registry model.
OpenSpec change proposal directory documenting the migration of Jellyfin service configuration from machine-level settings to a service-registry model.
## files
- design.md | Design document for completing the migration of Jellyfin service configuration from machine-level settings to service-registry instances, involving removal of legacy media_root and path_prefix fields across backend, frontend, and docs. | dep: integrations/jellyfin.py, integrations/jellyseerr.py, dependencies.py, settings_store.py, path_utils.py, routers/files.py, types/index.ts, Settings.tsx, docs/REQUIREMENTS.md, CHANGELOG.md
- proposal.md | Proposes completing a migration of Jellyfin configuration from machine-level settings to a service registry, removing dead fields and legacy UI elements.
- tasks.md | Defines a task checklist for completing the migration of Jellyfin from machine-level configuration to a service registry, including backend/frontend cleanup and documentation updates. | dep: backend/src/media_library_viewer_api/services/settings_store.py, backend/src/media_library_viewer_api/path_utils.py, backend/tests, frontend/src/types/index.ts, frontend/src/pages/Settings.tsx, frontend/src/pages/__tests__/Settings.test.tsx, docs/REQUIREMENTS.md, CHANGELOG.md
## arch
OpenSpec change-document pattern consisting of three coordinated documents: proposal (rationale), design (technical approach), and tasks (implementation checklist).
Spec-driven planning package containing three structured Markdown artifacts (proposal, design, tasks) that define scope, technical approach, and implementation checklist for a single coordinated change.
## tags
py, settings, backend, frontend, src, jellyfin, service, md
## symbols
@@ -2,7 +2,7 @@
dir: openspec/changes/archive/observability-service-registry
## role
Proposal and design documentation package detailing the migration of observability services from environment-variable configuration to a dynamic service registry model.
OpenSpec change proposal package documenting the migration of observability services (Alertmanager, Grafana, Prometheus) from environment-variable configuration to a dynamic service registry model.
## parent
index: openspec/changes/archive/.pi-map.index.md
map: openspec/changes/archive/.pi-map.md
@@ -4,13 +4,13 @@ dir: openspec/changes/archive/observability-service-registry
index: openspec/changes/archive/observability-service-registry/.pi-map.index.md
## role
Proposal and design documentation package detailing the migration of observability services from environment-variable configuration to a dynamic service registry model.
OpenSpec change proposal package documenting the migration of observability services (Alertmanager, Grafana, Prometheus) from environment-variable configuration to a dynamic service registry model.
## files
- design.md | Design document describing the migration of observability services from environment-variable configuration to a dynamic service registry model.
- proposal.md | This file is a technical proposal document outlining changes to migrate observability services (Alertmanager, Grafana, Prometheus) from environment variables to a first-class service registry.
- tasks.md | Task breakdown document detailing a 5-slice implementation plan for migrating observability services (Alertmanager, Grafana, Prometheus) to a service registry pattern with UI-based configuration.
## arch
OpenSpec change-documentation pattern consisting of three structured Markdown artifacts: a proposal (intent), a design (technical approach), and tasks (implementation breakdown).
OpenSpec structured proposal pattern consisting of three documents: design.md (technical design), proposal.md (change justification and scope), and tasks.md (incremental implementation plan broken into 5 slices).
## tags
design, document, observability, services, service, registry, proposal, environment
## symbols
@@ -2,7 +2,7 @@
dir: openspec/changes/archive/service-registry
## role
Archive of an OpenSpec change proposal that refactored a dashboard's widget configuration system from static addon/machine-based configuration into a dynamic, database-persisted runtime service registry.
Archive of an OpenSpec change proposal that refactored a monolithic addon configuration system into a runtime, database-persisted service registry with UI-managed service instances.
## parent
index: openspec/changes/archive/.pi-map.index.md
map: openspec/changes/archive/.pi-map.md
@@ -4,14 +4,14 @@ dir: openspec/changes/archive/service-registry
index: openspec/changes/archive/service-registry/.pi-map.index.md
## role
Archive of an OpenSpec change proposal that refactored a dashboard's widget configuration system from static addon/machine-based configuration into a dynamic, database-persisted runtime service registry.
Archive of an OpenSpec change proposal that refactored a monolithic addon configuration system into a runtime, database-persisted service registry with UI-managed service instances.
## files
- apply-progress.md | Documents the incremental implementation and migration of a runtime service registry across multiple PR slices, replacing legacy addon/machine-based configuration with a dynamic service-based architecture. | dep: React/TypeScript frontend, Python/FastAPI backend, Docker Compose, Ruff, Pytest, npm/Vite, Jellyfin API, Jellyseerr API, SSH transport
- design.md | Design document for refactoring a monolithic addon system into a runtime service registry with pluggable service definitions, encrypted secrets, and derived widget types. | dep: FastAPI, Pydantic, SQLite, Fernet (cryptography), React/TypeScript frontend, SSH task runner, Grafana, Prometheus, Jellyfin, Nextcloud
- proposal.md | Proposes a runtime service registry architecture to replace environment-variable and machine-level configuration with database-persisted, UI-managed service instances for dashboard widgets. | dep: SQLite, Pydantic, Python modules, backend models, frontend routing, settings store, widget registry, adapters
- tasks.md | Defines a phased implementation plan for migrating a dashboard application's widget system from an addon-based model to a service registry model with encrypted secrets, CRUD operations, and runtime service resolution. | dep: cryptography, FastAPI, Pydantic, SQLAlchemy/sqlite, React/TypeScript, pytest, ruff, npm
## arch
OpenSpec change-documentation pattern comprising four structured Markdown artifacts—proposal, design, tasks, and apply-progressthat sequentially define the rationale, technical design, implementation plan, and execution history for the feature.
OpenSpec change-management convention comprising four structured Markdown documents (proposal, design, tasks, apply-progress) that collectively define the rationale, technical design, phased implementation plan, and migration tracking for an architectural refactor.
## tags
service, runtime, registry, addon, react, design, pydantic, sqlite
## symbols
@@ -2,7 +2,7 @@
dir: openspec/changes/archive/unify-tasks-on-services
## role
Archived OpenSpec change proposal that documented the migration of saved task execution from machine-based to SSH service-based references.
OpenSpec change specification for unifying saved task execution on SSH services by replacing machine-based references with service-based ones.
## parent
index: openspec/changes/archive/.pi-map.index.md
map: openspec/changes/archive/.pi-map.md
@@ -4,13 +4,13 @@ dir: openspec/changes/archive/unify-tasks-on-services
index: openspec/changes/archive/unify-tasks-on-services/.pi-map.index.md
## role
Archived OpenSpec change proposal that documented the migration of saved task execution from machine-based to SSH service-based references.
OpenSpec change specification for unifying saved task execution on SSH services by replacing machine-based references with service-based ones.
## files
- design.md | Design document for unifying saved task execution on SSH services by replacing machine-based references with service-based ones, consolidating history into a single table, and creating a shared backend helper. | dep: ssh_tasks service, service_task_runs table, SettingsStore, ServiceRecord, _build_ssh_client, routers/tasks.py, widgets/sources.py, SshTaskWidgetSource, SQLite 3.25+
- proposal.md | Proposes migrating the Actions page's saved task execution from machine-based to SSH service-based to unify execution paths with the existing SSH task widget. | dep: ssh_tasks service, service registry, service_task_runs, saved_task_runs, _build_ssh_client, _client_for_machine
- tasks.md | A completed task plan for refactoring saved tasks to run on SSH services instead of machines, unifying backend and frontend code around a shared runner and service-based execution model. | dep: backend, frontend, SSH services, settings_store, task_runner, routers, widgets, pytest, npm, ruff
## arch
Specification-driven change management pattern using three documents (proposal, design, tasks) to capture rationale, technical architecture, and implementation tracking for a completed refactoring effort.
Documentation-driven change proposal following a design-proposal-tasks pattern with markdown artifacts defining the rationale, technical design, and completed task breakdown for the refactoring effort.
## tags
task, execution, ssh, tasks, design, saved, service, backend
## symbols
@@ -0,0 +1,23 @@
# openspec/changes/mobile-responsive-parity (index)
dir: openspec/changes/mobile-responsive-parity
## role
Planning and specification package documenting the design, requirements, and implementation plan for achieving mobile-responsive UI parity across a React frontend application.
## parent
index: openspec/changes/.pi-map.index.md
map: openspec/changes/.pi-map.md
## children
-
## files
- design.md
- proposal.md
- spec.md
- tasks.md
- verify-report.md
## links
index: openspec/changes/mobile-responsive-parity/.pi-map.index.md
map: openspec/changes/mobile-responsive-parity/.pi-map.md
## workflows
-
## dirty
-
@@ -0,0 +1,23 @@
# openspec/changes/mobile-responsive-parity
dir: openspec/changes/mobile-responsive-parity
index: openspec/changes/mobile-responsive-parity/.pi-map.index.md
## role
Planning and specification package documenting the design, requirements, and implementation plan for achieving mobile-responsive UI parity across a React frontend application.
## files
- design.md | Design document detailing a mobile-responsive UI parity implementation plan for a React application. | dep: React, Vite, TanStack Query, TanStack Table, Tailwind CSS, shadcn/ui, Radix, lucide-react, react-router-dom, react-oidc-context
- proposal.md | A technical proposal document outlining the plan for achieving mobile responsive parity in the Manage frontend application.
- spec.md | Specification document defining mobile responsive parity requirements across all application routes, covering breakpoints, data tables, forms, touch targets, and dashboard layout.
- tasks.md | Project task breakdown plan for implementing mobile responsive UI parity across a frontend application in 10 incremental slices. | dep: frontend (React/TypeScript), Vitest, shadcn/ui, Tailwind CSS
- verify-report.md | Documents the verification phase results for a mobile-responsive UI parity change, detailing acceptance criteria, test outcomes, and residual risks.
## arch
OpenSpec change-based documentation pattern with sequential artifacts tracking the full lifecycle: design, proposal, specification, task breakdown, and verification report.
## tags
mobile, responsive, parity, react, application, design, document, plan
## symbols
-
## workflows
-
## dirty
-
@@ -0,0 +1,23 @@
# openspec/changes/services-as-hub-ia (index)
dir: openspec/changes/services-as-hub-ia
## role
Architectural change specification package documenting the reorganization of a media library application's information architecture to center around configured services rather than abstract concepts.
## parent
index: openspec/changes/.pi-map.index.md
map: openspec/changes/.pi-map.md
## children
-
## files
- design.md
- proposal.md
- spec.md
- tasks.md
- verify-report.md
## links
index: openspec/changes/services-as-hub-ia/.pi-map.index.md
map: openspec/changes/services-as-hub-ia/.pi-map.md
## workflows
-
## dirty
-
@@ -0,0 +1,23 @@
# openspec/changes/services-as-hub-ia
dir: openspec/changes/services-as-hub-ia
index: openspec/changes/services-as-hub-ia/.pi-map.index.md
## role
Architectural change specification package documenting the reorganization of a media library application's information architecture to center around configured services rather than abstract concepts.
## files
- design.md | Design document describing a refactoring of application architecture to organize around services as the central information architecture, including backend service registry changes and frontend IA refactoring. | dep: React 18, Vite, TanStack Query/Table, Tailwind v4, shadcn/ui, react-router-dom, FastAPI, SQLite
- proposal.md | This file is a technical proposal document outlining an architectural reorganization of an application to center its navigation and information architecture around configured services rather than abstract concepts. | dep: Authentik, Jellyfin, Alertmanager, Grafana, Prometheus, TanStack Query, SMTP
- spec.md | Specification document detailing a frontend information architecture reorganization around services as the central hub, including new service types, routing changes, and navigation requirements.
- tasks.md | Defines a 12-slice task breakdown for restructuring a media library viewer app's information architecture to be service-centric. | dep: backend (ruff, pytest), frontend (npm, vitest), jellyseerr, jellyfin, authentik, alertmanager, grafana, prometheus
- verify-report.md | Documents the verification phase results for a UI restructuring effort that reorganizes an application's information architecture around services.
## arch
OpenSpec change-management pattern with structured proposal-to-verification lifecycle documents (design, proposal, spec, tasks, verification) defining a service-centric IA refactoring across backend registry and frontend navigation.
## tags
architecture, information, around, services, design, document, application, service
## symbols
-
## workflows
-
## dirty
-
+7 -1
View File
@@ -2,11 +2,17 @@
dir: openspec/specs
## role
Directory for OpenAPI/Swagger specification files defining API contracts, schemas, and endpoint documentation.
Specification directory defining project standards, schemas, or API contracts.
## parent
index: openspec/.pi-map.index.md
map: openspec/.pi-map.md
## children
- openspec/specs/prometheus-charting
index: openspec/specs/prometheus-charting/.pi-map.index.md
map: openspec/specs/prometheus-charting/.pi-map.md
- openspec/specs/service-storage
index: openspec/specs/service-storage/.pi-map.index.md
map: openspec/specs/service-storage/.pi-map.md
- openspec/specs/web-ui
index: openspec/specs/web-ui/.pi-map.index.md
map: openspec/specs/web-ui/.pi-map.md
+2 -2
View File
@@ -4,10 +4,10 @@ dir: openspec/specs
index: openspec/specs/.pi-map.index.md
## role
Directory for OpenAPI/Swagger specification files defining API contracts, schemas, and endpoint documentation.
Specification directory defining project standards, schemas, or API contracts.
## files
## arch
Declarative YAML/JSON specification files following the OpenAPI standard, organized as static schema definitions without executable code.
Empty directory placeholder within an OpenSpec spec framework, intended to house declarative specification files.
## tags
-
## symbols
@@ -0,0 +1,19 @@
# openspec/specs/prometheus-charting (index)
dir: openspec/specs/prometheus-charting
## role
Specification package defining requirements for replacing Grafana with native Prometheus-backed metric visualization widgets in a Manage application.
## parent
index: openspec/specs/.pi-map.index.md
map: openspec/specs/.pi-map.md
## children
-
## files
- spec.md
## links
index: openspec/specs/prometheus-charting/.pi-map.index.md
map: openspec/specs/prometheus-charting/.pi-map.md
## workflows
-
## dirty
-
@@ -0,0 +1,19 @@
# openspec/specs/prometheus-charting
dir: openspec/specs/prometheus-charting
index: openspec/specs/prometheus-charting/.pi-map.index.md
## role
Specification package defining requirements for replacing Grafana with native Prometheus-backed metric visualization widgets in a Manage application.
## files
- spec.md | Specification defining the requirements for replacing Grafana with direct Prometheus-backed metric visualization widgets (chart, gauge, mean) in a Manage application.
## arch
Specification-driven document architecture capturing functional requirements, use cases, and integration design for direct Prometheus API-based charting components (chart, gauge, mean).
## tags
spec, specification, defining, requirements, replacing, grafana, direct, prometheus
## symbols
-
## workflows
-
## dirty
-
@@ -0,0 +1,19 @@
# openspec/specs/service-storage (index)
dir: openspec/specs/service-storage
## role
Specification document defining acceptance requirements and feature contracts for a per-service data storage and lifecycle layer.
## parent
index: openspec/specs/.pi-map.index.md
map: openspec/specs/.pi-map.md
## children
-
## files
- spec.md
## links
index: openspec/specs/service-storage/.pi-map.index.md
map: openspec/specs/service-storage/.pi-map.md
## workflows
-
## dirty
-
+19
View File
@@ -0,0 +1,19 @@
# openspec/specs/service-storage
dir: openspec/specs/service-storage
index: openspec/specs/service-storage/.pi-map.index.md
## role
Specification document defining acceptance requirements and feature contracts for a per-service data storage and lifecycle layer.
## files
- spec.md | Specification document defining acceptance requirements for a per-service data lifecycle/storage layer, qBittorrent integration, MediaIndex migration, and cascade-delete behavior. | dep: ServiceDataHarness, QbittorrentSampleStore, QbittorrentClient, QbittorrentWidgetSource, LineSeriesChart, MediaIndex, recharts, Fernet
## arch
Single-file markdown specification using numbered acceptance-criteria sections, integration contracts (qBittorrent, MediaIndex), and behavioral definitions (cascade-delete) without executable code.
## tags
mediaindex, spec, specification, document, defining, acceptance, requirements, per
## symbols
-
## workflows
-
## dirty
-
+1 -1
View File
@@ -2,7 +2,7 @@
dir: openspec/specs/web-ui
## role
Canonical specification document defining the web UI migration plan from MUI/Emotion to shadcn/ui + Tailwind v4 with TanStack Table and observability tooling.
Defines the canonical specification for migrating the Manage web frontend from MUI/Emotion to shadcn/ui + Tailwind v4 with TanStack Table and observability tooling.
## parent
index: openspec/specs/.pi-map.index.md
map: openspec/specs/.pi-map.md
+2 -2
View File
@@ -4,11 +4,11 @@ dir: openspec/specs/web-ui
index: openspec/specs/web-ui/.pi-map.index.md
## role
Canonical specification document defining the web UI migration plan from MUI/Emotion to shadcn/ui + Tailwind v4 with TanStack Table and observability tooling.
Defines the canonical specification for migrating the Manage web frontend from MUI/Emotion to shadcn/ui + Tailwind v4 with TanStack Table and observability tooling.
## files
- spec.md | Defines the canonical post-rework specification for a Manage web frontend migration from MUI/Emotion to shadcn/ui + Tailwind v4, with TanStack Table data grids, thin-dashboard observability, and reconciled information architecture. | dep: shadcn/ui, Tailwind v4, lucide-react, TanStack Table, @tanstack/react-table, Radix primitives, react-router-dom, react-oidc-context, Vitest, @testing-library/react, Grafana
## arch
Single-document declarative specification (no code architecture); describes target frontend stack patterns including component library migration, data grid implementation, and information architecture reconciliation.
Single-document technical specification outlining target technology stack, component patterns, and information architecture guidelines for a UI layer migration.
## tags
react, shadcn, table, spec, defines, canonical, post, rework
## symbols