feat: GenericAgent adapter (GPT-5.4, Completion 90.46%) + fix rubric parser + report 13 rubric bugs - #3
Open
Sophomoresty wants to merge 2 commits into
Open
Conversation
- New adapter: src/clawbench_v2/adapters/ga_agent.py Bridges Harness Bench tasks to the in-process GenericAgent runtime. Uses native GA tool loop (agent_runner_loop), multimodal image injection, time-budget guard, and deliverable re-entry for QA. - Register ga_agent in registry and adapters/__init__ - Runner: multi-round session support, usage proxy integration, process grading - Config/tasks: enhanced loading for YAML task definitions - models.example.yaml: ga-local example config Completion (outcome): 91-93% on 28 public tasks (GPT-5.4, reasoning_effort=none) Process: 95% (15 tasks with working rubrics; 13 have upstream rubric bugs) Combined: 94% (15 valid-rubric tasks)
Parser improvements (process_grading.py):
- _iter_json_objects: extract ALL top-level JSON objects from grader output
- _looks_like_scoring: heuristic to distinguish scoring objects from metadata
- _parse_json_object: prefer last scoring-shaped object (graders emit plan first)
- _format_rubric_response: accept flat dimension scores (no 'scores' wrapper),
compute total as mean when absent
These changes recover process scores from rubrics that render correctly but
produce non-standard output schemas. They do NOT mask the 13 upstream rubric
bugs documented in RUBRIC_BUGS.md (those tasks still produce N/A).
RUBRIC_BUGS.md: documents 3 classes of llm_rubric.py defects in tasks/:
1. Format KeyError at module load (2 tasks)
2. Unescaped {reference} in USER_TEMPLATE (10 tasks)
3. Output schema mismatch / no JSON instruction (1 task)
report_final.py: standalone script to compute Completion/Process/Combined
independently with proper N/A handling.
Sophomoresty
force-pushed
the
feat/ga-adapter-gpt54
branch
from
June 12, 2026 21:54
3ff455c to
4d0bef8
Compare
Collaborator
|
Thank you for your attention and feedback. Our latest paper has made corresponding revisions to these issues and has now been added to the 106 questions. And I will push the corresponding updates up tomorrow. We sincerely welcome you to provide us with more valuable suggestions. |
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.
Summary
We are the GenericAgent team. This PR adds our GA adapter to Harness-Bench, achieving Completion 90.46% on the 28 public tasks with GPT-5.4 (reasoning_effort=none).
Additionally, we identified and documented 13 rubric bugs in the official task set that prevent Process/Combined scoring for those tasks.
Results (28 public tasks, 10-way parallel, fully isolated)
13 tasks produce N/A for Process/Combined due to upstream rubric bugs (documented below).
Changes
1. GA Adapter (
src/clawbench_v2/adapters/ga_agent.py)Bridges Harness-Bench tasks to the in-process GenericAgent runtime:
agent_runner_loopintegration with GPT-5.4 backendupdate_working_checkpoint,start_long_term_update) stripped from tool schema — agent cannot access cross-task SOPs or experience files2. Process Rubric Parser Fix (
src/clawbench_v2/process_grading.py)Hardens the rubric response parser to handle benign grader-output variation:
{"scores": {...}}wrappertotalas arithmetic mean when the field is absentThis does NOT mask the 13 upstream rubric bugs — those still produce N/A by design.
3. Upstream Rubric Bug Report (
RUBRIC_BUGS.md)We discovered 3 classes of defects in
tasks/*/llm_rubric.py:.format()— module cannot import{reference}in USER_TEMPLATE.format(task_name=..., payload=...)raises KeyErrorReproduction:
4. Supporting Infrastructure
registry.pyandadapters/__init__.pyreport_final.py: standalone script computing Completion/Process/Combined independently with proper N/A handlingIsolation Guarantee
We ensure full reproducibility:
update_working_checkpointandstart_long_term_updateexplicitly stripped from benchmark tool schemasession_idis unique per task (contains task_id + random hex)No task source modifications
All
tasks/*/llm_rubric.pyandtasks/*/oracle_grade.pyfiles are unmodified in this PR. The rubric bugs are documented for upstream fix, not worked around.About GenericAgent
GenericAgent is a lightweight, tool-augmented agent framework. For this evaluation we use its native
agent_runner_loopwith a minimal 7-tool schema (file_read, file_write, file_patch, code_run, web_scan, web_execute_js, ask_user).