feat(eval): add task analysis and trace publishing - #48
Conversation
|
Codex review: found issues before merge. Reviewed August 2, 2026, 3:15 PM ET / 19:15 UTC. ClawSweeper reviewWhat this changesThis PR adds richer native evaluation exports, a task-level analysis command and reports, and an S3 command to publish trace archives with checksum manifests. Merge readiness⛔ Blocked by patch quality or review findings - 12 items remain Keep this draft PR open. Its task-analysis and trace-publication capabilities are not present on current main, but the unchanged head still has the prior P1 privacy and aggregate-label compatibility blockers; as a MEMBER-authored PR, it also requires explicit maintainer handling rather than automated cleanup. Priority: P1 Review scores
Verification
How this fits togetherShellBench's native evaluation runner writes aggregate and per-task results from benchmark run directories. This PR extends those exports into task diagnostics and sends raw trace archives plus audit metadata to an S3 destination for later research review. flowchart LR
A[Native benchmark runs] --> B[Aggregate CSV exports]
B --> C[Task analysis command]
C --> D[CSV JSON Markdown and SVG reports]
A --> E[Trace archives and audit files]
E --> F[Trace upload command]
F --> G[Private S3 objects and manifest]
Decision needed
Why: The PR promises private trace publication, but enforcing that promise requires an explicit security boundary for buckets whose policy or public-access configuration cannot be inspected. Before merge
Findings
Agent review detailsSecurityNeeds attention: The new S3 uploader can handle sensitive trace archives without verifying that the configured bucket is effectively private. Review metrics
Merge-risk optionsMaintainer options:
Copy recommended automerge instructionTechnical reviewBest possible solution: Keep the legacy aggregate pair label stable while adding a separate condition identifier, and make trace publishing fail closed unless the destination's effective public-access controls and policy status prove it is private. Do we have a high-confidence way to reproduce the issue? Not applicable: this PR proposes new evaluation and trace-publication capabilities rather than reporting a pre-existing broken behavior. Current main confirms the commands do not yet exist. Is this the best way to solve the issue? No. Task analysis is a plausible addition, but the uploader must enforce its private-storage promise and the aggregate export must retain compatibility before this is a maintainable solution. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: not found in the target repository. Codex review notes: model internal, reasoning high; reviewed against 884dd1bb5511. LabelsLabel changes:
Label justifications:
EvidenceSecurity concerns:
What I checked:
Likely related people:
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
HistoryReview history (14 earlier review cycles; latest 8 shown)
|
What does this PR do?
Adds reproducible task-level analysis and verified private trace publishing for
native ShellBench matrices.
The aggregate export now preserves the full experiment condition, reasoning
effort is treated as part of each matrix cell, and the analysis command
generates CSV, JSON, Markdown, and SVG diagnostics. A separate trace uploader
publishes immutable run archives and audit metadata to private S3 storage.
Why?
Run-level leaderboards can hide narrow task clusters that drive apparent model
or harness wins. The native exports also previously grouped default pair labels
by harness and model without reasoning effort, making low/medium/high runs easy
to blur together downstream.
Task revisions must remain separate. A 115-task archive and a 116-task archive
are different datasets, not extra repetitions of one matrix.
Trace publication also needs a repeatable path that does not place static
credentials in command arguments, repository files, or generated commands.
Changes
suite metadata on every native run and task row
reason to each task row
clawbench task-analysisfor:clawbench trace-uploadfor:S3_UPLOAD_MANIFEST.jsonsecret-key CLI options
remains authoritative
analysisands3dependenciesExisting aggregate CSVs need to be regenerated from their raw job directories
before analysis because historical files do not contain the new experiment
metadata.
Tests
python -m pytest -q(426 passed, 5 skipped)python -m ruff check clawbench app.py scripts testsreasoning deltas, 116 task diagnostics, and four SVG plots
all 93 immutable archives