Skip to content

PR-RPS-6: IP V1 6-section UI + multi-level Goal#151

Merged
jukka-matti merged 1 commit into
response-path-system-v1from
codex/pr-rps-6
May 10, 2026
Merged

PR-RPS-6: IP V1 6-section UI + multi-level Goal#151
jukka-matti merged 1 commit into
response-path-system-v1from
codex/pr-rps-6

Conversation

@jukka-matti
Copy link
Copy Markdown
Owner

Summary

  • Add the ImprovementProject UI primitive group with a six-section form shell, progress indicator, and accessible collapsible sections.
  • Add presentational metadata, background, goal, lineage, approach, and outcome reference sections with props-only data flow.
  • Export the new component group from @variscout/ui and cover it with RTL/Vitest tests.

Verification

  • pnpm --filter @variscout/ui test
  • pnpm --filter @variscout/ui build
  • pnpm build
  • bash scripts/pr-ready-check.sh

Notes

  • Ruflo MCP diff analysis was attempted with origin/response-path-system-v1; the MCP rejected slash refs, so I reran it against the resolved target commit hash 24e3a45fe0978cc034d7a7142969c6a239e46857. That MCP call completed but reported the root checkout diff rather than this worktree diff, so the worktree git diff was used for the final scoped review.

@vercel
Copy link
Copy Markdown

vercel Bot commented May 10, 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 10, 2026 9:51am
variscout_website Ready Ready Preview, Comment May 10, 2026 9:51am

@jukka-matti jukka-matti merged commit 94625cd into response-path-system-v1 May 10, 2026
3 checks passed
@jukka-matti jukka-matti deleted the codex/pr-rps-6 branch May 10, 2026 09:54
jukka-matti added a commit that referenced this pull request May 10, 2026
…+ store + .vrs + D18 primitives) (#150)

* feat(core): ImprovementProject type with multi-level Y/X/x Goal

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

* feat(core): IMPROVEMENT_PROJECT_* HubAction kinds + ProcessHub.improvementProjects?

* fix(core): exclude updatedAt + deletedAt from IMPROVEMENT_PROJECT_UPDATE patch + clarify sections deep-merge JSDoc

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

* feat(pwa): persistence handlers for IMPROVEMENT_PROJECT_* + Dexie improvementProjects table

* fix(pwa): clean financialImpact merge + persist improvementProjects via HUB_PERSIST_SNAPSHOT

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

* feat(azure): persistence handlers for IMPROVEMENT_PROJECT_* + Dexie improvementProjects table (v10)

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

* test(azure): cover HUB_PERSIST_SNAPSHOT IP decomposition + tighten dispatch fixture

Critical-1: update AzureHubRepository.test.ts fixture to include improvementProjects
on the dispatched hub so the saveProcessHubToIndexedDB assertion actually exercises
the decomposition path (previous fixture had no IPs, making hubWithoutIP === hub
structurally and the assertion vacuously pass).

Critical-2: add AzureHubRepository.snapshot.test.ts — real-Dexie integration tests
(fake-indexeddb/auto) that verify the decomposition contract end-to-end: hub blob
stored without IPs, IPs written to dedicated table, empty/absent IP arrays leave
table empty, and stale IPs absent from the new snapshot are deleted.

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

* feat(stores): useImprovementProjectStore — Document-layer per-hub projection

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

* test(core): vrs round-trip preserves improvementProjects on ProcessHub

* feat: live-document primitives — useLiveProjection + snapshot helpers (D18)

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

* fix(core+tests): align IP UPDATE patch type with documented partial-sections contract + type Azure mocks

`IMPROVEMENT_PROJECT_UPDATE` patch.sections is now `Partial<ImprovementProject['sections']>`
so callers can supply a single sub-section key without TS2739. Matches the JSDoc shallow-merge
contract and the test fixtures in both persistence handler suites.

Azure mock signatures updated to `vi.fn<(hub: ProcessHub) => Promise<void>>()` /
`vi.fn<(action: HubAction) => Promise<void>>()` so mock.calls[0][0] destructuring
(TS2493 / TS2352) resolves correctly.

Added a compile-time test in exhaustiveness.test.ts documenting the partial-sections
contract at the type level.

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

* feat(ui): add improvement project primitives (#151)

---------

Co-authored-by: ruflo <ruv@ruv.net>
jukka-matti added a commit that referenced this pull request May 13, 2026
…80, log shipment

All 10 PRs of Response Path System V1 merged on main 2026-05-09 → 2026-05-13
(#144 / #147 / #148 / #149 / #150 / #151 / #152 / #153 / #154 / #155). This
commit syncs tracking docs that the squash merges left stale:

- docs/roadmap.md: PR-RPS-9 + PR-RPS-10 SHIPPED rows; flip §3 to "10 of 10";
  free up ADR-080 slot from the 8f canvas viewport item (taken by Sustainment)
- docs/decision-log.md: pin "2026-05-13 — RPS V1 SHIPPED — full lifecycle live"
- docs/07-decisions/adr-080-sustainment-auto-fire-pattern.md (new): document
  the Sustainment-shaped lifecycle pattern (auto-fire + Inbox prompt +
  signoff tier gate) as a pattern reference for future response-path
  lifecycles, per plan §PR-RPS-9 ledger line 2231
- docs/07-decisions/index.md: add rows 078 / 079 / 080 (078+079 also weren't
  indexed when shipped)
- Spec + plan frontmatter: draft/active → delivered, last-reviewed 2026-05-13

Co-Authored-By: ruflo <ruv@ruv.net>
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