Skip to content

feat(bench): aj bench --gen to generate+run repetition fixtures - #10

Merged
Poytr1 merged 1 commit into
mainfrom
feat/aj-bench-gen
Jul 6, 2026
Merged

Poytr1 merged 1 commit into
mainfrom
feat/aj-bench-gen

Conversation

@Poytr1

@Poytr1 Poytr1 commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds the generate-and-run flow so aj bench can sweep the break-even curve without hand-authoring task JSONL (finishing the CLI side of Phase 3).

  • Fixture registry: FixtureByShape / FixtureShapes (currently nullcheck).
  • aj bench --gen <shape> --n 1,2,4 [--workdir DIR] — materializes the fixture at each repeat count (own subdir per count, no collisions) and runs it; composes with --arm and --compare.

Verified with a real run

Drove the live claude across a sweep:

nullcheck-1 (baseline) x1 ... success 100%, T2S 280752 tokens   (1 guard added ✓)
nullcheck-2 (baseline) x1 ... success 100%, T2S 235999 tokens   (2 guards added ✓)

Both dual-gate-verified (guards actually present). --dry-run correctly shows 0% / no-T2S on the unmodified fixtures. Registry unit test added; golangci-lint clean.

Remaining (separate step)

The JIT arm — compiling a reusable skill so the second run is cheaper — is the last piece for a true break-even number. That's a deeper aj compile integration; I'll scope it next. This PR lands the gen-run harness + a real baseline sweep.

Refs: benchmark sandbox design §3.2.

🤖 Generated with Claude Code

Adds the generate-and-run flow so `aj bench` can sweep the break-even
curve without hand-authoring task files.

- Fixture registry: FixtureByShape / FixtureShapes (currently "nullcheck").
- `aj bench --gen <shape> --n 1,2,4 [--workdir DIR]`: materializes the
  fixture at each repeat count (own subdir per count so they never collide)
  and runs it, composing with --arm and --compare.

Verified with a real `claude` sweep: nullcheck n=1,2 both solved and
dual-gate-verified (guards actually added), reporting real T2S per count.
--dry-run correctly shows 0% / no-T2S on the unmodified fixtures.

Refs: benchmark sandbox design §3.2, Phase 3.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@Poytr1
Poytr1 merged commit 264b7bc into main Jul 6, 2026
2 checks passed
@Poytr1
Poytr1 deleted the feat/aj-bench-gen branch July 6, 2026 02:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant