Skip to content

MEM-01: Project-scoped duplicate preview and pair/group review (read-only) #1803

Description

@devin-ai-integration

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions