Skip to content

feat(catalog): Graph Phase 4 (engine) — aggregator correlate tools + e2e proof - #210

Merged
ernanibmurtinho merged 1 commit into
mainfrom
feat/graph-p4-aggregator-showcase
Jul 26, 2026
Merged

feat(catalog): Graph Phase 4 (engine) — aggregator correlate tools + e2e proof#210
ernanibmurtinho merged 1 commit into
mainfrom
feat/graph-p4-aggregator-showcase

Conversation

@ernanibmurtinho

Copy link
Copy Markdown
Contributor

Graph Phase 4 — the engine half (Video-2 production is a separate follow-up). Exposes correlation across providers as agent-facing tools + the end-to-end falsifiable proof.

Two aggregator tools on CatalogMcpSurface (hidden, callable-by-name — list_tools stays byte-identical)

  • correlate_surfaces(a, b) — resolves both providers via resolve_provider, delegates to Phase-2 correlate.correlate_surfaces, returns the control-plane-clean CorrelationResult.
  • find_correlations(entity) / value_domain_index — the cross-provider "what correlates with X across all connected providers" query (Phase-3 vindex), getattr-guarded for duck-typed clients.

No new scoring — every plan-eligibility verdict flows through the shared Phase-2 _score.

The confirmed-gate holds end-to-end

tests/test_e2e_correlation.py (2-provider aggregator, shared solana-token-mint) proves the full chain through call_tool:

  1. No DECLARED → cross-API join is a candidate (tier ≤1, not plan-eligible); find_correlations returns no name-only bucket (§13.6).
  2. Both customer-confirmed → tier-3, plan-eligible; index groups both providers; cross_plan recovers the chain first-plan-correct.
  3. Provider-only declaration → visible candidate (provider-declared-unconfirmed), but cross_plan refuses it — a malicious provider can't mint an executable cross-system chain, proven at all three doors.

Gate

The three tools are absent from list_tools yet callable by name; unknown provider raises. ruff + mypy clean · full suite 1906 passed / 1 skipped.

Next: the Video-2 e2e showcase (production) on a real provider pair.

🤖 Generated with Claude Code

…f (Graph P4)

Phase 2b/4: expose cross-provider correlation as agent-facing, hidden-but-callable
tools on CatalogMcpSurface, plus the offline $0 falsifiable proof.

- correlate_surfaces(a, b): resolve two providers via resolve_provider, delegate to
  the shared Phase-2 correlate.correlate_surfaces (same confirmed-gate scorer).
- find_correlations(entity) / value_domain_index: the cross-provider "what
  correlates with X" query, reusing Phase-3 vindex.
- Both getattr-guarded for duck-typed clients, control-plane clean, NOT enumerated
  in list_tools (projection stays byte-identical), callable by name.
- tests/test_e2e_correlation.py proves the full chain THROUGH the aggregator: no
  DECLARED hint -> candidate; one customer-confirmed entity -> plan-eligible +
  grouped + cross_plan recovers first-plan-correct; provider-only -> stays a
  candidate (confirmed-gate holds to the executable plan).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@ernanibmurtinho ernanibmurtinho self-assigned this Jul 26, 2026
@ernanibmurtinho
ernanibmurtinho merged commit d854c63 into main Jul 26, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant