Research
ICCA Bench.
In-Context Credit Assignment Bench: measuring whether agents learn from the delayed consequences of their decisions.
By Jarrod Barnes (Dynamical Systems), Seth Schilbe and Shardul Bansal (ORO)Technical report, October 22, 2026
Money made over the quarter, day by dayMean of the 10 active tasks all 3 models have completed. Dashed: a fixed buyer that ignores the hidden consequence.
Day of the quarter
Abstract
Language-model agents are increasingly deployed in long-horizon operational settings, where the effects of their decisions are delayed, unlabeled, and confounded with exogenous noise. Whether an agent can learn from such consequences, and reuse that experience when conditions change, is not measured by existing benchmarks, which largely provide immediate and verifiable feedback.
We introduce ICCA Bench. Its first environment is a simulation of a produce-wholesale buying desk calibrated to public retail, price, and freight data, in which an agent makes purchasing decisions over a 90-day quarter. Each task hides one consequence and pairs the world with a counterfactual twin that is identical except for that consequence, with the same initial state and random draws. The pairing yields a learning signal that separates adaptation to the consequence from chance and from generally good play. Tasks are admitted only if the consequence is material, learnable from the agent's own records, and not satisfied by a fixed habit. In interim results on the 12 active tasks, Claude Opus 5.5 averages −4.14% of baseline revenue against a fixed buyer that ignores the consequence and Grok 4.7 −8.22%; GPT-6 Astra averages +1.40% on its 10 completed active tasks. Trace review finds profitable standing policies, evidence-linked responses that lose money, and one blind-reviewed supplier response that also beats the fixed buyer. These are early observations from one run per condition, not a ranking of models, and they do not yet establish whether agents learn from delayed consequences: the contribution of this report is the question and the way to measure it. We release the environment, the 18 public tasks, and reward-only training streams.
Introduction
Setting. Agents are being assigned multi-week operational roles: procurement, inventory, account management. Feedback in these roles is delayed, unlabeled, and confounded, so attributing an outcome to an earlier decision is part of the task. For example, business customers reduce orders after repeated short deliveries (Craig, DeHoratius and Raman, 2016).
Gap.
- In-context learning is usually studied with immediate labels or rewards (Brown et al., 2020; Song et al., 2026). Delayed, multi-episode learning remains difficult for frontier models (Lin et al., 2026).
- Agent benchmarks score task completion against verifiable outcomes (SWE-bench, τ-bench, WebArena, Terminal-Bench).
- Long-horizon business simulations score aggregate outcomes (Vending-Bench), which conflate learning with chance and with fixed habits.
Research question. Can an agent improve its decisions using consequences that are delayed, unlabeled, and attributable only through its own history, and does the improvement transfer when conditions change? We decompose this into four observable stages:
- Notice
- The agent detects a change in its own records.
- Attribute
- It links the change to its own earlier decisions.
- Act
- It changes the decisions that matter.
- Transfer
- In a later, changed quarter, it does so earlier when given its own archive.
Approach. Paired counterfactual worlds isolate the effect of each consequence. Admission criteria require each task to be material, learnable, and not gameable. The grader scores value created, and reports a behavioural criterion, a transfer measure, and a per-model noise floor beside it. Blind trace review assesses the four stages.
Findings so far. Value created varies widely between models. Profitable standing policies earn money without a learned response, and responses that follow the evidence can still lose to the fixed buyer. With one run per condition, learning is reported as an observation; these runs do not yet establish it.
Contributions.
- An open, data-calibrated simulation of a wholesale buying desk for long-horizon agent evaluation.
- A paired-world task design with admission criteria, yielding 18 public tasks and a private held-out pool.
- An evaluation protocol designed to separate learning from chance and habit.
- Interim results for 3 frontier models on all 18 tasks.
- Reward-only training streams on 32 additional businesses.
Environment
Formalization. A partially observable, stochastic decision process over 90 epochs (simulated mornings).
- State
- Inventory by lot and age, open orders, cash and receivables, and latent supplier and customer parameters.
- Actions
- Purchase orders (product, supplier, quantity) and standing rules for covering shortfalls at the local market.
- Observations
- The agent's own records (orders, receipts, inspections, claims, sales, customer messages), queried through SQL, plus each morning's supplier offers.
- Transition
- Fixed operating rules run the rest of each day: delivery and inspection, filling account orders, walk-in sales, spoilage, claims, and billing.
Figure 1One epoch: observation, decisions, the day’s fixed-rule execution, and where hidden mechanisms act
Observe
The agent’s own records (orders, receipts, inspections, claims, sales, customer messages), queried through SQL, plus the morning’s supplier offers and its memory files.
Decide
Purchase orders (product, supplier, quantity) and standing rules for covering shortfalls at the local market, within the epoch’s tool-call budget.
The day runs on fixed rules
Delivery and inspection, filling account orders, walk-in sales, spoilage, claims and billing.
Where hidden mechanisms act
Supplier deterioration acts on deliveries, which arrive late and short more often from day 21. Customer reaction acts on account orders, which shrink after short deliveries.
Business family. Businesses share one structure and differ in demand, prices, supplier reliability, and customer sensitivity. Each has several suppliers with distinct price and reliability profiles, 6 business accounts, and walk-in demand.
Calibration.
- Demand shapes
- FreshRetailNet-50K (4.85M store-product-day rows).
- Prices
- USDA terminal-market wholesale quotes.
- Supply conditions
- USDA freight, shipment, and truck-availability series.
- Shrink and storage life
- USDA ERS and UC Davis references.
- Customer response strength
- Craig, DeHoratius and Raman, 2016.
- Overhead
- Set so that a reference policy earns a median net margin near 3%.
Agent interface. A fixed system prompt states the operating rules a practitioner would know. Each epoch has a tool-call budget and persistent memory files. The agent controls purchasing only. It is never told which mechanisms exist, whether one is active, or how it is graded.
Reproducibility. Worlds are seeded, releases are frozen by hash, and every run can be replayed from its action log.
Task design
Tasks and paired worlds. A task pairs a business with one hidden mechanism. Its treated world and its twin share the initial observation and all random draws, and differ only in that mechanism.
Mechanisms in v1.
- Supplier deterioration
- From day 21, the lowest-price supplier's late and short rates rise to drawn deteriorated levels. The remedy is supplier choice.
- Customer reaction
- Accounts that receive short deliveries reduce orders, overall and for the shorted product, and recover slowly. The remedy is protecting service to those accounts.
Episodes per task.
- Source pair
- The treated world and its twin in a normal quarter.
- Target pairs
- A later quarter with a supply disruption, run once from a cold start and once with access to the agent's own source-quarter archive (records and notes).
- Null pair
- One per business: two identical worlds with no mechanism.
Figure 2Episode design: the pairs each task runs, and what each pair measures
| Pair | Quarter | Worlds | The agent starts with | Gives |
|---|---|---|---|---|
| Source pair | A normal quarter | Treated and twin | Nothing: a cold start | Learning signal |
| Target pair, cold | A later quarter with a supply disruption | Treated and twin | Nothing: a cold start | Learning signal, cold |
| Target pair, own archive | The same later quarter | Treated and twin | Its own source-quarter archive: records and notes | Learning signal, with experience |
| Null pair | A normal quarter, one per business | Two identical worlds, no mechanism | Nothing: a cold start | Run-to-run noise |
Admission criteria, checked against scripted policies across 6 businesses.
- Material
- The mechanism's damage to a fixed reference policy that ignores it is at least the learned margin, 0.25% of the business's baseline revenue, in at least 4 of 6 businesses.
- Learnable
- A scripted learner (one that tests a single hypothesis, or a generic one that tests them all), or a timed remedy, meets the learned criterion (see Evaluation protocol) in at least 4 of 6.
- Not gameable
- Habit, generous-default, and chance policies meet it in none.
Census. 504 scripted runs. 2 of 6 candidate mechanisms were admitted, giving 12 tasks plus 6 null tasks: 18 public tasks. Quality, shelf-life, demand, and walk-in mechanisms were not material and are reported as negative results.
Table 1Admission census per mechanism
| Mechanism | Material | Damage to the fixed buyer, % of baseline revenue | Learned, best honest strategy | Controls learned |
|---|---|---|---|---|
| Supplier deteriorationAdmitted | 6 of 6 | 1.19% to 5.11% | 5 of 6, generic learner | None |
| Customer reactionAdmitted | 6 of 6 | 0.46% to 4.96% | 5 of 6, timed remedy | None |
| Quality dropNot admitted | 2 of 6 | -0.03% to 0.48% | 0 of 6 | None |
| Shelf-life dropNot admitted | 1 of 6 | 0.02% to 0.92% | 0 of 6 | None |
| Outside demand dropNot admitted | 2 of 6 | -0.27% to 0.50% | 0 of 6 | None |
| Walk-in reactionNot admitted | 0 of 6 | -0.60% to 0.23% | 0 of 6 | None |
Splits. Public: businesses 500–505. Training: 506–537, reward only. Held-out: 153 unopened stores, kept private.
Evaluation protocol
Reward. Each run is scored on the net business value it creates over the quarter: cash, receivables and stock at liquidation value, less what the business owes and the margin already lost from customers, graded independently from the event log. Its reward is that value minus the value created by a fixed buyer that ignores the hidden consequence, in the same world, expressed as a share of the business's baseline revenue so that businesses of different sizes compare. Value created is the primary outcome.
Learning signal. A model's reward in the world with the hidden consequence minus its reward in the twin without it. The two worlds start identically and share their random draws, so the difference reflects how the model handled the consequence rather than luck or general skill. It is read against the damage the same consequence does to the fixed buyer.
Learned. A task counts as learned when the learning signal is at least 0.25% of baseline revenue and the model's behaviour changed after the consequence began: in some 14-session window after onset, its supplier choice, local cover or order quantity moved at least 0.10 from its level before onset in the direction the consequence rewards, and at least 0.10 more in that direction than in the twin. The level before onset leaves out the first 2 days, which are setup; the change must not already be in place over the last 3 sessions before onset; and local purchases count only under cover instructions set after onset. Learned is reported beside value as an observation; it never changes the reward.
Transfer. In a later quarter with a supply disruption, the learning signal when the model starts with its own archive of records and notes, minus the learning signal from a cold start.
Noise. Each business's null task runs the same model twice in identical worlds. The gap between those two runs is the model's run-to-run noise on that business, and a learning signal whose size, ignoring its sign, is smaller than twice that gap is reported as within noise.
Design rationale.
- Measuring against a fixed buyer, as a share of baseline revenue, makes rewards comparable across businesses.
- Pairing each world with its twin removes chance and general skill from the learning signal.
- The behavioural condition keeps a fixed habit that happens to pay from counting as learning.
Integrity.
- Each run's value is reconciled to an independent accountant, to the cent.
- Blind reviewers code Notice, Attribute and Act from actions and notes alone, with no access to model reasoning, and identify the treated run. So far this covers selected pairs, not every run.
- A separate audit searches for reward hacking and information leaks.
Experiments and results
Setup.
- Models: Claude Opus 5.5, GPT-6 Astra, Grok 4.7.
- All 18 public tasks: source pairs and null pairs for every model; target pairs on business 501 first.
- One run per condition, a shared system prompt, and fixed provider settings.
- Cost reported per run (Table 4).
3 frontier models ran the 18 public tasks, each buying for a business over a 90-day quarter. These are interim results: GPT-6 Astra has 3 of its 18 tasks still running; Transfer is still running for every model. Missing runs are pending, never counted as zero.
Table 2Value created, with learning as an observation
| Model | Tasks complete | Mean gain over the fixed buyer | Beat the fixed buyer | Learned (observed) |
|---|---|---|---|---|
| Claude Opus 5.5 | 18 of 18 | −4.14%−$8,685 | 3 of 12 | 0 of 12 |
| GPT-6 Astra | 15 of 18 | +1.40%+$533 | 6 of 10 | 3 of 102 pending |
| Grok 4.7 | 18 of 18 | −8.22%−$15,466 | 0 of 12 | 1 of 12 |
Figure 3Money made over the quarter, day by day
Day of the quarter
Table 3All 18 tasks for all 3 models
| Business | Task | Claude Opus 5.5 | GPT-6 Astra | Grok 4.7 |
|---|---|---|---|---|
| 500 | Customer reaction | −13.19% (−$10,879) | Pending | −9.09% (−$2,277) |
| 500 | Supplier deterioration | −15.05% (−$17,903) | −6.46% (+$124) | −10.49% (−$8,330) |
| 500 | Null A / B | −4.22% (+$9,691)+0.12% (+$18,784) | −1.67% (+$15,034)Pending | −2.98% (+$12,289)−4.98% (+$8,077) |
| 501 | Customer reaction | +5.43% (+$2,270) | +6.40% (+$3,150) | −2.49% (−$4,940) |
| 501 | Supplier deterioration | −3.72% (−$9,385) | +6.62% (+$22) | −5.46% (−$10,971) |
| 501 | Null A / B | +3.51% (+$2,576)+3.27% (+$2,355) | +4.41% (+$3,391)+3.31% (+$2,388) | +1.61% (+$841)+3.00% (+$2,112) |
| 502 | Customer reaction | −7.03% (−$5,928) | +4.47% (+$4,537) | −8.91% (−$7,633) |
| 502 | Supplier deterioration | −5.07% (−$8,418) | +7.17% (+$2,715) | −7.32% (−$10,461) |
| 502 | Null A / B | −0.65% (+$4,389)−1.30% (+$3,802) | −0.42% (+$4,601)−0.29% (+$4,716) | −3.99% (+$1,351)−3.61% (+$1,701) |
| 503 | Customer reaction | +1.50% (+$11,153) | −0.66% (+$7,054) | −10.22% (−$11,094) |
| 503 | Supplier deterioration | −5.52% (−$4,558) | −2.95% (+$321) | −7.31% (−$7,959) |
| 503 | Null A / B | +0.95% (+$10,997)−3.20% (+$3,105) | +0.08% (+$9,338)−0.37% (+$8,492) | −3.81% (+$1,956)−3.08% (+$3,329) |
| 504 | Customer reaction | −4.25% (+$3,992) | Pending | −11.37% (−$20,175) |
| 504 | Supplier deterioration | −4.53% (−$6,457) | +1.72% (+$14,780) | −9.67% (−$23,910) |
| 504 | Null A / B | −1.80% (+$17,598)+0.67% (+$25,967) | +0.00% (+$23,700)+0.10% (+$24,036) | −4.72% (+$7,667)−4.91% (+$7,042) |
| 505 | Customer reaction | +2.71% (+$3,401) | +1.27% (+$1,837) | −10.09% (−$10,542) |
| 505 | Supplier deterioration | −0.88% (−$6,160) | −3.58% (−$9,106) | −6.20% (−$11,959) |
| 505 | Null A / B | +1.24% (+$5,851)+0.89% (+$5,474) | −0.83% (+$3,600)−0.34% (+$4,137) | −3.64% (+$539)−3.32% (+$887) |
Do agents create value? Only GPT-6 Astra beats the fixed buyer on average. By task, Claude Opus 5.5 beats it on 3 of 12, GPT-6 Astra beats it on 6 of 10, Grok 4.7 beats it on 0 of 12 (Table 2, Figure 3).
Do agents learn from the hidden consequence? 4 of 34 completed active pairs meet the learned criterion (Claude Opus 5.5 0, GPT-6 Astra 3, Grok 4.7 1). We report this as an observation: one run per condition cannot separate a model's learning from run-to-run variation, and a change in behaviour and the value created do not always agree.
Where does the loop break? Trace review of selected runs, chosen to illustrate rather than sampled, shows three patterns: a standing protective policy that earns money without any learned change; responses that notice the consequence, attribute it and act, yet still trail the fixed buyer; and one supplier response, confirmed by blind reviewers, that adapts and beats the fixed buyer. Reviewers read accepted actions, public queries and notes, never private model reasoning.
Does experience transfer? Transfer is still running. It has finished for 2 tasks, on one business, with mixed results, which cannot yet say whether experience helps.
Table 4Cost of the completed base episodes
| Model | Episodes | List-price cost | Per episode |
|---|---|---|---|
| Claude Opus 5.5 | 36 of 36 | $813.39 | $22.59 |
| GPT-6 Astra | 33 of 36 | $6,838.27 | $207.22 |
| Grok 4.7 | 36 of 36 | $2,732.42 | $75.90 |
Conclusion and limitations
Summary. ICCA Bench's first environment is an audited simulation with real economic consequences, and a measurement designed to separate value from learning. The interim results show competent prevention earning money without a learned response, and agents that diagnose and act on delayed evidence but still lose. A completed three-model evaluation of Transfer, and a demonstration of reliable learning, are still to come.
Limitations.
- One run per condition and 3 models; single-run differences are read against each model's run-to-run noise.
- A single synthetic domain, calibrated to public data rather than observed operations.
- 2 admitted mechanisms: supplier deterioration with a fixed onset, and customer reaction as a trait that responds to shortfalls.
- A single fixed reference policy.
- Notice and Attribute are judged from actions and notes, not from model reasoning.
- Transfer is measured on one business, and has finished for 2 tasks so far.
- The traces discussed are chosen to illustrate, not sampled; they do not estimate how often each pattern occurs.
Code and data
| Artifact | Location |
|---|---|
| Code | ORO-AI/WholesaleBench, branch retail-v2-dev, head 6f75291 |
| Public tasks (18) | oro-agents/wholesalebench-tasks, v1/, revision 5a5c849 |
| Interim results | Same dataset, results/2026-10-22/: the report, every task for every model, and per-run results |
| Traces and daily value | oro-agents/wholesalebench-traces, retail-v2/: every completed episode, hash-verified, and its day-by-day value |
| Training streams | Same dataset, training/v1/: 12 of 32 businesses (revision 87a8bef); the rest to follow |
Code and datasets verified on October 22, 2026. All are private to the team until release. Training streams: 12 of 32 businesses published, verified by re-download.
@misc{oro2026iccabench,
title = {ICCA Bench: Measuring Whether Agents Learn from the Delayed Consequences of Their Decisions},
author = {Barnes, Jarrod and Schilbe, Seth and Bansal, Shardul},
year = {2026},
note = {Technical report. Environment: WholesaleBench v1, retail-v2-dev at 6f75291},
url = {https://oroagents.com/benchmarks/icca-bench}
}