Skip to content

AI-Suggested Single Mappings #911

@brandonopened

Description

@brandonopened

AI-Suggested Mappings on the MDR Mapping Canvas

Is your feature request related to a problem? Please describe.
Mapping a new source data model to LIF (or any target) is the most time-consuming part of onboarding a data source. Today users have to manually scan
dozens to hundreds of source/target attributes and drag wires one-by-one, which is repetitive for the obvious cases (e.g. firstName → firstName) and
easy to miss when names differ slightly. It's the #1 friction point reported in workshops and the dominant blocker to onboarding new sources at demo
customers.

Describe the solution you'd like
Add a "Suggest mappings" action to the MDR mapping canvas that uses an LLM to propose attribute-to-attribute mappings between the loaded source and
target models. Suggestions render as dashed wires distinct from confirmed mappings. Clicking a suggested wire opens a small popover showing confidence,
source → target, a one-sentence reason, and approve (✓) / reject (✗) buttons. Approving creates a normal Transformation (identical in shape to a
hand-drawn one); rejecting removes the dashed wire. Suggestions are opt-in via an API key, never auto-commit, and the human always reviews each one.

Describe alternatives you've considered

  • Fuzzy name matching only (no LLM): cheap, but misses semantic synonyms, type/unit differences, and won't propose transform expressions.
  • Bulk import via CSV mapping spec: useful for power users but doesn't help with first-time discovery and still requires authoring the mapping somewhere.
  • Auto-apply high-confidence matches: faster but unsafe — silent mappings are hard to audit and erode trust.
  • Separate "AI mode" view: would split the workflow; inline suggestions on the existing canvas keeps everything in one place.

Additional context
A working prototype already exists on the ai-suggest branch (commits f4011bb and following). It uses Claude via the ANTHROPIC_API_KEY env var, renders https://github.com/brandonopened/lif-core/tree/ai-suggest
dashed purple wires for suggestions, and has the approve/reject popover wired up to the existing Transformations create endpoint. Open questions for the
team: should rejections persist across sessions, where the button should live in the toolbar, and whether on-prem/local-model support is needed for
customers who can't send schema metadata to a hosted LLM.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions