Add secure conflicts check workflow

✅ merged · #1 · git-scottr/mike ← git-scottr/mike · opened 3d ago by git-scottr · merged 3d ago by git-scottr · self · +1,128 across 9 files · ↗ on GitHub

From the PR description

What changed

  • add backend-only conflict records for client, matter, party, and affiliate relationships
  • add owner-scoped, MFA-aware APIs for structured search, reviewer decisions, and conflicts audit history
  • add a dedicated Conflicts page and sidebar entry
  • require a human reviewer to record either cleared or conflict_found with rationale
  • add database migration, schema updates, validation helpers, and unit tests

Why

Conflicts data is sensitive and should not be exposed through broad project, library, search, or general-history endpoints. This creates a small end-to-end workflow with dedicated storage and access controls while treating search results only as potential matches.

Security and user impact

Browser roles have no direct access to the conflicts tables, RLS is enabled without permissive policies, and every API query is scoped to the authenticated owner. Searches remain pending_review until a human records a decision; the application never automatically clears a conflict.

Validation

  • backend tests: 556 passed, 23 skipped
  • backend TypeScript check: passed
  • frontend TypeScript check: passed
  • targeted frontend lint: passed
  • frontend tests: 276 passed; 4 existing Blob.text() export assertions failed under the available local runtime/dependency combination and are unrelated to this change
  • git diff --check: passed

Our analysis

Add human-reviewed conflicts workflow — read the full analysis →

Think the analysis missed something the PR description covers?

Capture this PR into my fork

Download a Markdown prompt that tells Claude how to port every commit in this PR into your working tree. Run it via claude -p < capture-pull-1.md from inside the repo you want the changes in.

⬇ Download capture-pull-1.md