Implement validation tools (validate_compatibility, validate_agent_refs, validate_data_flow) #187

Closed
opened 2026-01-26 19:02:11 +00:00 by lmiranda · 1 comment
Owner

Overview

Implement the core validation tools that check contracts and compatibility.

Tools

validate_compatibility

  • Input: Two plugin interfaces
  • Output: Compatibility report (what A produces that B accepts, gaps)
  • Compare outputs of plugin A with inputs of plugin B
  • Identify missing interfaces and type mismatches

validate_agent_refs

  • Input: Agent definition, list of available plugins
  • Output: Missing tools, invalid sequences
  • Verify all tool references exist in available plugins
  • Check tool naming conventions (server.tool format)

validate_data_flow

  • Input: Agent sequence
  • Output: Verification that each step's output matches next step's expected input
  • Trace data flow through agent tool chain
  • Identify type mismatches between steps

Issue Types to Detect

Type Severity Example
Missing tool Error Agent references pandas-mcp.transform but tool is pandas-mcp.reshape
Interface mismatch Error viz-platform expects chart_data but data-platform produces data_ref
Optional dependency Warning Agent uses dbt-mcp which may not be loaded
Undeclared output Warning Plugin produces output not listed in README

Sprint: Sprint 2 - contract-validator Plugin
Labels: Type/Feature, Complexity/High, Priority/High, Effort/L

## Overview Implement the core validation tools that check contracts and compatibility. ## Tools ### validate_compatibility - **Input:** Two plugin interfaces - **Output:** Compatibility report (what A produces that B accepts, gaps) - Compare outputs of plugin A with inputs of plugin B - Identify missing interfaces and type mismatches ### validate_agent_refs - **Input:** Agent definition, list of available plugins - **Output:** Missing tools, invalid sequences - Verify all tool references exist in available plugins - Check tool naming conventions (server.tool format) ### validate_data_flow - **Input:** Agent sequence - **Output:** Verification that each step's output matches next step's expected input - Trace data flow through agent tool chain - Identify type mismatches between steps ## Issue Types to Detect | Type | Severity | Example | |------|----------|---------| | Missing tool | Error | Agent references `pandas-mcp.transform` but tool is `pandas-mcp.reshape` | | Interface mismatch | Error | viz-platform expects `chart_data` but data-platform produces `data_ref` | | Optional dependency | Warning | Agent uses dbt-mcp which may not be loaded | | Undeclared output | Warning | Plugin produces output not listed in README | **Sprint:** Sprint 2 - contract-validator Plugin **Labels:** Type/Feature, Complexity/High, Priority/High, Effort/L
lmiranda added this to the Sprint 2 - contract-validator Plugin milestone 2026-01-26 19:02:40 +00:00
Author
Owner

Implementation Complete

Branch: feat/187-validation-tools
Commit: 46af000

Tools Implemented

validate_compatibility

  • Compares tool and command names between plugins
  • Identifies naming conflicts and shared tools
  • Finding: data-platform and projman share /initial-setup command!

validate_agent_refs

  • Checks agent tool references against available plugins
  • Reports missing tools and undocumented references

validate_data_flow

  • Validates data flow through agent tool sequences
  • Checks producer/consumer patterns (e.g., data_ref)

Issue Types Detected

Type Severity Description
missing_tool ERROR Tool reference doesn't exist
interface_mismatch ERROR/WARNING Command conflict or shared names
optional_dependency WARNING May not be loaded
undeclared_output WARNING/INFO Not documented

Test Results

validate_compatibility(data-platform, projman):
  Compatible: False (command conflict: /initial-setup)

validate_agent_refs(Planner):
  Valid: True (no documented tool refs)

validate_data_flow(Orchestrator):
  Valid: True, 4 flow steps
## Implementation Complete **Branch:** `feat/187-validation-tools` **Commit:** `46af000` ### Tools Implemented #### `validate_compatibility` - Compares tool and command names between plugins - Identifies naming conflicts and shared tools - **Finding:** data-platform and projman share `/initial-setup` command! #### `validate_agent_refs` - Checks agent tool references against available plugins - Reports missing tools and undocumented references #### `validate_data_flow` - Validates data flow through agent tool sequences - Checks producer/consumer patterns (e.g., data_ref) ### Issue Types Detected | Type | Severity | Description | |------|----------|-------------| | `missing_tool` | ERROR | Tool reference doesn't exist | | `interface_mismatch` | ERROR/WARNING | Command conflict or shared names | | `optional_dependency` | WARNING | May not be loaded | | `undeclared_output` | WARNING/INFO | Not documented | ### Test Results ``` validate_compatibility(data-platform, projman): Compatible: False (command conflict: /initial-setup) validate_agent_refs(Planner): Valid: True (no documented tool refs) validate_data_flow(Orchestrator): Valid: True, 4 flow steps ```
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: personal-projects/leo-claude-mktplace#187