Skip to content

docs(prd): refine PRD + add SRE-centric React UI overhaul with permalinks - #29

Merged
ethompsy merged 1 commit into
mainfrom
docs/prd-refine-react-ui-permalinks
Jun 22, 2026
Merged

docs(prd): refine PRD + add SRE-centric React UI overhaul with permalinks#29
ethompsy merged 1 commit into
mainfrom
docs/prd-refine-react-ui-permalinks

Conversation

@ethompsy

Copy link
Copy Markdown
Owner

What

A docs-only change to docs/reqs/main.md: a multi-agent refinement of the existing PRD plus a new forward-looking workstream. No code changes.

1. Refinement of the existing (delivered) requirements

Folds decisions discovered during implementation back into the PRD so it's falsifiable and self-consistent. All resolved from existing context (architecture spec, UX spec, completed plan) — no scope changes to delivered work.

  • Detection: FR5 rate-vs-cumulative detection + infra denylist + 4σ floor; FR8 persisted cooldown (30m Completed / 60m Failed); FR9 ewma_warmup_samples semantics.
  • Lifecycle: FR11 concurrency cap (defer-not-drop); FR13 orphaned-Running reconcile; NFR12 no false-positive burst on restart.
  • UI: FR22/23/26/27 empty/failed/SSE states; FR41–44 sidebar state machine; FR32 auto-refresh; new NFR18 (WCAG 2.1 AA, focus-visible, prefers-reduced-motion).
  • Acceptance: two-clocks timing note, an "evidence-backed" pass condition, and a 3/3 run protocol; new Open Questions Q1–Q3 (deferred, non-blocking).

2. New section — SRE-Centric React UI Overhaul (Phase 3 / v0.2.0)

A forward-looking workstream, sequenced after the Phase 1 DoD.

  • Incremental Flask-BFF migration, incident-triage hero first (not a big-bang SPA).
  • "First-seconds" information model (which service / component / problem state / severity / since-when), with a data-source column.
  • FR45–53, NFR19–24, plus first-increment + workstream DoDs and post-rollout success metrics.
  • FR48 blast radius explicitly gated on RFC 0001 Phase 3 (a later increment — the correlation API doesn't exist yet).
  • FR51 component library built on the existing dark-first Tailwind tokens → the input for a Claude Design /design-sync pass (this is the React layer whose absence currently blocks design-sync).
  • FR53 permalinks: every migrated view is a shareable URL with per-surface state (list filter / detail id + #step), deep-linked via the BFF serving the React shell; ephemeral chrome (sidebar, scroll) stays local.
  • Open Questions R1–R6 (R2 resolved: Flask BFF).

Why

  • Make the delivered PRD precise enough to be falsifiable and to onboard future contributors.
  • Capture the next UI direction (SRE-centric, React, permalinkable) as reviewed requirements, and unblock a future Claude Design pass.

Review process

Each part went through a refine-requirements-style multi-agent review (Product Manager / Tech Lead / Designer) with a second verification cycle; findings were resolved before commit (e.g., FR48/RFC-0001 dependency, BFF routing precedence, permalink per-surface state, design-token continuity).

Notes for the reviewer

  • Docs only — no behavior change; the completed plan docs/plans/main.md is intentionally untouched.
  • Open Questions R1/R3–R6 and Q1–Q3 are the natural inputs to a future implementation-plan run (to a new plan path).

…inks

Multi-agent refine-requirements pass over docs/reqs/main.md plus a new
forward-looking workstream, reviewed across PM/Tech-Lead/Designer cycles.

Refinement (folded in from completed-implementation context):
- Detection: FR5 rate-vs-cumulative + infra denylist + 4σ floor; FR8 persisted
  cooldown (30m Completed / 60m Failed); FR9 ewma_warmup_samples semantics
- Lifecycle: FR11 concurrency cap (defer-not-drop); FR13 orphaned-Running
  reconcile; NFR12 no false-positive burst on restart
- UI: FR22/23/26/27 states; FR41-44 sidebar state machine; FR32 auto-refresh
- New NFR18 (WCAG 2.1 AA, focus-visible, prefers-reduced-motion)
- Measurable outcomes: two-clocks timing, evidence-backed pass condition,
  3/3 run protocol; new Open Questions Q1-Q3 (deferred, non-blocking)

New section - SRE-Centric React UI Overhaul (Phase 3 / v0.2.0):
- Incremental Flask-BFF migration, incident-triage hero first
- First-seconds information model; FR45-53, NFR19-24; DoDs + success metrics
- FR48 blast radius gated on RFC 0001 Phase 3 (later increment)
- FR51 component library on existing dark-first tokens -> /design-sync input
- FR53 permalinks: per-surface URL-encoded state, deep-link via BFF shell
- Open Questions R1-R6 (R2 resolved: Flask BFF)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@ethompsy
ethompsy merged commit 72ded7b into main Jun 22, 2026
5 checks passed
@ethompsy
ethompsy deleted the docs/prd-refine-react-ui-permalinks branch June 22, 2026 18:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant