feat: add ART MCP-RL taskset adapter#2003
Open
frvade wants to merge 3 commits into
Open
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit a1c92d0. Configure here.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Description
Adds a Verifiers v1 taskset adapter for OpenPipe ART MCP-RL scenario files.
The adapter:
This targets the two-way ART ↔ Verifiers portability track in the ART-E / ART bounty.
Type of Change
Testing
uv run pytestlocally.Validation performed:
uvx ruff check verifiers/v1/tasksets/art_mcp— passeduvx ruff format --check verifiers/v1/tasksets/art_mcp— passedpython -m compileallfor the adapter — passedmcp_balldontlie/scenarios/val.jsonlfixture — all 8 scenarios loaded and exported without losingtaskordifficultyThe full test suite was not run because the local environment cannot build the existing
pycosatdependency without a C compiler. No unit tests were added because the repository’sAGENTS.mdexplicitly asks contributors not to add unit tests for v1 changes and recommends temporary validation scripts instead.Checklist
Additional Notes
No dependencies or configuration files are changed. Documentation was not modified because the new adapter is self-contained and does not alter existing APIs.
Note
Low Risk
Additive, isolated taskset adapter with no changes to existing APIs, auth, or runtime paths; failures are limited to explicit validation errors on malformed scenario files.
Overview
Adds a new
verifiers/v1/tasksets/art_mcppackage so OpenPipe ART MCP-RL scenario files can be used as native Verifiers v1 tasks.ArtMCPTasksetreads a configured file path and buildsArtMCPTaskinstances whose prompts come from each row’stask, with optionalsystem_prompton the taskset config.ArtMCPTaskDatakeepssource_task,difficulty, and extra fields inart_metadatafor round-trip export.load_art_rows/_read_rowsaccept JSONL, a top-level JSON array, or a JSON object withscenariosortasks, and reject bad shapes or rows (missing non-emptytask, invaliddifficulty).art_rows_from_taskswrites ART-compatible dicts back from loaded tasks.Reviewed by Cursor Bugbot for commit 9e6ade2. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Add ART MCP-RL taskset adapter with JSONL and JSON file support
ArtMCPTasksetunder verifiers/v1/tasksets/art_mcp/ that loads ART scenario files and constructsArtMCPTaskinstances from them..jsonlfiles (one JSON object per line) and.jsonfiles (top-level list or dict with ascenarios/taskskey); raisesValueErrorfor unsupported shapes or invalid rows.taskstring as its prompt, an integerdifficulty(default 1), an optional system prompt from config, and arbitrary ART metadata preserved onArtMCPTaskData.art_rows_from_tasksto convert in-memoryArtMCPTaskinstances back to ART-compatible dicts for export.Macroscope summarized 9e6ade2.