Skip to content

Agentic insights on the unified inventory standard (discover phase) #25

Description

@matthewmoorcroft

Summary: Enrich the unified inventory with validated, accountable agent-authored insights; implemented by #82 on staging but not yet on main.

Depends on: #62/#79-#81 and #84.

Blocks: #77.

Current status

This is an open issue. PR #82 implements it but is merged only into integration/discovery, not main.

On staging:

  • src/flowx/models/insights.py defines the source-neutral insights contract.
  • src/flowx/discovery_insights.py:validate_insights checks inventory pipeline foreign keys, exact ControlEdge triples, and inferred-edge evidence/confidence.
  • src/flowx/discovery_insights.py:inventory_fingerprint/merge_into_inventory/enrich_inventory bind insights to deterministic inventory and merge one top-level insights block atomically and idempotently.
  • src/flowx/adapter/main.py and src/flowx/mcp/server.py expose enrich.

The tool contains no LLM and does not make routing decisions. The agent authors insights; flowx validates and merges them.

What needs to change

Re-land #82 on main after #84 and #79-#81. Keep the insights layer descriptive and additive. The conversion-plan decision derived from motifs plus insights is separate work in #77.

How to approach

Rebase #82 onto the final unified inventory. Preserve the two accountable relationship tiers:

  • control annotations must resolve to a real source/target/via_task edge in inventory lineage;
  • inferred couplings require explicit evidence and confidence.

Acceptance/verification:

  • make test and make fmt pass.
  • Validation aggregates all violations and rejects unknown pipeline/edge references.
  • A validation failure does not modify inventory.json.
  • Successful enrichment is atomic, repeatable, fingerprint-bound, and leaves every deterministic key/value byte-identical.
  • Existing coverage golden remains green.
  • No conversion, routing, IR, package, or Airflow behavior changes.

This is additive and opt-in.

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

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions