This folder collects Product Requirement Documents that scope larger pieces of work. They are deliberately written as Markdown (rather than the historical .docx PRDs at the repo root) so they can be reviewed in PRs and linked from issues.
Each PRD is self-contained: problem, goals, requirements, phasing, acceptance, related issues.
Status review: Reconciled against main on 2026-08-25. “Implemented” below
means the planned implementation slices are present; manual, beta, performance,
or hardware acceptance may still remain where the individual PRD says so.
| PRD | Topic | Driving issues |
|---|---|---|
| UXD 01 — Mobile-First UX Foundation | T1–T6 implemented; beta, Lighthouse, and final cross-device/manual outcome validation remains | #399 |
| UXD 02 — Live View Ergonomics | P0–P3 implementation present; manual coarse-pointer, iOS/Android fullscreen, and cross-device acceptance remains | #326, #397, #399 |
| UXD 03 — Recordings & Timeline UX | P0–P3 implementation complete; large/busy-day, manual, and beta acceptance remains | #331, #399 |
| PRD | Topic |
|---|---|
| Recording Retention Policies | Per-stream retention and deletion policies (implemented — see the summary and the API quick reference) |
These PRDs turn the 2026 competitive audit into independently pursuable work. The order is intentional: later PRDs reuse the camera identities, selectors, events, and policy primitives established earlier.
| Order | PRD | Outcome | Implementation state |
|---|---|---|---|
| 1 | Fleet 01 — Camera Identity & Organization | Stable camera identity, location hierarchy, tags, and smart collections | P0–P3 implemented; acceptance reconciliation remains |
| 2 | Fleet 02 — Scoped Authorization & Audit | Action-level permissions over reusable fleet scopes | P0–P2 substantially implemented; groups, schedules, and direct-go2rtc audio boundary remain; SSO deferred |
| 3 | Fleet 03 — Event Bus & MQTT Routes | Durable provider-neutral events for cloud and automation consumers | P0–P2 complete; P3 in progress with health, recording-gap, storage-pressure, and storage-target transition producers wired |
| 4 | Fleet 04 — Fleet Explorer & Bulk Operations | Operate hundreds of cameras through search, queues, templates, and jobs | In progress — much of P0 plus personal/shared saved views and offline/degraded queues are present; scalability acceptance, remaining P1 queues, and P2–P4 remain |
| 5 | Storage 01 — Multi-Target Storage Lifecycle | Policy-driven placement, migration, retention, and capacity management | P0–P3 implementation complete; external adapters await a concrete integration, while field/scale and event-upgrade acceptance remain |
| 6 | ONVIF 01 — Capability Onboarding & Events | Reliable discovery, profile pairing, capability inventory, and normalized events | In progress — P0 persistent discovery inventory and explicit claim workflow implemented; time/auth diagnostics, capability snapshots, generalized events, and batch staging remain |
| 7 | ONVIF 02 — Metadata & Edge Recovery | Profile M analytics and Profile G recording backfill | Later |
| 8a | Operations 01 — Backup & Restore | Complete, verified, operator-safe system recovery | Later |
| 8b | Operations 02 — Evidence Cases & Integrity | Case holds, chain of custody, and verifiable exports | Later |
| 8c | UXD 04 — Maps & Operator Views | Spatial navigation, shared layouts, and camera sequences | Later |
| 8d | Privacy 01 — Masking & Exclusion Zones | Camera-side privacy masks with explicit software fallback | Later |
The numeric ordering expresses dependency order, not release promises; the “Later” entries remain deliberately unscheduled. SSO is not a standalone near-term project: it is the final, customer-triggered phase of Fleet 02. The trigger is a committed organizational deployment with a real IdP and named administrative counterpart, such as an SJC-scale adoption.
The three UXD PRDs share a primitive — an <AsyncButton> / useAsyncAction
hook — defined in PRD 01 and consumed by 02 and 03. PRD 01 P0 has landed, so the
remaining UXD work can build on that shared primitive.
The Investigation Workspace planning documents were created on the unmerged
docs/investigation-workspace-prd branch, while the implementation itself was
merged. Its P0–P3 slices are present on main: capture-time camera identity and
multi-camera review, paginated/faceted search, metadata region search, thumbnail
drill-down, durable bookmarks, and protect/download handoff. P4 archive and edge
source resolution remains dependent on Storage 01 and ONVIF 02. Restoring and
reconciling the canonical Investigation PRD is a documentation task, not a missing
implementation slice.