Files
PaperClipAI/ui
DottaandClaude Opus 4.8 8c082f84e2 feat(ui): workspace-validation diagnosis card from run evidence (PAP-13578)
PAP-13568 Phase 4b. Render a workspace-validation diagnosis card on the run
page from the run's own `resultJson.workspaceValidation` evidence even when the
source issue has no live recovery action (blocked / pending-interaction issues,
per L3) — a failed workspace-validation run never renders nothing.

- Enrich the shared IssueRecoveryActionCard: lead with the plain-language reason,
  expected-vs-found branches with ahead/behind counts (read defensively — optional
  until Phase 2 lands them), and parked-by provenance (which issue/run left the
  worktree on the live branch).
- New lossless "Restore recorded branch" CTA (Contract A) for a clean divergence,
  wired to a new `restore` reconcile mode; the parked branch keeps its commits.
  Hidden when the recorded branch is contended (steer to isolated re-issue). The
  dangerous `override` stays demoted behind its reason-prompt popover.
- Run-page fallback reuses the same card via a presentational synthetic action
  built from run evidence; no resolve menu (no persisted action to resolve).
- Thread the restore handler through IssueDetail → IssueChatThread so the issue
  thread card gains the same enrichment.
- Component tests (50) + a Storybook panel for the card states; screenshots on
  the issue.

Coordinates with Phase 2 (PAP-13575): calls
POST /execution-workspaces/:id/reconcile-branch { mode: "restore" } and reads
optional provenance.aheadCount/behindCount. UI-only; no server files touched.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-11 12:54:41 +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.