Skip to content

Redesign Twin Workspace: fix scrolling, grouped nav rail, task-oriented layout#85

Merged
WKJBryan merged 1 commit into
mainfrom
feature/twin-workspace-redesign
Jun 12, 2026
Merged

Redesign Twin Workspace: fix scrolling, grouped nav rail, task-oriented layout#85
WKJBryan merged 1 commit into
mainfrom
feature/twin-workspace-redesign

Conversation

@WKJBryan

Copy link
Copy Markdown
Owner

Summary

The Twin Workspace page could not scroll: #app is height: 100vh; overflow: hidden, so every routed view must own its scrolling — the old view used plain document flow and everything below the fold was unreachable. This PR rebuilds the view as a proper app shell and reorganizes it around tasks.

  • Layout: fixed header + fixed grouped navigation rail + independently scrolling main pane
  • Nav rail: destinations grouped by task (Work / Review / Configure / Help) with live counts and an accent bar on the active item
  • Overview: triage dashboard — clickable stat tiles plus compact one-line decision/action-gap rows instead of full cards with inline forms
  • Decision cards: state carried on a colored left edge and chips (Outcome pending / Sealed / Matched / Missed); outcome form is now a labeled grid (Chosen option / Outcome / Lesson / Regret 0-10) in a collapsible section that stays open until an outcome is recorded
  • Tests: TwinReviewDecisions.spec.js now navigates to the Decisions tab, where full cards live after the redesign

Test plan

  • 432/432 frontend tests pass (npm run test:run)
  • Lint: 0 errors, same 22 pre-existing warnings as main
  • npm run build succeeds
  • Verified live in browser via Vite + Playwright: main pane scrolls (1605px content in 834px pane), rail navigation works, empty states render

🤖 Generated with Claude Code

…ed layout

The view rendered in normal document flow inside #app (100vh,
overflow:hidden), so content below the fold was unreachable. The
workspace now owns its scrolling: fixed header, fixed grouped nav
rail, and an independently scrolling main pane.

- Nav rail groups destinations by task (Work / Review / Configure /
  Help) with monospace counts; active item gets an accent bar.
- Overview is a triage dashboard: clickable stat tiles plus compact
  decision/action-gap rows that jump to their tab, instead of full
  cards with inline forms.
- Decision cards carry their state on a colored left edge (pending /
  sealed / matched / missed) with matching status chips, and the
  outcome form is a labeled grid inside a details section that stays
  open until an outcome is recorded.
- Decision prediction tests now navigate to the Decisions tab, where
  full cards live after the redesign.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@WKJBryan WKJBryan merged commit 0a8d889 into main Jun 12, 2026
10 checks passed
@WKJBryan WKJBryan deleted the feature/twin-workspace-redesign branch June 12, 2026 06:56
@WKJBryan WKJBryan mentioned this pull request Jun 17, 2026
WKJBryan added a commit that referenced this pull request Jun 17, 2026
Version bump to 0.2.0 plus vite 7->8 upgrade to clear high-severity npm advisories. Ships Twin Workspace redesign (#85), sealed twin predictions + eval export (#84), Twin Identity setup (#83), jsconfig fix (#86).
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