-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Problem
Migration to BasePlugin architecture removed the legacy analyze() method from Plugin class.
Current tests expect analyze(image_bytes, options)" → AnalysisResult but BasePlugin only exposes:
run_tool(tool_name, args)for MCP tool dispatch- Tool methods:
player_detection(),ball_detection(), etc.
Current Workaround
Added temporary analyze() wrapper that:
- Converts raw bytes → base64
- Calls detection functions with base64
- Returns AnalysisResult dict
See: plugins/forgesyte-yolo-tracker/src/forgesyte_yolo_tracker/plugin.py line 300
Design Decision Needed
Option A: Keep analyze() permanently
- Maintain backward compatibility
- Tests pass as-is
- Two parallel interfaces (legacy + MCP)
Option B: Migrate tests to use run_tool()
- Clean separation: tests test MCP contracts
- Remove legacy interface
- Better alignment with ForgeSyte server integration
Option C: Custom test adapter
- Tests have separate fixture that calls run_tool()
- Plugin stays clean (MCP only)
- Test infrastructure handles conversion
Impact
- 11 failing tests in test_plugin.py and test_plugin_all_detections.py
- All infrastructure tests use
analyze() - GPU tests require actual model execution (slow)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels