-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Labels
bugSomething isn't workingSomething isn't working
Description
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
- 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).
- This is an architectural concern raised after closing Redundant API calls when opening rows after Auto-Match in Map Project #2227 as "completed" despite the underlying redundancy concern.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working
Type
Projects
Status
No status