Skip to content

Mapper: offer Custom Match Algorithm without the OCL Online API #2966

Open

Description

@paynejd

The open OCL Mapper has all the code a custom matching algorithm needs: the API URL and token fields in MultiAlgoSelector.jsx, and the batched POST in MapProject.jsx, whose request and response follow $match. But the Mapper only lists Custom Match Algorithm when the algorithm catalog at OCL_ONLINE_API_URL (/match-algorithms/) serves it. A Mapper built without OCL_ONLINE_API_URL offers only OCL Search and OCL Semantic.

Add Custom Match Algorithm to the built-in algorithms (useAlgos in src/components/map-projects/algorithms.jsx), so every build offers it. The catalog can still override it: MapProject.jsx already merges catalog entries over built-in ones by id and type (custom, custom).

Acceptance criteria

  • With no OCL_ONLINE_API_URL, the Matching Algorithm picker lists Custom Match Algorithm, and AutoMatch runs with it.
  • With the catalog configured, the picker lists it once.
  • Its name and description come from locale strings, like OCL Search and OCL Semantic.

Context: the Matching Algorithms page in OCL Docs (#2817, OpenConceptLab/ocl-docs#75) documents Custom Match Algorithm as part of the open Mapper.

Activity

  1. added a commit that references this issue on Oct 26, 2026
  2. ocl-automation commented on Oct 26, 2026

    @ocl-automation
    Collaborator

    Automated Triage — 2026-10-26

    Dimension Score
    Complexity 2
    Scope 2
    Clarity 5
    Dependency 1
    Risk 2

    Decision: decision/ai-ready
    Type: type/bug
    Signals: signal/quick-win, signal/low-risk, signal/small-scope, signal/well-specified

    The issue names the file (useAlgos in algorithms.jsx), the merge behaviour already in MapProject.jsx, and three testable acceptance criteria, so it is a small change plus locale strings. It is labelled type/bug, but it asks for a built-in algorithm to be offered in every build, so I classed it as a feature. The linked docs work (#2817, ocl-docs#75, #2816) is closed and does not block it. [Type: LLM suggested 'feature' but keeping human-applied 'bug'.]


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

  3. snyaggarwal commented on Oct 27, 2026

    @snyaggarwal
    Contributor

    @paynejd We should discuss this before picking this up

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    component/mapperMapping toolsdecision/ai-readyReady for autonomous AI executionsignal/low-riskSafe to execute with minimal downsidesignal/quick-winLow complexity, high clarity — easy winsignal/small-scopeLimited to a small part of the codebasesignal/well-specifiedClear requirements and acceptance criteriastage/triagedAI triage complete — scored and classifiedtype/bugSomething is broken

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions