Skip to content

Mapper: Auto Match starts a run with no matching algorithm, does nothing, and records it as failed #2872

Closed
OpenConceptLab/oclmap
#92

Description

@paynejd

Since multi-algorithm configuration (#2307), a new project starts with no matching algorithm. Auto Match still accepts Submit with Retrieve Candidates ticked. It sends no $match calls, closes the run in under a second, and records it as failed with 0 completed and 0 failed rows. The user gets no message: the dialog's "Your project is configured to use the following match algorithms:" is just followed by an empty list. Seen in production on 2026-06-23 and on 2026-10-02 (four runs in a row on a new LOINC project).

Auto Match can also run the AI Assistant alone, on rows that already have candidates. So the dialog has to work out what a run will actually do from the project's algorithms, the row scope and its two checkboxes. It should tell the user while they set the run up, not after Submit.

Acceptance criteria

  • With no algorithm configured, the dialog says so where it lists the algorithms and offers a way to open Configure. Retrieve Candidates is off and disabled.
  • With Run AI Analysis on and Retrieve Candidates off, the dialog shows how many rows in the chosen scope the AI will analyse and how many it will skip. It analyses rows that have candidates and no analysis against those same candidates yet.
  • These messages update as the scope and checkboxes change.
  • Submit is disabled, with the reason shown, only when the run would do nothing.
  • A run that would do nothing opens no AutomatchRun.
  • An AI-only run is recorded by what the AI did. Today summarizeRunCompletion counts only algorithm stages, so an AI-only run that analysed every row is recorded as failed (0/0).

Components:

  • oclmap AutoMatchDialog.jsx: isDisabled, the Retrieve Candidates checkbox and the algorithm chips.
  • MapProject.jsx: onGetCandidatesSubmit, getRowsResults, createAutomatchRun, and runBulkAIAnalysis → fetchRecommendation, which skips rows with no recommendable_concepts.
  • src/services/attribution.js: summarizeRunCompletion.

Activity

  1. added this to the P2 · Mapper: Beta milestone on Oct 2, 2026
  2. ocl-automation commented on Oct 2, 2026

    @ocl-automation
    Collaborator

    Automated Triage — 2026-10-02

    Dimension Score
    Complexity 3
    Scope 3
    Clarity 4
    Dependency 1
    Risk 3

    Decision: decision/ai-ready
    Type: type/bug
    Signals: signal/well-specified

    The issue has detailed acceptance criteria and names the affected files (AutoMatchDialog.jsx, MapProject.jsx, attribution.js), but the dialog logic has to account for algorithms, row scope and two checkboxes, and the AI-only run recording needs a design choice, so complexity and scope are moderate. The cause, #2307, is closed, so nothing blocks the work, and the risk is moderate because it changes how production runs are recorded and when they are created. The type stays bug because runs are wrongly recorded as failed.


    Generated by ticket-triage pipeline v3. Model: anthropic/claude-sonnet-5.5 (openrouter).

  3. self-assigned this
    on Oct 3, 2026
  4. snyaggarwal commented on Oct 5, 2026

    @snyaggarwal
    Contributor
  5. added 3 commits that reference this issue on Oct 6, 2026
  6. added a commit that references this issue on Oct 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

component/mapperMapping toolssignal/well-specifiedClear requirements and acceptance criteriastage/triagedAI triage complete — scored and classifiedtype/bugSomething is broken

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions