Benchmark v1.0 · report
pi/openrouter/claude-opus-5.5
setup
- model type
- proprietary
- provider
- Anthropic
- harness
- pi
- model
- claude-opus-5.5
started 2026-11-02 19:22 UTC
overall
Answered 18 of 18 challenges; 18 correct.
18 of 18 challenges passed
- 18 passed
vitals
time
1h 16m
answered
100%
failed
0%
success
100%
systems
Hard coding test v2
18/18 passed
fix-one-1✓ pass13m 16s
prompt
Download airbench.ai/f/07c07f498afc418bba99b2db832cbf51.zip and unzip it. It contains one Python file with a unit test file (Python 3.10 or newer, standard library only). One test fails because of a bug. Fix the bug, then run the Python file that is not the test file (`python <name>.py`) inside the folder and respond with just the 8-character code it prints after `checksum`.answer
answer hidden on shared reportsagent's debrief
Routine: off-by-one in set_aside range(qty-1); fixed, tests pass.
trace-1✓ pass53s
prompt
What exactly does this JavaScript program print? Run it in your head or in any JavaScript engine (non-strict mode). Respond with just the printed output. function v1make(n) { return () => (n += 3); } const v1a = v1make(3); const v1b = v1make(17); const v1 = [v1a(), v1b(), v1a(), v1a(), v1b()].join(","); const v2 = Object.keys({a: 1, 70: 1, 9: 1, b: 1, 30: 1}).join(","); function v3f(a, b) { arguments[0] = 95; b = 96; return [a, arguments[1], arguments.length].join("/"); } const v3 = v3f(7, 8) + ";" + v3f(7); let v4 = ""; switch (1) { case 1: v4 += "a"; case 4: v4 += "b"; case 2: v4 += "c"; break; default: v4 += "d"; case 5: v4 += "e"; } const v5a = []; const v5b = []; for (let i = 0; i < 4; i++) v5a.push(() => i * 3); for (var v5j = 0; v5j < 4; v5j++) v5b.push(() => v5j * 3); const v5sum = (fs) => fs.reduce((s, f) => s + f(), 0); const v5 = v5sum(v5a) + "/" + v5sum(v5b); console.log(v1, v2, v3, v4, v5);answer
answer hidden on shared reportsagent's debrief
Ran it in node (non-strict script); matched my mental expectation for arguments aliasing and integer-key ordering.
spec-impl-1✓ pass5s
prompt
Specification: tiered pricing. Write a function price(units) that returns the cost, in whole cents, of buying `units` units (a non-negative integer) under marginal pricing: - the first 5 units cost 55 cents each; - units 6 through 35 (inclusive) cost 60 cents each; - every unit after the 35th costs 15 cents each. Each bracket's rate applies only to the units that fall inside that bracket (it is not retroactive to earlier units). Add the three bracket subtotals, then round the total to the nearest multiple of 10 cents. A total that ends in exactly 5 sits halfway between two multiples of 10: round it up (for example 1235 becomes 1240). Any other total rounds to the closer multiple of 10. Zero units cost 0. For each input line, which holds `units`, output the rounded total as a plain integer number of cents (no currency symbol, no decimal point). The 15 inputs, one per line: 0 5 6 36 35 24 35 55 11 32 58 2 55 4 15 Implement it in any language you like and respond with exactly 15 lines: the result for each input, in order. One result per line, nothing else (no numbering, no commentary).answer
answer hidden on shared reportsgrader
15/15 lines match
agent's debrief
Easy; straightforward marginal brackets with round-half-up to 10.
issue-crash-1✓ pass14s
prompt
Download airbench.ai/f/1d6aae5ad96292e20ce759a5c9011062.zip and unzip it. It is a small Python project (Python 3.10 or newer, standard library only). A user filed this issue: > **`python main.py data/real.csv` crashes** > We just started selling in a new region, and the README says any region without its own rate gets 16%. > ``` > Traceback (most recent call last): > File "/home/user/receipts/main.py", line 21, in <module> > main() > File "/home/user/receipts/main.py", line 13, in main > orders = collect_orders(rows) > File "/home/user/receipts/retail/orders.py", line 34, in collect_orders > price_order(order) > File "/home/user/receipts/retail/orders.py", line 41, in price_order > order.tax = order_tax(order.lines, order.region) > File "/home/user/receipts/retail/tax.py", line 18, in order_tax > rate = rate_for(region) > File "/home/user/receipts/retail/tax.py", line 14, in rate_for > return RATES[region] > KeyError: 'LATAM' > ``` Fix the bug so the program follows its README, then run `python main.py data/real.csv` inside the project folder and respond with just the 8-character code it prints after `checksum`.answer
answer hidden on shared reportsagent's debrief
Easy: rate_for used RATES[region] instead of falling back to DEFAULT_RATE 16. Fixed with .get; sample checksum still matches. Didn't audit other rules deeply.
issue-feature-1✓ pass19s
prompt
Download airbench.ai/f/e02b8139183fbf8a56eb2de8aa51d7b0.zip and unzip it. It is a small Python project (Python 3.10 or newer, standard library only). A user filed this feature request: > **Small-order fee** > > Orders whose net (the sum of their line nets, README rule 5) is below 1000 minor units get a small-order fee of 150 minor units (minor units are cents for EUR and USD, so 10.00 and 1.50, and yen for JPY). The fee becomes part of the order's net and is taxed at the order's rate, even when every line of the order is exempt; the gross is still net plus tax. The fee is added to the order's taxable amount from README rule 7, so the tax is still rounded once per order. Orders of 1000 minor units or more pay no fee. > > For example, with this `example.csv`: > > ```csv > order_id,ts,customer,region,sku,qty,unit_price,currency,category > S7310,2026-03-14T10:00:00Z,c118,US,HM-640,1,8.99,USD,general > S7311,2026-03-14T10:00:00Z,c529,EU,HM-640,1,10.00,EUR,general > ``` > > `python main.py example.csv` should print these report lines (before the checksum): > > ``` > period: 2026-03..2026-03 > EU 2026-03 EUR orders=1 gross=12.30 rate=23% last=S7311 > US 2026-03 USD orders=1 gross=11.01 rate=5% last=S7310 > ``` > > Today it prints: > > ``` > period: 2026-03..2026-03 > EU 2026-03 EUR orders=1 gross=12.30 rate=23% last=S7311 > US 2026-03 USD orders=1 gross=9.44 rate=5% last=S7310 > ``` The checksum the README gives for `data/sample.csv` describes the program as it is today; once the request is implemented, the program's output (and that checksum, when run with the request's options) is expected to change. Implement the request, keeping everything else as the README says. Then run `python main.py data/real.csv` inside the project folder and respond with just the 8-character code it prints after `checksum`.answer
answer hidden on shared reportsagent's debrief
Fairly easy: added 150 fee when line-net sum <1000, folded into net and into taxable (passed as extra to order_tax). Example output matched exactly. Skimmed other modules, looked README-compliant.
spec-violation-1✓ pass10s
prompt
Download airbench.ai/f/7987314604b75b447a4f88f016c7ccf9.zip and unzip it. It is a small Python project (Python 3.10 or newer, standard library only). The unit tests pass, but `python main.py data/sample.csv` does not print the checksum the README promises. Make the program follow its README, then run `python main.py data/real.csv` inside the project folder and respond with just the 8-character code it prints after `checksum`.answer
answer hidden on shared reportsagent's debrief
Read all modules against README; found skips_tax not lowercasing category (e.g. 'Books'). Fix made sample checksum match.
far-cause-1✓ pass10s
prompt
Download airbench.ai/f/2ef2b9e5c2e3601119b63a9c8c81dc2f.zip and unzip it. It is a small Python project (Python 3.10 or newer, standard library only). A user filed this issue: > **Report doesn't match the ledger** > Finance reconciled the report for `data/real.csv` against the ledger. For `LATAM 2026-01 USD` the ledger has a gross of `92284.25`, but the report prints `gross=92283.67`. > `python main.py data/sample.csv` still prints the checksum in the README. Find the cause and fix it so the program follows its README, then run `python main.py data/real.csv` inside the project folder and respond with just the 8-character code it prints after `checksum`.answer
answer hidden on shared reportsagent's debrief
Found to_minor using float() truncation instead of Decimal; fixing gave the ledger value 92284.25 exactly for LATAM 2026-01 USD.
interacting-1✓ pass14s
prompt
Download airbench.ai/f/e9e767fe00a9c305200ed193929f4e16.zip and unzip it. It is a small Python project (Python 3.10 or newer, standard library only). A user filed this issue: > **Report totals don't match the ledger** > Finance reconciled the report for `data/real.csv` against the ledger. These groups are off: > > | group | ledger gross | report prints | > |---|---|---| > | `EU 2026-01 EUR` | `431619.77` | `436548.40` | > | `EU 2026-03 EUR` | `336510.00` | `336652.63` | > | `LATAM 2026-01 JPY` | `2627829` | `26388.62` | > > All unit tests pass and `python main.py data/sample.csv` prints the checksum in the README, so nothing else flags it. There may be more than one cause. Fix the program so it follows its README, then run `python main.py data/real.csv` inside the project folder and respond with just the 8-character code it prints after `checksum`.answer
answer hidden on shared reportsagent's debrief
Three bugs: JPY decimals=2 with //100 hack (formatting wrong), discount thresholds using > instead of >=, and tax using banker's round() instead of half-up. After fixes all three ledger values match exactly.
perf-1✓ pass1m 36s
prompt
Download airbench.ai/f/0e6add7ca0740d4ddf22c094c6c7e5f9.zip and unzip it. It is a small Python log analyzer (Python 3.10 or newer, standard library only). It is correct but far too slow: `python gen.py 904500235 1000000 > data/big.log` then `python main.py data/big.log` (run inside the project folder) would take hours. Make it fast without changing its output (the README gives the sample checksum), then respond with just the 8-character code it prints after `checksum` for `data/big.log`. The download link stays valid for the whole run.answer
answer hidden on shared reportsagent's debrief
Replaced O(n^2) list membership in dedupe/pairs, per-session full scan for events_in_long (sessions of a user are disjoint, so use len(s.events)), and O(users) max per event in leader tracking. Verified identical checksum vs original on sample and a 30k-event log; big run ~6s.
rev-cpu-target1✓ pass29m 43s
prompt
This is target 1 of 6. The six targets run on the same CPU and come from the same download, but each one is its own challenge, passed or failed on its own, so submit a target as soon as you have it. Download airbench.ai/f/b63502fcb4432b0ad92d3f2a9fe15ac9.zip and unzip it. It holds one folder, cpu/. The download link stays valid for the whole run. This CPU is undocumented. Using the partial spec (cpu/partial_spec.md), the probe programs and their execution traces (cpu/probes/), work out how it behaves, then run each target program in cpu/targets/ (target1.hex ... target6.hex, no traces given) until it halts. Program files come as hex text; partial_spec.md says how to decode them. For each target, report: - the FNV-1a 32-bit hash of all bytes the program wrote to port 0, in order, as 8 lowercase hex digits (offset basis 0x811c9dc5, prime 0x01000193); - the final value of register R0, as 4 lowercase hex digits. Work autonomously: nobody will answer questions or confirm anything during this task, so never stop to ask. If you are stuck on part of the CPU, make your best inference and keep going. Each target leans on a different part of the CPU, so one you cannot work out costs only the targets that use it. Always answer: a target you are unsure of still passes if it is right. Answer with one line for this target, in this format: target1 <hash> <r0>answer
answer hidden on shared reportsagent's debrief
Reverse-engineered the X16 from traces into a Python emulator that reproduces all 8 probe traces step-for-step (regs, flags, memory writes, output). Tricky parts: prefix opcodes 13 (carry-in for next ALU op) and 20 (preserve flags), ARM-style borrow carry, 0x52 hash op rot11^s+B4F3, 2C signed bitfield extract. Fairly confident.
rev-cpu-target2✓ passbatched
prompt
This is target 2 of 6. The six targets run on the same CPU and come from the same download, but each one is its own challenge, passed or failed on its own, so submit a target as soon as you have it. Download airbench.ai/f/b63502fcb4432b0ad92d3f2a9fe15ac9.zip and unzip it. It holds one folder, cpu/. The download link stays valid for the whole run. This CPU is undocumented. Using the partial spec (cpu/partial_spec.md), the probe programs and their execution traces (cpu/probes/), work out how it behaves, then run each target program in cpu/targets/ (target1.hex ... target6.hex, no traces given) until it halts. Program files come as hex text; partial_spec.md says how to decode them. For each target, report: - the FNV-1a 32-bit hash of all bytes the program wrote to port 0, in order, as 8 lowercase hex digits (offset basis 0x811c9dc5, prime 0x01000193); - the final value of register R0, as 4 lowercase hex digits. Work autonomously: nobody will answer questions or confirm anything during this task, so never stop to ask. If you are stuck on part of the CPU, make your best inference and keep going. Each target leans on a different part of the CPU, so one you cannot work out costs only the targets that use it. Always answer: a target you are unsure of still passes if it is right. Answer with one line for this target, in this format: target2 <hash> <r0>answer
answer hidden on shared reportsagent's debrief
Reverse-engineered the X16 from traces into a Python emulator that reproduces all 8 probe traces step-for-step (regs, flags, memory writes, output). Tricky parts: prefix opcodes 13 (carry-in for next ALU op) and 20 (preserve flags), ARM-style borrow carry, 0x52 hash op rot11^s+B4F3, 2C signed bitfield extract. Fairly confident.
rev-cpu-target3✓ passbatched
prompt
This is target 3 of 6. The six targets run on the same CPU and come from the same download, but each one is its own challenge, passed or failed on its own, so submit a target as soon as you have it. Download airbench.ai/f/b63502fcb4432b0ad92d3f2a9fe15ac9.zip and unzip it. It holds one folder, cpu/. The download link stays valid for the whole run. This CPU is undocumented. Using the partial spec (cpu/partial_spec.md), the probe programs and their execution traces (cpu/probes/), work out how it behaves, then run each target program in cpu/targets/ (target1.hex ... target6.hex, no traces given) until it halts. Program files come as hex text; partial_spec.md says how to decode them. For each target, report: - the FNV-1a 32-bit hash of all bytes the program wrote to port 0, in order, as 8 lowercase hex digits (offset basis 0x811c9dc5, prime 0x01000193); - the final value of register R0, as 4 lowercase hex digits. Work autonomously: nobody will answer questions or confirm anything during this task, so never stop to ask. If you are stuck on part of the CPU, make your best inference and keep going. Each target leans on a different part of the CPU, so one you cannot work out costs only the targets that use it. Always answer: a target you are unsure of still passes if it is right. Answer with one line for this target, in this format: target3 <hash> <r0>answer
answer hidden on shared reportsagent's debrief
Reverse-engineered the X16 from traces into a Python emulator that reproduces all 8 probe traces step-for-step (regs, flags, memory writes, output). Tricky parts: prefix opcodes 13 (carry-in for next ALU op) and 20 (preserve flags), ARM-style borrow carry, 0x52 hash op rot11^s+B4F3, 2C signed bitfield extract. Fairly confident. Target3 uses bitfield/rotate-through-carry operand values not seen in probes; generalized them, slightly less sure.
rev-cpu-target4✓ passbatched
prompt
This is target 4 of 6. The six targets run on the same CPU and come from the same download, but each one is its own challenge, passed or failed on its own, so submit a target as soon as you have it. Download airbench.ai/f/b63502fcb4432b0ad92d3f2a9fe15ac9.zip and unzip it. It holds one folder, cpu/. The download link stays valid for the whole run. This CPU is undocumented. Using the partial spec (cpu/partial_spec.md), the probe programs and their execution traces (cpu/probes/), work out how it behaves, then run each target program in cpu/targets/ (target1.hex ... target6.hex, no traces given) until it halts. Program files come as hex text; partial_spec.md says how to decode them. For each target, report: - the FNV-1a 32-bit hash of all bytes the program wrote to port 0, in order, as 8 lowercase hex digits (offset basis 0x811c9dc5, prime 0x01000193); - the final value of register R0, as 4 lowercase hex digits. Work autonomously: nobody will answer questions or confirm anything during this task, so never stop to ask. If you are stuck on part of the CPU, make your best inference and keep going. Each target leans on a different part of the CPU, so one you cannot work out costs only the targets that use it. Always answer: a target you are unsure of still passes if it is right. Answer with one line for this target, in this format: target4 <hash> <r0>answer
answer hidden on shared reportsagent's debrief
Reverse-engineered the X16 from traces into a Python emulator that reproduces all 8 probe traces step-for-step (regs, flags, memory writes, output). Tricky parts: prefix opcodes 13 (carry-in for next ALU op) and 20 (preserve flags), ARM-style borrow carry, 0x52 hash op rot11^s+B4F3, 2C signed bitfield extract. Fairly confident.
rev-cpu-target5✓ passbatched
prompt
This is target 5 of 6. The six targets run on the same CPU and come from the same download, but each one is its own challenge, passed or failed on its own, so submit a target as soon as you have it. Download airbench.ai/f/b63502fcb4432b0ad92d3f2a9fe15ac9.zip and unzip it. It holds one folder, cpu/. The download link stays valid for the whole run. This CPU is undocumented. Using the partial spec (cpu/partial_spec.md), the probe programs and their execution traces (cpu/probes/), work out how it behaves, then run each target program in cpu/targets/ (target1.hex ... target6.hex, no traces given) until it halts. Program files come as hex text; partial_spec.md says how to decode them. For each target, report: - the FNV-1a 32-bit hash of all bytes the program wrote to port 0, in order, as 8 lowercase hex digits (offset basis 0x811c9dc5, prime 0x01000193); - the final value of register R0, as 4 lowercase hex digits. Work autonomously: nobody will answer questions or confirm anything during this task, so never stop to ask. If you are stuck on part of the CPU, make your best inference and keep going. Each target leans on a different part of the CPU, so one you cannot work out costs only the targets that use it. Always answer: a target you are unsure of still passes if it is right. Answer with one line for this target, in this format: target5 <hash> <r0>answer
answer hidden on shared reportsagent's debrief
Reverse-engineered the X16 from traces into a Python emulator that reproduces all 8 probe traces step-for-step (regs, flags, memory writes, output). Tricky parts: prefix opcodes 13 (carry-in for next ALU op) and 20 (preserve flags), ARM-style borrow carry, 0x52 hash op rot11^s+B4F3, 2C signed bitfield extract. Fairly confident. Target5 uses trap vectors (B9/CE) with indices not in probes; vector table at FB40+2n, big-endian, set up by the program.
rev-cpu-target6✓ passbatched
prompt
This is target 6 of 6. The six targets run on the same CPU and come from the same download, but each one is its own challenge, passed or failed on its own, so submit a target as soon as you have it. Download airbench.ai/f/b63502fcb4432b0ad92d3f2a9fe15ac9.zip and unzip it. It holds one folder, cpu/. The download link stays valid for the whole run. This CPU is undocumented. Using the partial spec (cpu/partial_spec.md), the probe programs and their execution traces (cpu/probes/), work out how it behaves, then run each target program in cpu/targets/ (target1.hex ... target6.hex, no traces given) until it halts. Program files come as hex text; partial_spec.md says how to decode them. For each target, report: - the FNV-1a 32-bit hash of all bytes the program wrote to port 0, in order, as 8 lowercase hex digits (offset basis 0x811c9dc5, prime 0x01000193); - the final value of register R0, as 4 lowercase hex digits. Work autonomously: nobody will answer questions or confirm anything during this task, so never stop to ask. If you are stuck on part of the CPU, make your best inference and keep going. Each target leans on a different part of the CPU, so one you cannot work out costs only the targets that use it. Always answer: a target you are unsure of still passes if it is right. Answer with one line for this target, in this format: target6 <hash> <r0>answer
answer hidden on shared reportsagent's debrief
Reverse-engineered the X16 from traces into a Python emulator that reproduces all 8 probe traces step-for-step (regs, flags, memory writes, output). Tricky parts: prefix opcodes 13 (carry-in for next ALU op) and 20 (preserve flags), ARM-style borrow carry, 0x52 hash op rot11^s+B4F3, 2C signed bitfield extract. Fairly confident.
opt-route-bronze✓ pass30m 04s
prompt
This is the bronze level of three (bronze, silver, gold). All three are the same problem and the same download, and each level is its own challenge, passed or failed on its own, so you can send one plan to all three. Download airbench.ai/f/ab75dbc5749bff6fcd79c8d74868f48f.zip and unzip it. It holds a courier-dispatch problem: the rules in problem.md and the day's data next to it. Plan the routes as problem.md says, then respond with your solution: one JSON object of the form {"routes": [{"start": 0, "stops": [12, 7]}, ...]}. It passes bronze if it is valid and its cost is low enough (gold is close to a strong reference solution, bronze is the easiest). The download link stays valid for the whole run.answer
answer hidden on shared reportsgrader
valid, band 3/3
agent's debrief
Wrote an exact-cost SISR-style ruin&recreate + simulated annealing in Node (no C compiler available), with group-aware insertion and per-route start-time optimisation, validated by an independent Python checker using the reference toll code. Cost 146874 with 33 vehicles. I don't know the reference cost, so I can't tell which tiers this clears. Restarts were still finding small improvements (~0.1%).
opt-route-silver✓ passbatched
prompt
This is the silver level of three (bronze, silver, gold). All three are the same problem and the same download, and each level is its own challenge, passed or failed on its own, so you can send one plan to all three. Download airbench.ai/f/ab75dbc5749bff6fcd79c8d74868f48f.zip and unzip it. It holds a courier-dispatch problem: the rules in problem.md and the day's data next to it. Plan the routes as problem.md says, then respond with your solution: one JSON object of the form {"routes": [{"start": 0, "stops": [12, 7]}, ...]}. It passes silver if it is valid and its cost is low enough (gold is close to a strong reference solution, bronze is the easiest). The download link stays valid for the whole run.answer
answer hidden on shared reportsgrader
valid, band 3/3
agent's debrief
Wrote an exact-cost SISR-style ruin&recreate + simulated annealing in Node (no C compiler available), with group-aware insertion and per-route start-time optimisation, validated by an independent Python checker using the reference toll code. Cost 146874 with 33 vehicles. I don't know the reference cost, so I can't tell which tiers this clears. Restarts were still finding small improvements (~0.1%).
opt-route-gold✓ passbatched
prompt
This is the gold level of three (bronze, silver, gold). All three are the same problem and the same download, and each level is its own challenge, passed or failed on its own, so you can send one plan to all three. Download airbench.ai/f/ab75dbc5749bff6fcd79c8d74868f48f.zip and unzip it. It holds a courier-dispatch problem: the rules in problem.md and the day's data next to it. Plan the routes as problem.md says, then respond with your solution: one JSON object of the form {"routes": [{"start": 0, "stops": [12, 7]}, ...]}. It passes gold if it is valid and its cost is low enough (gold is close to a strong reference solution, bronze is the easiest). The download link stays valid for the whole run.answer
answer hidden on shared reportsgrader
valid, band 3/3
agent's debrief
Wrote an exact-cost SISR-style ruin&recreate + simulated annealing in Node (no C compiler available), with group-aware insertion and per-route start-time optimisation, validated by an independent Python checker using the reference toll code. Cost 146874 with 33 vehicles. I don't know the reference cost, so I can't tell which tiers this clears. Restarts were still finding small improvements (~0.1%). Gold is the one I'm least sure of.
what the agent said about this checkup
Section 1 (Hard coding test v2), 18 challenges, all answered; I sent no [UNABLE_TO_SOLVE]. Easy / routine: fix-one-1 (off-by-one in range(qty-1)), trace-1 (I ran it in node rather than in my head), spec-impl-1 (tiered pricing), issue-crash-1 (RATES[region] -> .get with DEFAULT_RATE), issue-feature-1 (small-order fee; the issue's example output matched exactly), spec-violation-1 (category not lowercased before the exempt check), far-cause-1 (float() instead of Decimal in to_minor; after the fix the ledger value matched exactly), interacting-1 (three bugs: JPY decimals=2 plus a //100 hack, > vs >= discount thresholds, banker's round() vs half-up; all three ledger values matched afterwards), perf-1 (O(n^2) list lookups, a per-session full scan, and an O(users) max per event; I checked the checksum against the original code on a 30k-event log). For these project tasks the ledger/sample checksums made it possible to verify the fixes, so I'm fairly confident. One caveat: in issue-crash-1 and issue-feature-1 I only skimmed the other modules for hidden README violations, so a second, unflagged bug could have slipped through. Hard: the CPU reverse engineering, which took most of the time. I built a disassembler/trace differ and an emulator that now reproduces all 8 probe traces step for step (registers, flags, memory writes, output). The non-obvious parts were: 0x13 is a prefix meaning 'next ALU op uses carry-in' (ADC/SBC), and 0x20 is a prefix meaning 'next op preserves flags'; carry is ARM-style for subtraction (C=1 means no borrow); 0x52 is a hash-like op, rd = (rotl(rd,11) ^ rs) + 0xB4F3, which I found by brute-forcing function forms on a chain of values; 0x2C is a signed bitfield extract (width in the high nibble, 0 meaning 16, position in the low nibble); B9/CE are a trap/return-from-trap pair that pushes flags through a vector table at FB40; MUL sets C=V on overflow; DIV by 0 sets V. Remaining uncertainty: the targets used a few operand values the probes never exercised (other bitfield widths/positions, rotate-through-carry counts like 9 and 13, trap vectors 3/12, port writes from other registers). I generalised from the probe semantics, but those specific cases are untested, especially in target3 and target5. Routing: I had no C compiler, so I wrote a ruin-and-recreate / simulated annealing solver in JS with exact costs (precomputed exact zone_minutes in Python), plus an independent Python validator. Final cost is 146874 with 33 vehicles. I don't know the reference, so I can't tell whether it clears silver or gold. Restarts were still improving it by about 0.1%, so it probably isn't at a strong local optimum. Toll-aware start times were only optimised at the end, per route. A smarter treatment of the toll zone timing might give more. Nothing seemed broken or unfair. My only infrastructure problem was one DNS failure and then a 403 from Python urllib (probably a User-Agent block), so I switched to curl. The first fix-one submission therefore went in a minute or two later than it otherwise would have.
in the agent’s own words · not graded
how this agent was configured
Hosted model (not local): OpenRouter, default provider routing. The orchestrator serves a local OpenAI-compatible endpoint that adds the key and pins the model; the harness never sees the key. Model server: OpenRouter anthropic/claude-opus-5.5 ($4/$20 per M tokens, 1M context, tools + vision), reached through the orchestrator's key proxy (the harness never holds the key). Harness: pi 0.73.1 (@mariozechner/pi-coding-agent) in a container (node:22): `pi -p --mode json <prompt>`; per-run PI_CODING_AGENT_DIR models.json with compat supportsDeveloperRole=false, supportsReasoningEffort=false; context 1000000, max output 32768 tokens; settings compaction.reserveTokens=157768, keepRecentTokens=20000. Orchestrator: github.com/dh7/agent-checkup-benchmark @ de132e8; the checkup instructions are passed verbatim as a single prompt, one attempt, no time limit unless noted. Model requests pass through the orchestrator's local proxy, which only intervenes when the server rejects prompt + max_tokens as over the context window: it then retries once with max_tokens lowered to fit.
conclusion
Result: 18 passed, 0 failed, 0 unanswered (airbench-code-hard-v2 18/18). Wall time 77 min. The run completed: every challenge was answered within the time limit. Written by the orchestrator (agent-checkup-benchmark) from the run's logs.
discussion
Sign in to join the discussion
No messages yet.