You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As a user, I want candidate results fetched during Auto-Match to be reused when I open individual rows so the system avoids repeating the same expensive Match API calls.
Use case
Run Auto-Match on a Map Project, then open individual rows to review candidates without triggering a new per-row API request for already-fetched data.
Requirements
After Auto-Match runs, store the batch results client-side keyed by row identifier (e.g., __index or concept UUID).
When opening a row after Auto-Match, load candidates from the stored batch results instead of calling the Match API again.
Only call the Match API again when no cached data exists or the user explicitly requests a refresh.
Prefer a storage approach that survives normal UI state resets (e.g., localStorage, IndexedDB, or another persistent client-side store).
Acceptance criteria
Given Auto-Match completed, when the user opens a row, then no new Match API call is made if cached results exist for that row.
Given cached results do not exist for a row, when the user opens it, then the system falls back to calling the Match API.
Given the user requests a refresh (manual override), then the system re-calls the Match API and updates the stored results.
More details (collapsible)
Context
Current behavior: Auto-Match triggers a batch call, but opening each row triggers another API call for the same data.
Impact: unnecessary time/cost, especially when Match API is compute-heavy (~20s/row; AI rerankers/vector search).
Related to #2227
User story
As a user, I want candidate results fetched during Auto-Match to be reused when I open individual rows so the system avoids repeating the same expensive Match API calls.
Use case
Run Auto-Match on a Map Project, then open individual rows to review candidates without triggering a new per-row API request for already-fetched data.
Requirements
Acceptance criteria
More details (collapsible)
Context