Files
fusion/plugins/fusion-plugin-quality
gsxdsm 9b8edf06c4 fix(FN-2127): Quality experimental gate, done-task worktrees, hub layout (#2164)
## Summary

Follow-up on **#2127** (Quality plugin already on `main`). This PR only
lands the remaining Quality deltas that were not merged:

- **Experimental gate fix** — `TaskStore.getSettings()` is async; the
gate now awaits merged settings so enabling
`experimentalFeatures.qualityPlugin` actually works, and status-bearing
errors return structured `{ status, body }` instead of collapsing to
hard failures
- **Done-task QA worktrees** — when a task has no live worktree (typical
after land), preview/task runs create a disposable checkout under
`.fusion/quality-qa/` at the task branch or merge commit so processes
run the **done task’s code**, not project root
- **Hub layout** — shared `ViewHeader` + dashboard spacing/typography so
Quality matches Insights / Compound Engineering / Goals

Scoped to `plugins/fusion-plugin-quality/**` only (rebased onto current
`main`; duplicate plugin-landing commits dropped).

## Test plan

- [ ] Enable **Settings → Experimental → Quality Plugin**, restart if
routes were cold
- [ ] Quality hub: header matches other views; refresh + presets work
- [ ] Done task → QA tab → Start preview uses QA worktree at
branch/merge commit (not project root)
- [ ] Active task with live worktree still uses that worktree
- [ ] Flag off: clear experimental-disabled error (not generic empty
failure)
- [ ] `pnpm --filter @fusion-plugin-examples/quality test` (32 tests)
2026-07-16 00:16:12 -07:00
..

fusion-plugin-quality

First-party Fusion plugin that makes task QA easy and visual.

Surfaces

  • Quality hub (left sidebar): project-wide test run history and plans
  • Task QA tab: action-first task quality work
    • Task-scoped preview / test server (worktree cwd)
    • Allowlisted targeted tests + report viewer
    • Screenshots / visual evidence (task artifacts)
    • Suggested test cases (advisory checklist)
    • PR checks, browser verification handoff

Design principles

  • Orchestrates existing verification (testCommand, gate, verify-fast) — does not replace the merge gate
  • Composes Dev Server process patterns and the artifact registry
  • Composes fusion-plugin-agent-browser for browser verification (soft dependency)
  • Never uses port 4040; never free-form shell as the default path
  • Advisory results only — does not change merge eligibility

Settings

See plugin settingsSchema in src/settings.ts.