Files
Alexander Yue cbe07e14d3 Make the ultrafast preset data so ablations can override one knob
Agent(ultrafast=True) assigns its settings unconditionally, so passing an
override alongside it did nothing: Agent(ultrafast=True, use_vision=True) ran
without vision. Every ultrafast_* ablation profile was built that way and was
therefore a silent duplicate of the preset, which invalidates the vision,
thinking and history comparisons taken from them.

The preset now lives in ULTRAFAST_AGENT_SETTINGS and the flag applies exactly
that dict, so an ablation spreads it and overrides the one key under test. Two
tests pin the behaviour: the flag and the spread must agree, and a spread
override must survive.

Adds ultrafast_memory and ultrafast_noloop profiles for the looping seen on
real tasks, and fixes demo.py, which combined flash_mode with flash_memory=False
and no flash_thinking -- leaving 'action' as the only output field, so the model
planned a multi-item task with nowhere to reason.
2026-08-25 15:55:39 -07:00
..
2025-01-19 17:16:53 -08:00