Turn your worst debugging day into a benchmark.
Requirements:
Dockerfile— builds the broken environmenttest.sh— exits non-zero when the bug is present, zero when fixed.bench/solution.patch— the actual fix.bench/README.md— describes the bug, environment, and difficulty rating- Source code in
app/orsrc/with the bug present
Process:
- Copy
benchmarks/_template/tobenchmarks/your-scenario-name/ - Build your scenario, verify
test.shfails without the patch and passes with it - Write
.bench/README.mdusing the template - Open a PR — CI validates automatically
- A maintainer reviews the difficulty rating and merges
Bug fixes, scoring improvements, leaderboard features, runner enhancements — all welcome via PR.
When the weekly kernel-curated pipeline creates a benchmark from a real open-source repo and a model solves it, we offer the fix upstream. These contributions follow strict guidelines.
- The fix goes to the os-tack fork first. Never PR directly to upstream from automation.
- A human reviews the fix. Model-generated patches must be verified by a maintainer before upstream submission.
- Check upstream's CONTRIBUTING.md. Every project has its own rules — follow them exactly.
- One fix per PR. Atomic commits, no drive-by cleanups, no "while I'm here" changes.
- Run upstream's CI locally if possible. Don't waste maintainer time on broken patches.
Title: fix: <concise description of the bug>
Body:
## Summary
<1-2 sentences describing the fix>
## Context
This fix was discovered by [needle-bench](https://needle-bench.cc), an open
benchmark for AI debugging agents. The issue was identified by the
[haystack](https://ostk.ai) kernel as a high-leverage fix in this codebase.
Solved by: <model-name> (e.g. claude-opus-4-6)
Benchmark: <benchmark-name>
Leaderboard: https://needle-bench.cc/leaderboard/
## The bug
<description of what was wrong and why>
## The fix
<description of what changed and why it's correct>
## Testing
<how the fix was verified — test output, CI results>
- No spam. One PR per diagnosed issue, only when the fix is verified and correct.
- No trivial PRs. The weekly pipeline selects the most compounding issue — not typos, not style nits.
- No unsolicited refactoring. The fix addresses one bug, nothing more.
- No pressure. If upstream closes or ignores the PR, that's their prerogative. The benchmark value was already captured.
- No claiming credit beyond attribution. The model found it, the benchmark measured it, the project owns it.
Every upstream PR includes:
- The model that solved the benchmark
- A link to needle-bench
- A link to the specific benchmark (Dockerfile, test.sh, Agentfile)
The project and its maintainers receive full credit for their codebase. We contribute a fix. That's it.
- Python: follow existing patterns in
runner.pyandpipeline/ - Astro/JS: follow patterns in
src/ - No over-engineering — keep changes minimal and focused
- Tests pass, CI green, Astro builds
Open an issue at os-tack/find-the-needle.