Skip to content

Phase 1: Routing agent — per-connected-component deterministic/agentic decision #77

Description

@matthewmoorcroft

Summary: Turn motifs and insights into a user-approved deterministic/agentic conversion plan at connected-component granularity; this Phase 1 routing step is not built.

Depends on: #64, #25/#82, and ADF control lineage from #80/#81 after their main re-land.

Blocks: #87 and supplies decisions later consumed by #85.

Current status

This is an open issue with no routing implementation yet.

The required inputs exist only on staging or in follow-on work:

What needs to change

Add an agent-authored, library-validated conversion-plan artifact that:

No decision means today's behavior. Routing is opt-in.

How to approach

Add a source-neutral plan model/validator adjacent to models/insights.py and discovery_insights.py, reusing the latter's inventory fingerprint and pipeline/control-edge lookup patterns. Build weak/undirected connected components from each ControlEdge source_workflow/target_workflow pair, retaining unresolved edges as validation findings rather than silently severing them.

Expose an explicit author/validate/record step through adapter/main.py and mcp/server.py. Store the deterministic recommendation, user choice, component membership, evidence (motifs/insights), and inventory fingerprint. Do not mutate TranslationReport or Pipeline here.

Acceptance/verification:

  • Component tests cover chains, branches, cycles, isolated pipelines, unresolved callees, and multiple invocation edges.
  • Validation rejects partial or conflicting decisions inside one component and unknown pipeline names.
  • Recommendations default to deterministic when motif capability covers the component; agentic recommendations cite uncovered gaps/insights.
  • The plan is fingerprint-bound, deterministic/idempotent to serialize, and fully user-reviewable.
  • With no plan, existing ADF and Airflow conversion/package outputs are byte-equivalent to today.
  • Airflow's current path is untouched; Pete may adopt the source-neutral artifact later.

This is additive, opt-in routing metadata only.

Activity

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions