Files
PaperClipAI/ui
DottaandClaude Opus 4.8 c0b0257334 Phase 3B follow-up: assignee picker interrupt clarity + pause affects summary
Implements the remaining two surfaces of the PAP-10668 design spec on top of
the shared helpers/views shipped in PAP-10669 (PAP-10675).

Surface 2 — standalone assignee picker (IssueProperties):
- Grouped "Agents" / "Board users" sections plus the "No assignee" reset.
- A live role=status banner ("<agent> is running — changing the assignee will
  interrupt this run") while a run is in flight.
- An "Interrupt & assign" confirm step: picking a different target mid-run
  stages the selection until the operator confirms, instead of applying it
  silently. hasActiveRun is threaded from IssueDetail's resolvedHasActiveRun.

Surface 4 — pause/hold dialog (IssueDetail):
- A "What this affects" bucket summary (live agent runs / queued wakes /
  agent-owned / human-owned / static) computed from the tree-control preview,
  plus an explanatory "Nothing live to pause" line replacing the bare warning.

Shared:
- lib/interrupt-handoff.ts: describeReassignInterrupt + computePauseAffectsSummary
  (pure, disjoint-bucket partition).
- InterruptHandoffViews.tsx: AssigneeRunningBanner, InterruptAssignConfirm,
  PauseAffectsSummaryView presentational views.
- Storybook "Surfaces/Interrupt Handoff": AssigneePicker + PauseAffects stories.

Tests: new logic (8) + view components (4) + an IssueProperties integration test
for the banner/confirm gate. Focused suites green; tsc -b clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 21:11:12 +00:00
..

@paperclipai/ui

Published static assets for the Paperclip board UI.

What gets published

The npm package contains the production build under dist/. It does not ship the UI source tree or workspace-only dependencies.

Storybook

Storybook config, stories, and fixtures live under ui/storybook/.

pnpm --filter @paperclipai/ui storybook
pnpm --filter @paperclipai/ui build-storybook

Typical use

Install the package, then serve or copy the built files from node_modules/@paperclipai/ui/dist.