Skip to content

Match review: best match first, and Match by hand over the review - #143

Merged
KodeStar merged 3 commits into
mainfrom
feat/match-review-sort
Oct 16, 2026
Merged

KodeStar merged 3 commits into
mainfrom
feat/match-review-sort

Conversation

@KodeStar

Copy link
Copy Markdown
Owner

Closes #141, closes #142.

What changes

  • Best match first (Matches sorted match %, currently mixed up #141). GET /admin/match-runs/{id}/items pages by score (descending, ties in recorded order). The cursor is still an item id: the next page reads on from that item's score, so a review paged 50 at a time sees the whole outcome in one order. No wire change.
  • Match by hand over the review (Add Modal dialog for Match by Hand #142). The row's Match by hand opens the book page's match dialog as a modal over the review, which keeps its tab, picks and loaded pages. An icon beside it opens the book page in a new tab, to look closer or listen.
  • A book matched since the run is left alone. A match run's book that has an ASIN or ISBN now (matched by hand from the review or its book page, by another admin, or a rescan found one) reads matched_since in the review with no changes, and an apply skips it with detail matched_since, under any scope (before, Use community values would write the run's match over it).
  • A cover a stop cut short stays to apply (cover_pending), so the next apply takes it.
  • MatchDialog loads its own book while open and shows a load error in place with a retry.

Verification

  • Go: catalog ordering + paging across tied scores; runner test for matched-since (review flag, overwrite apply skips it); stopped-cover test. Console: review stays open, Escape closes only the inner dialog, an accepted hand match reads matched since and leaves the apply.
  • Real browser (headless Chromium, real community matching): scores descend across the To review tab (100, 89 x6, 83, 77, 31); the hand-match dialog opens over the review; after accepting, the row reads "Matched since this run" with no checkbox, still so after a reload; Apply with Use community values left both hand-matched books untouched.
  • Gates: build-admin, go build/vet/test -race, golangci-lint green (lone load timeouts in untouched backup/imports tests passed on rerun).

Docs: KodeStar/audiosilo-docs (docs/match-review-sort).

The review's lists page by score (descending, a tie in recorded order), the
cursor still an item id, so 2,000 middling matches read best first rather
than in the order the workers finished (#141). Match by hand opens the book
page's match dialog over the review, which keeps its tab, picks and pages; a
book matched there leaves the apply. The book page is a new tab away (#142).
The apply never writes over a match run's book that has an ASIN or ISBN now
(matched by hand from the review, on its book page, by another admin, or a
rescan found one): planFor gives it no changes, the review marks it
matched_since and an apply skips it with that detail. The review's own
hand-match state goes; the match dialog loads its book while open and says
in place when it can't; one row is patched in place instead of every page
asked again; the cursor is a row-value comparison.
A match whose cover a stop cut short stays to apply (cover_pending), so its
own ASIN doesn't read as matched since and the next apply takes the cover;
the review marks a row matched since only when the server would (a match
run's pending book that has an identifier now), else asks for that tab
again; an applied row is never left out twice; a hand match refreshes the
Health issues.
@KodeStar
KodeStar merged commit b906fa0 into main Oct 16, 2026
3 checks passed
@KodeStar
KodeStar deleted the feat/match-review-sort branch October 16, 2026 12:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Modal dialog for Match by Hand Matches sorted match %, currently mixed up

1 participant