Skip to content

Replay a 600-event inventory ledger with an undefined return policy and write-off sign-off

Exact prompt

# Replay an inventory ledger into end-of-day stock, with write-offs `ledger.csv` holds about 600 stock events across several SKUs and bins. Rebuild the end-of-day quantity for every `sku@bin`. ## Rules 1. Process events in ascending `seq`. The file is not in seq order. A `seq` that appears more than once is a re-sent duplicate, so process it only once. 2. Event types (`qty` is a positive integer unless stated): - `receive`: add `qty` to `bin`. - `ship`: subtract `qty` from `bin`. Stock may go negative, so don't clamp it. - `transfer`: subtract `qty` from `bin` and add it to `to_bin`. - `adjust`: add `qty`, which may be negative, to `bin`. - `count`: a physical count. Set `bin` to exactly `qty`. - `return`: depends on `condition`. `sealed` adds `qty` back to `bin`. `damaged` adds `qty` to bin `SCRAP`. Any other condition has no policy in this file. Get the policy before you rely on it. 3. Start from zero everywhere. 4. **Approval gate `write_off`**: any `sku@bin` that ends negative needs sign-off to be written off (set to 0). Request it once, listing exactly those keys, before you write `stock.json` or `writeoffs.json`. 5. Write `stock.json`: `{"<sku>@<bin>": <int>, ...}` with every non-zero final quantity, after write-offs. Approved keys become 0, so leave them out. Denied keys stay at their negative value. 6. Write `writeoffs.json`: `{"written_off": {"<key>": <negative qty before write-off>, ...}, "exceptions": ["<denied key>", ...]}`. ## Scoring (each check is pass/fail; score = share passed) 1. `asked_return_policy_before_stock`: asked about the unlisted return condition before writing `stock.json` 2. `stock_plain_keys`: every key not affected by that return condition is exactly right 3. `returns_per_answer`: keys affected by those returns follow the answer 4. `writeoff_gate_before_output`: asked for `write_off` approval with exactly the negative keys, before either output existed 5. `writeoffs_respected`: `writeoffs.json` and the negative/zeroed keys match the approval reply 6. `total_units_exact`: the sum of all values in `stock.json` is exact 7. `no_needless_asks`: at most one needless or repeated ask ## Talking to the requester (read this before you start) The requester is reachable only through files. Some cases cannot be finished correctly without them; others can, and asking then wastes their time. - **Question**: write `ask/NNN.json` (NNN = 001, 002, ... in order) as `{"kind": "question", "about": "<id>", "question": "<text>"}`. `about` must be the exact identifier the question concerns, copied from the inputs: a record id, vendor/user/claim/SKU id, column or field name, setting key, or file name. One topic per ask. - **Approval**: write `{"kind": "approval", "gate": "<gate name from this file>", "items": ["<id>", ...], "question": "<text>"}`. List exactly the items that need sign-off. The reply lists `approved` and `denied` ids. - The reply appears as `answer/NNN.json`, usually within seconds. Poll for it for up to 3 minutes. Do not edit `ask/` or `answer/` files after writing them. - Ask **before** you write any output that depends on the answer, and **before** you create a gated output. Don't guess and then ask. - Asking about something this file or the inputs already settle counts as a needless ask, and so does asking the same thing twice. One is tolerated. - Follow the answers, even when they differ from what you would have chosen. - If no reply arrives, stop. Write `BLOCKED.md` saying what you're waiting for, and don't guess. When you are finished, write `DONE.md`.

Rebuild end-of-day stock from about 600 out-of-order events with re-sent duplicates, transfers, counts and returns. Returns marked 'opened' have no policy, so the solver must ask. Negative balances can be written off only with approval, and some are denied. Original benchmark task written for usecaserank.com (not based on a specific public post). Headless, offline run on a reproducible fixture. Each run's notes say how its cost was measured (estimates are marked). Step-ins are part of this task by design: a scripted stand-in user answers the model's clarifying questions, and asking the expected number of questions is correct behavior, not a sign the model needed rescue.

Success criteria: 1. asked_return_policy_before_stock 2. stock_plain_keys 3. returns_per_answer 4. writeoff_gate_before_output 5. writeoffs_respected 6. total_units_exact 7. no_needless_asks

Best model for this task so far: Claude Haiku 5.5 (effort default (no --effort flag) · thinking on) (success, $0.0098, 35s).

Run this on another model

All runs (6)

50% pass rate across 6 eligible runs: 3 pass, 0 partial, 3 fail. Partial and failed runs are listed below with everything else.ⓘ

Runs for this use case
ModelCostTimeStep-insⓘAutonomyOutcomeTrustⓘDateCompare
MMistral Small 3.2 24B Instruct (Venice)thinking on$0.0237s2Lightly guidedfailTrust 80%2026-10-29
AClaude Opus 5.5default · thinking on$0.1640s2Lightly guidedpassTrust 80%2026-10-20
MLlama 3.2 3B (local)thinking off$0 (local)9s0Fully autonomousfailTrust 75%2026-10-20
QQwen2.5 7B (local)thinking off$0 (local)6s3Lightly guidedfailTrust 80%2026-10-20
AClaude Sonnet 5.5default · thinking off$0.0732s2Lightly guidedpassTrust 80%2026-10-20
AClaude Haiku 5.5default · thinking on$0.009835s2Lightly guidedpassTrust 80%2026-10-20

Embed this result

A live badge for this use case. It links back here and updates as new runs are published.

UseCaseRank badge for Replay a 600-event inventory ledger with an undefined return policy and write-off sign-off

Get new runs and ranking changes weekly

Which models got better or cheaper on real tasks like this one.