Skip to content

feat(projects): PR-PT-1 foundation — reflection field + Projects tab routing + IP detail anatomy prep#172

Merged
jukka-matti merged 14 commits into
mainfrom
projects-tab-foundation
May 14, 2026
Merged

feat(projects): PR-PT-1 foundation — reflection field + Projects tab routing + IP detail anatomy prep#172
jukka-matti merged 14 commits into
mainfrom
projects-tab-foundation

Conversation

@jukka-matti
Copy link
Copy Markdown
Owner

Summary

Plan 1 PR-PT-1 of 5 — foundation for the new Projects tab per docs/superpowers/specs/2026-05-14-projects-tab-design.md D1, D2, D3, D14.

Changes:

  • Adds optional ImprovementProject.reflection?: string field (D14, per RPS V1 entity extension)
  • Extends PWA + Azure panelsStore with 'projects' activeView + selectedProjectId + showProjects(projectId?) action
  • Surfaces new field + action through useAppPanels (PWA)
  • New ProjectsTabView component in both PWA + Azure with: empty-state CTA, IP list view, and selected-project placeholder branch (placeholder replaced with <IPDetailPage> in PR-PT-2)
  • Adds Projects nav button between Improve and Report in both apps' headers
  • Renames "Improvement" nav label → "Improve" in both apps (PWA via new workspace.improve + workspace.projects i18n keys seeded in 32 locales; Azure via hardcoded strings per Azure convention)
  • Legacy 'improvement' activeView + showImprovement action untouched (legacy ImprovementView PDCA workbench stays as-shipped per spec D3)

Behind: This branch merged origin/main (commit 2944c71c) to pick up PR #169 + PR #171.

Test plan

  • pnpm --filter @variscout/core test — 3403 passed
  • pnpm --filter @variscout/pwa test — 344 passed / 1 skipped
  • pnpm --filter @variscout/azure-app test — 1307 passed (9 pre-existing unrelated useCanvasViewportLifecycle IndexedDB rejections — confirmed on main)
  • pnpm --filter @variscout/pwa tsc --noEmit — clean
  • pnpm --filter @variscout/azure-app tsc --noEmit — clean
  • bash scripts/pr-ready-check.sh — 1 pre-existing failure: Azure vitest exits non-zero due to 9 unhandled DatabaseClosedError (all 1307 tests pass; same on main). Docs frontmatter warning (21 old plan docs) also pre-existing on main.
  • Manual chrome walk deferred until PR-PT-5 ships (full lifecycle visible)

Spec coverage (Plan 1 / PR-PT-1)

  • ✅ D1 7-tab nav: Projects added between Improve and Report
  • ✅ D2 Tab names: "Improvement" → "Improve" label, "Projects" added
  • ✅ D3 Legacy Improve unchanged
  • ✅ D14 reflection?: string field added

Subsequent PRs in this plan (PR-PT-2 through PR-PT-5) build the IP detail page on top of this foundation.

jukka-matti and others added 13 commits May 14, 2026 18:32
…hpad design

Resolves Coherence spec §15 carry-forward "IP detail page details — Overview /
Sections toggle + team workspace pattern need detailed visual design".

Adds new top-level Projects tab (7-tab nav). Improve tab stays as legacy PDCA
workbench (zero migration). Home becomes the active-IP launchpad for Project
Lead persona; selecting an IP cascades scope to Process / Analyze /
Investigation / Improve / Report tabs via the IP-context chip.

IP detail page anatomy: stage tabs (Charter / Approach / Sustainment / Handoff)
+ Overview/Sections segmented toggle + 280px right team rail. Approach stage
is SuspectedCause-anchored (per-cause hierarchy: Hypothesis → ImprovementIdea
→ ActionItem); authoring jumps out to the Improve tab to avoid duplication.

Report tab IP-scoped with Overview/Technical audience toggle. Overview renders
a 7-section QC-Story-shaped narrative arc (plain-English UI, methodology
lineage internal-only per RPS V1 D2). Technical renders the full analytical
chart suite (capability histograms, I-Chart with intervention, factor R²adj
Pareto, regression scatter, per-cause control charts).

Single data-model addition: optional ImprovementProject.reflection?: string
field for the analyst's lessons-learned narrative (surfaces in Report
Overview "What we standardized + learned" section).

Amends Coherence spec §4 (nav) + §15 (carry-forward closure) + §16
(spec contributions matrix).

Co-Authored-By: ruflo <ruv@ruv.net>
Applies the §9 amendments described in
docs/superpowers/specs/2026-05-14-projects-tab-design.md (committed 2f4cff5)
back into the parent coherence spec so the ecosystem stays truthful.

Coherence spec amendments:
- §4 nav: 6 → 7 tabs (split Improvement → Improve + Projects)
  + amendment block explaining the deliberate verb/noun split
  + table updated with separate Improve (PDCA workbench, legacy) and
    Projects (IP lifecycle, new) rows
- §4 prose paragraph for "Improvement" replaced with two paragraphs
  (Improve = unchanged legacy / Projects = new lifecycle surface)
- §15: "IP detail page details" carry-forward marked RESOLVED with link
- §16 spec-contributions matrix: new row for the Projects-tab spec

Decision-log:
- New Replayed Decisions entry 2026-05-14 pinning the six locks
  (7-tab split / Home active-IP launchpad / IP detail anatomy /
  SuspectedCause-anchored Approach / Report Overview-Technical with
  QC-Story arc / reflection field addition)

The new Projects-tab spec (2f4cff5) can now cite the coherence spec
as up-to-date grounding when implementation plans land.

Co-Authored-By: ruflo <ruv@ruv.net>
Plan 1 of 4 covering 5 PRs (PR-PT-1 through PR-PT-5) off branch
projects-tab-foundation. Implements docs/superpowers/specs/2026-05-14-
projects-tab-design.md D1, D2, D3, D6, D7, D8, D9, D10, D14 + V1
skeleton of D11. Defers D4/D5/D12/D13 + V1 full D11 to Plans 2-4.

PR-PT-1 foundation — adds optional ImprovementProject.reflection field,
extends panelsStore with 'projects' activeView + selectedProjectId +
showProjects action, adds Projects tab button between Improve and
Report, renames the existing Improvement label → Improve.

PR-PT-2 anatomy — IPDetailHeader + IPDetailStageTabs + IPDetailModeToggle
+ IPDetailTeamRail skeleton + pure deriveStageState function, all
exposed via packages/ui/src/components/IPDetail (new sub-path export).

PR-PT-3 Charter — KPI strip + jump-outs + Sections wraps existing form.

PR-PT-4 Approach — SuspectedCause-anchored hierarchy via projectCauses
pure function + ApproachCauseCard primitive + ApproachOverview/Sections
compositions. "Open in Improve workbench" jump-out per cause.

PR-PT-5 Sustainment + Handoff — cadence-tick Sustainment Overview +
operationalization-checklist Handoff Overview. V1 Sections shims link
to legacy Sustainment/Handoff activeView panels.

Bite-sized TDD tasks (test fail → implement → test pass → commit) with
full code in every step. ~35 tasks across 5 PRs.

Spec frontmatter updated to link to the plan (inbound-link requirement).

Co-Authored-By: ruflo <ruv@ruv.net>
Per spec D14 — analyst-authored lessons-learned narrative; surfaces in
Report Overview "What we standardized + learned" section (Plan 4).

Co-Authored-By: ruflo <ruv@ruv.net>
TDD: 3 new tests (red→green). Adds showProjects(projectId?) action,
selectedProjectId field, and mirrors 'projects' in useAppPanels activeView union.
Replace hardcoded indigo-600/700 palette tokens with --vs-accent /
--vs-accent-hover CSS variable references to align with the shared
theme token system used across the codebase.

Co-Authored-By: ruflo <ruv@ruv.net>
…ove label

- lazyWithRetry import for ProjectsTabView
- projects branch in JSX ternary chain (immediately before improvement)
- PhaseId extended with 'projects'; PHASE_TABS adds improve + projects entries
- workspace.improve + workspace.projects keys added to MessageCatalog and all 32 locale files

Co-Authored-By: ruflo <ruv@ruv.net>
- panelsStore: add 'projects' to activeView union + selectedProjectId field + showProjects action (before 'improvement' in union)
- panelsStore tests: reset selectedProjectId in beforeEach + 3 new showProjects tests
- ProjectsTabView: create apps/azure/src/components/ProjectsTabView.tsx (verbatim from PWA)
- AppHeader: rename 'Improvement' nav label → 'Improve'; add 'Projects' nav button after it
- Editor.tsx: import ProjectsTabView + selectedProjectId selector + activeView === 'projects' JSX branch immediately before 'improvement' branch

Co-Authored-By: ruflo <ruv@ruv.net>
…ects (PR-PT-1.5 carry-forward)

Co-Authored-By: ruflo <ruv@ruv.net>
@vercel
Copy link
Copy Markdown

vercel Bot commented May 14, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
mean-beoynd-lite-pwa Ready Ready Preview, Comment May 14, 2026 8:53pm
variscout_website Ready Ready Preview, Comment May 14, 2026 8:53pm

jukka-matti added a commit that referenced this pull request May 14, 2026
…ion'

The CATEGORY enum in scripts/docs-frontmatter-schema.mjs doesn't include
'implementation-plan', 'implementation-plan-master', 'implementation-audit',
'chrome-walk', or 'plan'. Schema becomes blocking 2026-05-15 per the
frontmatter check; pre-PR-#172 reviewer flagged the drift.

Consolidated 17 plan docs to the canonical 'implementation' value
(already used by 18 other plan files). Other valid values 'reference' (4)
and 'architecture' (1) preserved as-is.

Co-Authored-By: ruflo <ruv@ruv.net>
# Conflicts:
#	docs/superpowers/plans/2026-05-14-projects-tab-foundation.md
#	docs/superpowers/specs/2026-05-14-projects-tab-design.md
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