Scope
- Review UI over the existing dry-run deduplicators (
POST /api/v1/projects/:id/dedup today always runs {dryRun:true} for project + global): candidate pairs/groups with side-by-side content, similarity evidence, scope (project vs cross-project), versions and sources.
- Purpose-built evidence comparison, not a spreadsheet; keyboard-driven accept/skip marking stored locally as pending review decisions (IndexedDB), no server mutation.
- API: make the dry-run response shape explicit/typed (candidate ids, scores, reasons), keep existing callers working.
Definition of done: a user can review duplicate candidates for one project and mark intended decisions; nothing is applied; contract tests for the typed dry-run shape.
Depends on: #1800
Size: M
Priority: P2
Epic: #1824
Working rules for this slice
- One PR per slice (split further if the diff stops being reviewable). Branch from
main; conventional-commit title.
- Follow
AGENTS.md and quality/REVIEW.md (adversarial correctness review, regression tests, two-reviewer discipline). pnpm run typecheck, pnpm run lint, pnpm run format:check, pnpm test, pnpm run build must pass.
- Do not touch proxy/pipeline behaviour,
CHANGELOG.md, or package versions.
packages/core must never depend on ACP, Git process control, browser state or UI types. The browser bundle must never import gateway boot code, credentials or database modules.
- Existing
/api/v1 routes keep their response shapes; new options/routes are opt-in and backward compatible.
- Record decisions, dependency versions and test commands in
packages/ui/README.md (or the relevant package README) instead of a separate design doc.
Plan reference: Lore UI and agent-workspace action plan v2.3 (18 Sep 2026; kept out of the repo, held by @BYK). Baseline commit for the plan: a4e6af5b.
Scope
POST /api/v1/projects/:id/deduptoday always runs{dryRun:true}for project + global): candidate pairs/groups with side-by-side content, similarity evidence, scope (project vs cross-project), versions and sources.Definition of done: a user can review duplicate candidates for one project and mark intended decisions; nothing is applied; contract tests for the typed dry-run shape.
Depends on: #1800
Size: M
Priority: P2
Epic: #1824
Working rules for this slice
main; conventional-commit title.AGENTS.mdandquality/REVIEW.md(adversarial correctness review, regression tests, two-reviewer discipline).pnpm run typecheck,pnpm run lint,pnpm run format:check,pnpm test,pnpm run buildmust pass.CHANGELOG.md, or package versions.packages/coremust never depend on ACP, Git process control, browser state or UI types. The browser bundle must never import gateway boot code, credentials or database modules./api/v1routes keep their response shapes; new options/routes are opt-in and backward compatible.packages/ui/README.md(or the relevant package README) instead of a separate design doc.Plan reference: Lore UI and agent-workspace action plan v2.3 (18 Sep 2026; kept out of the repo, held by @BYK). Baseline commit for the plan:
a4e6af5b.