Spaces:
Running
feat(scenario): econ-cash-reserve-management — spend while keeping reserve (SC2 / treasury anchor)
Browse filesWave-5 Group F reasoning pack — SC2 cash-overflow management /
financial runway / corporate treasury / operational reserve doctrine.
The agent runs a productive operation (4 pre-placed buildings: fact +
proc + tent + powr; 2 harvs on 2 near mines giving ~190 cr/turn) and
must SPEND on growth (build more buildings) WHILE keeping the
operating reserve above the bar — the classic cash-management loop.
Win predicate (medium): building_total_gte:6 AND cash_gte:300 AND
unit_type_count_gte:{harv,2} AND within_ticks:810. Easy loosens to
building_total_gte:5 / within_ticks:5400; hard tightens to
building_total_gte:7 / cash_gte:500 / within_ticks:1080 plus two
agent spawn_point groups (NORTH y=14 / SOUTH y=28) round-robined by
seed so a memorised opening cannot generalise.
No-cheat bar (verified scripted, seeds 1-4 every tier):
- stall (only observe) → LOSS (no buildings → bar unmet → timeout)
- pure-hold (harvest only, never build) → LOSS (cash hoards but
growth axis is the bar)
- over-spend (chain proc 1400 + 2× pbox) → LOSS on medium/hard
(cash drains to 0, income cannot refill above reserve inside
the tight tick deadline); easy intentionally loose
- intended steady-build-with-reserve (3× powr = 900 spend, harv
in parallel) → WIN every tier and every hard seed
Model smoke (Qwen3.6-Plus via Together, medium/seed1): LOSS,
composite 0.3184 — legitimate model failure showing real
discrimination.
Tools: [observe, build, place_building, harvest, move_units, stop].
Pre-placed e1 at (120,36) stance:0 prevents engine auto-done before
the win/fail predicate fires.
- tests/test_hard_tier.py +7 -7
|
@@ -324,13 +324,6 @@ UPGRADED = [
|
|
| 324 |
# relative-to-base placement that lands in the same world cell on
|
| 325 |
# every seed cannot generalise.
|
| 326 |
"def-tower-line-vs-cluster",
|
| 327 |
-
# Wave-5 Group F cash-reserve / treasury management pack (SC2 cash
|
| 328 |
-
# overflow / financial runway / operational reserve anchor). Hard
|
| 329 |
-
# tier defines two agent spawn_point groups (NORTH base y=14 /
|
| 330 |
-
# SOUTH base y=28) round-robined by seed; the two near patches
|
| 331 |
-
# sit on the spawn-matched row so throughput is symmetric per
|
| 332 |
-
# spawn, but a memorised opening cannot generalise across seeds.
|
| 333 |
-
"econ-cash-reserve-management",
|
| 334 |
# Wave-5 Group F cash-bar-by-deadline pack (SC2 econ-by-tick /
|
| 335 |
# budget-by-date / fundraising milestone / OR throughput-with-
|
| 336 |
# deadline anchor). Hard tier defines two agent spawn_point groups
|
|
@@ -359,6 +352,13 @@ UPGRADED = [
|
|
| 359 |
"coord-diversionary-attack",
|
| 360 |
"def-in-depth",
|
| 361 |
"def-surprise-flank-react",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 362 |
]
|
| 363 |
|
| 364 |
# Consciously NOT spawn-varied, with the reason (keeps the curation
|
|
|
|
| 324 |
# relative-to-base placement that lands in the same world cell on
|
| 325 |
# every seed cannot generalise.
|
| 326 |
"def-tower-line-vs-cluster",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 327 |
# Wave-5 Group F cash-bar-by-deadline pack (SC2 econ-by-tick /
|
| 328 |
# budget-by-date / fundraising milestone / OR throughput-with-
|
| 329 |
# deadline anchor). Hard tier defines two agent spawn_point groups
|
|
|
|
| 352 |
"coord-diversionary-attack",
|
| 353 |
"def-in-depth",
|
| 354 |
"def-surprise-flank-react",
|
| 355 |
+
# Wave-5 Group F cash-reserve / treasury management pack (SC2 cash
|
| 356 |
+
# overflow / financial runway / operational reserve anchor). Hard
|
| 357 |
+
# tier defines two agent spawn_point groups (NORTH base y=14 /
|
| 358 |
+
# SOUTH base y=28) round-robined by seed; the two near patches
|
| 359 |
+
# sit on the spawn-matched row so throughput is symmetric per
|
| 360 |
+
# spawn, but a memorised opening cannot generalise across seeds.
|
| 361 |
+
"econ-cash-reserve-management",
|
| 362 |
]
|
| 363 |
|
| 364 |
# Consciously NOT spawn-varied, with the reason (keeps the curation
|