yxc20098 commited on
Commit
8bb4b88
·
1 Parent(s): 5b73a50

Scenario hygiene: quarantine redundant cat-* + harvest packs

Browse files

Non-destructive (files stay on disk, reversible, still runnable via
explicit --packs; only excluded from the default sweep/leaderboard):
- schema: ScenarioMeta.status (active|quarantine) + quarantine_reason
- run_eval: quarantined packs → skipped, never enter default tasks
- tagged: 2 harvest packs (blocked on engine S0/S1 ore income) + 44
redundant cat-* (keep 2 representatives per c1..c12 category) —
raises distinct-capability density, cuts memorization risk
- include SCENARIO_AUDIT.md (research report driving this work)
- tests: test_hygiene.py (5) — 337 passed, 1 skipped

Files changed (49) hide show
  1. openra_bench/run_eval.py +8 -0
  2. openra_bench/scenarios/packs/cat-c1-02.yaml +12 -10
  3. openra_bench/scenarios/packs/cat-c1-03.yaml +12 -10
  4. openra_bench/scenarios/packs/cat-c1-04.yaml +12 -10
  5. openra_bench/scenarios/packs/cat-c1-05.yaml +12 -10
  6. openra_bench/scenarios/packs/cat-c10-02.yaml +10 -8
  7. openra_bench/scenarios/packs/cat-c10-03.yaml +10 -8
  8. openra_bench/scenarios/packs/cat-c10-04.yaml +10 -8
  9. openra_bench/scenarios/packs/cat-c10-05.yaml +10 -8
  10. openra_bench/scenarios/packs/cat-c11-02.yaml +11 -10
  11. openra_bench/scenarios/packs/cat-c11-03.yaml +11 -10
  12. openra_bench/scenarios/packs/cat-c11-04.yaml +11 -10
  13. openra_bench/scenarios/packs/cat-c12-02.yaml +11 -10
  14. openra_bench/scenarios/packs/cat-c12-03.yaml +11 -10
  15. openra_bench/scenarios/packs/cat-c12-04.yaml +11 -10
  16. openra_bench/scenarios/packs/cat-c2-02.yaml +11 -10
  17. openra_bench/scenarios/packs/cat-c2-03.yaml +11 -10
  18. openra_bench/scenarios/packs/cat-c2-04.yaml +11 -10
  19. openra_bench/scenarios/packs/cat-c2-05.yaml +11 -10
  20. openra_bench/scenarios/packs/cat-c3-02.yaml +10 -8
  21. openra_bench/scenarios/packs/cat-c3-03.yaml +10 -8
  22. openra_bench/scenarios/packs/cat-c3-04.yaml +10 -8
  23. openra_bench/scenarios/packs/cat-c3-05.yaml +10 -8
  24. openra_bench/scenarios/packs/cat-c4-02.yaml +10 -8
  25. openra_bench/scenarios/packs/cat-c4-03.yaml +10 -8
  26. openra_bench/scenarios/packs/cat-c4-04.yaml +10 -8
  27. openra_bench/scenarios/packs/cat-c5-02.yaml +11 -10
  28. openra_bench/scenarios/packs/cat-c5-03.yaml +11 -10
  29. openra_bench/scenarios/packs/cat-c5-04.yaml +11 -10
  30. openra_bench/scenarios/packs/cat-c5-05.yaml +11 -10
  31. openra_bench/scenarios/packs/cat-c6-02.yaml +11 -10
  32. openra_bench/scenarios/packs/cat-c6-03.yaml +11 -10
  33. openra_bench/scenarios/packs/cat-c6-04.yaml +11 -10
  34. openra_bench/scenarios/packs/cat-c6-05.yaml +11 -10
  35. openra_bench/scenarios/packs/cat-c7-02.yaml +11 -10
  36. openra_bench/scenarios/packs/cat-c7-03.yaml +11 -10
  37. openra_bench/scenarios/packs/cat-c7-04.yaml +11 -10
  38. openra_bench/scenarios/packs/cat-c7-05.yaml +11 -10
  39. openra_bench/scenarios/packs/cat-c8-02.yaml +11 -10
  40. openra_bench/scenarios/packs/cat-c8-03.yaml +11 -10
  41. openra_bench/scenarios/packs/cat-c8-04.yaml +11 -10
  42. openra_bench/scenarios/packs/cat-c9-02.yaml +10 -8
  43. openra_bench/scenarios/packs/cat-c9-03.yaml +10 -8
  44. openra_bench/scenarios/packs/cat-c9-04.yaml +10 -8
  45. openra_bench/scenarios/packs/cat-c9-05.yaml +10 -8
  46. openra_bench/scenarios/packs/economy-harvest-investment.yaml +69 -66
  47. openra_bench/scenarios/packs/economy-harvest-timebox.yaml +55 -53
  48. openra_bench/scenarios/schema.py +7 -0
  49. tests/test_hygiene.py +96 -0
openra_bench/run_eval.py CHANGED
@@ -102,6 +102,14 @@ def evaluate(
102
  tasks: list[tuple] = []
103
  for pack_path in packs:
104
  pack = load_pack(pack_path)
 
 
 
 
 
 
 
 
105
  for level in levels:
106
  compiled = compile_level(pack, level)
107
  if not compiled.map_supported:
 
102
  tasks: list[tuple] = []
103
  for pack_path in packs:
104
  pack = load_pack(pack_path)
105
+ # Quarantined packs stay runnable by explicit --packs but never
106
+ # enter the default sweep / leaderboard (audit hygiene).
107
+ if getattr(pack.meta, "status", "active") == "quarantine":
108
+ skipped.append(
109
+ f"{pack.meta.id} (quarantine: "
110
+ f"{pack.meta.quarantine_reason or 'excluded from default set'})"
111
+ )
112
+ continue
113
  for level in levels:
114
  compiled = compile_level(pack, level)
115
  if not compiled.map_supported:
openra_bench/scenarios/packs/cat-c1-02.yaml CHANGED
@@ -2,11 +2,13 @@ meta:
2
  id: cat-c1-02
3
  title: 'Frontier Scouting #3'
4
  capability: perception
5
- real_world_meaning: Pathfinding is solved; deciding WHICH unexplored region to commit
6
- to under partial information and a deadline is the real search problem.
7
- robotics_analogue: 'UAV/UGV frontier selection: choose which unknown region to commit
8
- a time-limited searcher to.'
9
  author: catalog-generator
 
 
10
  base_map: rush-hour-arena
11
  base:
12
  agent:
@@ -35,24 +37,24 @@ base:
35
  count: 2
36
  levels:
37
  easy:
38
- description: "Frontier Scouting: easy \u2014 the decision is harder (less info\
39
- \ / tighter clock / committed choice)."
40
  win_condition:
41
  all_of:
42
  - explored_pct_gte: 40
43
  - within_ticks: 15600
44
  max_turns: 45
45
  medium:
46
- description: "Frontier Scouting: medium \u2014 the decision is harder (less info\
47
- \ / tighter clock / committed choice)."
48
  win_condition:
49
  all_of:
50
  - explored_pct_gte: 49
51
  - within_ticks: 12100
52
  max_turns: 53
53
  hard:
54
- description: "Frontier Scouting: hard \u2014 the decision is harder (less info\
55
- \ / tighter clock / committed choice)."
56
  win_condition:
57
  all_of:
58
  - explored_pct_gte: 58
 
2
  id: cat-c1-02
3
  title: 'Frontier Scouting #3'
4
  capability: perception
5
+ real_world_meaning: Pathfinding is solved; deciding WHICH unexplored region to commit to under partial
6
+ information and a deadline is the real search problem.
7
+ robotics_analogue: 'UAV/UGV frontier selection: choose which unknown region to commit a time-limited
8
+ searcher to.'
9
  author: catalog-generator
10
+ status: quarantine
11
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
12
  base_map: rush-hour-arena
13
  base:
14
  agent:
 
37
  count: 2
38
  levels:
39
  easy:
40
+ description: 'Frontier Scouting: easy — the decision is harder (less info / tighter clock / committed
41
+ choice).'
42
  win_condition:
43
  all_of:
44
  - explored_pct_gte: 40
45
  - within_ticks: 15600
46
  max_turns: 45
47
  medium:
48
+ description: 'Frontier Scouting: medium — the decision is harder (less info / tighter clock / committed
49
+ choice).'
50
  win_condition:
51
  all_of:
52
  - explored_pct_gte: 49
53
  - within_ticks: 12100
54
  max_turns: 53
55
  hard:
56
+ description: 'Frontier Scouting: hard — the decision is harder (less info / tighter clock / committed
57
+ choice).'
58
  win_condition:
59
  all_of:
60
  - explored_pct_gte: 58
openra_bench/scenarios/packs/cat-c1-03.yaml CHANGED
@@ -2,11 +2,13 @@ meta:
2
  id: cat-c1-03
3
  title: 'Frontier Scouting #4'
4
  capability: perception
5
- real_world_meaning: Pathfinding is solved; deciding WHICH unexplored region to commit
6
- to under partial information and a deadline is the real search problem.
7
- robotics_analogue: 'UAV/UGV frontier selection: choose which unknown region to commit
8
- a time-limited searcher to.'
9
  author: catalog-generator
 
 
10
  base_map: rush-hour-arena
11
  base:
12
  agent:
@@ -35,24 +37,24 @@ base:
35
  count: 2
36
  levels:
37
  easy:
38
- description: "Frontier Scouting: easy \u2014 the decision is harder (less info\
39
- \ / tighter clock / committed choice)."
40
  win_condition:
41
  all_of:
42
  - explored_pct_gte: 41
43
  - within_ticks: 15400
44
  max_turns: 45
45
  medium:
46
- description: "Frontier Scouting: medium \u2014 the decision is harder (less info\
47
- \ / tighter clock / committed choice)."
48
  win_condition:
49
  all_of:
50
  - explored_pct_gte: 50
51
  - within_ticks: 11900
52
  max_turns: 53
53
  hard:
54
- description: "Frontier Scouting: hard \u2014 the decision is harder (less info\
55
- \ / tighter clock / committed choice)."
56
  win_condition:
57
  all_of:
58
  - explored_pct_gte: 59
 
2
  id: cat-c1-03
3
  title: 'Frontier Scouting #4'
4
  capability: perception
5
+ real_world_meaning: Pathfinding is solved; deciding WHICH unexplored region to commit to under partial
6
+ information and a deadline is the real search problem.
7
+ robotics_analogue: 'UAV/UGV frontier selection: choose which unknown region to commit a time-limited
8
+ searcher to.'
9
  author: catalog-generator
10
+ status: quarantine
11
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
12
  base_map: rush-hour-arena
13
  base:
14
  agent:
 
37
  count: 2
38
  levels:
39
  easy:
40
+ description: 'Frontier Scouting: easy — the decision is harder (less info / tighter clock / committed
41
+ choice).'
42
  win_condition:
43
  all_of:
44
  - explored_pct_gte: 41
45
  - within_ticks: 15400
46
  max_turns: 45
47
  medium:
48
+ description: 'Frontier Scouting: medium — the decision is harder (less info / tighter clock / committed
49
+ choice).'
50
  win_condition:
51
  all_of:
52
  - explored_pct_gte: 50
53
  - within_ticks: 11900
54
  max_turns: 53
55
  hard:
56
+ description: 'Frontier Scouting: hard — the decision is harder (less info / tighter clock / committed
57
+ choice).'
58
  win_condition:
59
  all_of:
60
  - explored_pct_gte: 59
openra_bench/scenarios/packs/cat-c1-04.yaml CHANGED
@@ -2,11 +2,13 @@ meta:
2
  id: cat-c1-04
3
  title: 'Frontier Scouting #5'
4
  capability: perception
5
- real_world_meaning: Pathfinding is solved; deciding WHICH unexplored region to commit
6
- to under partial information and a deadline is the real search problem.
7
- robotics_analogue: 'UAV/UGV frontier selection: choose which unknown region to commit
8
- a time-limited searcher to.'
9
  author: catalog-generator
 
 
10
  base_map: rush-hour-arena
11
  base:
12
  agent:
@@ -35,24 +37,24 @@ base:
35
  count: 2
36
  levels:
37
  easy:
38
- description: "Frontier Scouting: easy \u2014 the decision is harder (less info\
39
- \ / tighter clock / committed choice)."
40
  win_condition:
41
  all_of:
42
  - explored_pct_gte: 42
43
  - within_ticks: 15200
44
  max_turns: 45
45
  medium:
46
- description: "Frontier Scouting: medium \u2014 the decision is harder (less info\
47
- \ / tighter clock / committed choice)."
48
  win_condition:
49
  all_of:
50
  - explored_pct_gte: 51
51
  - within_ticks: 11700
52
  max_turns: 53
53
  hard:
54
- description: "Frontier Scouting: hard \u2014 the decision is harder (less info\
55
- \ / tighter clock / committed choice)."
56
  win_condition:
57
  all_of:
58
  - explored_pct_gte: 60
 
2
  id: cat-c1-04
3
  title: 'Frontier Scouting #5'
4
  capability: perception
5
+ real_world_meaning: Pathfinding is solved; deciding WHICH unexplored region to commit to under partial
6
+ information and a deadline is the real search problem.
7
+ robotics_analogue: 'UAV/UGV frontier selection: choose which unknown region to commit a time-limited
8
+ searcher to.'
9
  author: catalog-generator
10
+ status: quarantine
11
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
12
  base_map: rush-hour-arena
13
  base:
14
  agent:
 
37
  count: 2
38
  levels:
39
  easy:
40
+ description: 'Frontier Scouting: easy — the decision is harder (less info / tighter clock / committed
41
+ choice).'
42
  win_condition:
43
  all_of:
44
  - explored_pct_gte: 42
45
  - within_ticks: 15200
46
  max_turns: 45
47
  medium:
48
+ description: 'Frontier Scouting: medium — the decision is harder (less info / tighter clock / committed
49
+ choice).'
50
  win_condition:
51
  all_of:
52
  - explored_pct_gte: 51
53
  - within_ticks: 11700
54
  max_turns: 53
55
  hard:
56
+ description: 'Frontier Scouting: hard — the decision is harder (less info / tighter clock / committed
57
+ choice).'
58
  win_condition:
59
  all_of:
60
  - explored_pct_gte: 60
openra_bench/scenarios/packs/cat-c1-05.yaml CHANGED
@@ -2,11 +2,13 @@ meta:
2
  id: cat-c1-05
3
  title: 'Frontier Scouting #6'
4
  capability: perception
5
- real_world_meaning: Pathfinding is solved; deciding WHICH unexplored region to commit
6
- to under partial information and a deadline is the real search problem.
7
- robotics_analogue: 'UAV/UGV frontier selection: choose which unknown region to commit
8
- a time-limited searcher to.'
9
  author: catalog-generator
 
 
10
  base_map: rush-hour-arena
11
  base:
12
  agent:
@@ -35,24 +37,24 @@ base:
35
  count: 2
36
  levels:
37
  easy:
38
- description: "Frontier Scouting: easy \u2014 the decision is harder (less info\
39
- \ / tighter clock / committed choice)."
40
  win_condition:
41
  all_of:
42
  - explored_pct_gte: 43
43
  - within_ticks: 15000
44
  max_turns: 45
45
  medium:
46
- description: "Frontier Scouting: medium \u2014 the decision is harder (less info\
47
- \ / tighter clock / committed choice)."
48
  win_condition:
49
  all_of:
50
  - explored_pct_gte: 52
51
  - within_ticks: 11500
52
  max_turns: 53
53
  hard:
54
- description: "Frontier Scouting: hard \u2014 the decision is harder (less info\
55
- \ / tighter clock / committed choice)."
56
  win_condition:
57
  all_of:
58
  - explored_pct_gte: 61
 
2
  id: cat-c1-05
3
  title: 'Frontier Scouting #6'
4
  capability: perception
5
+ real_world_meaning: Pathfinding is solved; deciding WHICH unexplored region to commit to under partial
6
+ information and a deadline is the real search problem.
7
+ robotics_analogue: 'UAV/UGV frontier selection: choose which unknown region to commit a time-limited
8
+ searcher to.'
9
  author: catalog-generator
10
+ status: quarantine
11
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
12
  base_map: rush-hour-arena
13
  base:
14
  agent:
 
37
  count: 2
38
  levels:
39
  easy:
40
+ description: 'Frontier Scouting: easy — the decision is harder (less info / tighter clock / committed
41
+ choice).'
42
  win_condition:
43
  all_of:
44
  - explored_pct_gte: 43
45
  - within_ticks: 15000
46
  max_turns: 45
47
  medium:
48
+ description: 'Frontier Scouting: medium — the decision is harder (less info / tighter clock / committed
49
+ choice).'
50
  win_condition:
51
  all_of:
52
  - explored_pct_gte: 52
53
  - within_ticks: 11500
54
  max_turns: 53
55
  hard:
56
+ description: 'Frontier Scouting: hard — the decision is harder (less info / tighter clock / committed
57
+ choice).'
58
  win_condition:
59
  all_of:
60
  - explored_pct_gte: 61
openra_bench/scenarios/packs/cat-c10-02.yaml CHANGED
@@ -2,10 +2,12 @@ meta:
2
  id: cat-c10-02
3
  title: 'Force Coordination #3'
4
  capability: action
5
- real_world_meaning: 'Coordinated multi-robot rendezvous: steer separated teams to
6
- a common staging point on time.'
7
  robotics_analogue: Drive split groups to converge simultaneously and survive.
8
  author: catalog-generator
 
 
9
  base_map: rush-hour-arena
10
  base:
11
  agent:
@@ -41,8 +43,8 @@ base:
41
  stance: 2
42
  levels:
43
  easy:
44
- description: "Force Coordination: easy \u2014 the decision is harder (less info\
45
- \ / tighter clock / committed choice)."
46
  win_condition:
47
  all_of:
48
  - all_units_in_region:
@@ -53,8 +55,8 @@ levels:
53
  - within_ticks: 13000
54
  max_turns: 45
55
  medium:
56
- description: "Force Coordination: medium \u2014 the decision is harder (less info\
57
- \ / tighter clock / committed choice)."
58
  win_condition:
59
  all_of:
60
  - all_units_in_region:
@@ -65,8 +67,8 @@ levels:
65
  - within_ticks: 10000
66
  max_turns: 53
67
  hard:
68
- description: "Force Coordination: hard \u2014 the decision is harder (less info\
69
- \ / tighter clock / committed choice)."
70
  win_condition:
71
  all_of:
72
  - all_units_in_region:
 
2
  id: cat-c10-02
3
  title: 'Force Coordination #3'
4
  capability: action
5
+ real_world_meaning: 'Coordinated multi-robot rendezvous: steer separated teams to a common staging point
6
+ on time.'
7
  robotics_analogue: Drive split groups to converge simultaneously and survive.
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
43
  stance: 2
44
  levels:
45
  easy:
46
+ description: 'Force Coordination: easy — the decision is harder (less info / tighter clock / committed
47
+ choice).'
48
  win_condition:
49
  all_of:
50
  - all_units_in_region:
 
55
  - within_ticks: 13000
56
  max_turns: 45
57
  medium:
58
+ description: 'Force Coordination: medium — the decision is harder (less info / tighter clock / committed
59
+ choice).'
60
  win_condition:
61
  all_of:
62
  - all_units_in_region:
 
67
  - within_ticks: 10000
68
  max_turns: 53
69
  hard:
70
+ description: 'Force Coordination: hard — the decision is harder (less info / tighter clock / committed
71
+ choice).'
72
  win_condition:
73
  all_of:
74
  - all_units_in_region:
openra_bench/scenarios/packs/cat-c10-03.yaml CHANGED
@@ -2,10 +2,12 @@ meta:
2
  id: cat-c10-03
3
  title: 'Force Coordination #4'
4
  capability: action
5
- real_world_meaning: 'Coordinated multi-robot rendezvous: steer separated teams to
6
- a common staging point on time.'
7
  robotics_analogue: Drive split groups to converge simultaneously and survive.
8
  author: catalog-generator
 
 
9
  base_map: rush-hour-arena
10
  base:
11
  agent:
@@ -41,8 +43,8 @@ base:
41
  stance: 2
42
  levels:
43
  easy:
44
- description: "Force Coordination: easy \u2014 the decision is harder (less info\
45
- \ / tighter clock / committed choice)."
46
  win_condition:
47
  all_of:
48
  - all_units_in_region:
@@ -53,8 +55,8 @@ levels:
53
  - within_ticks: 13000
54
  max_turns: 45
55
  medium:
56
- description: "Force Coordination: medium \u2014 the decision is harder (less info\
57
- \ / tighter clock / committed choice)."
58
  win_condition:
59
  all_of:
60
  - all_units_in_region:
@@ -65,8 +67,8 @@ levels:
65
  - within_ticks: 10000
66
  max_turns: 53
67
  hard:
68
- description: "Force Coordination: hard \u2014 the decision is harder (less info\
69
- \ / tighter clock / committed choice)."
70
  win_condition:
71
  all_of:
72
  - all_units_in_region:
 
2
  id: cat-c10-03
3
  title: 'Force Coordination #4'
4
  capability: action
5
+ real_world_meaning: 'Coordinated multi-robot rendezvous: steer separated teams to a common staging point
6
+ on time.'
7
  robotics_analogue: Drive split groups to converge simultaneously and survive.
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
43
  stance: 2
44
  levels:
45
  easy:
46
+ description: 'Force Coordination: easy — the decision is harder (less info / tighter clock / committed
47
+ choice).'
48
  win_condition:
49
  all_of:
50
  - all_units_in_region:
 
55
  - within_ticks: 13000
56
  max_turns: 45
57
  medium:
58
+ description: 'Force Coordination: medium — the decision is harder (less info / tighter clock / committed
59
+ choice).'
60
  win_condition:
61
  all_of:
62
  - all_units_in_region:
 
67
  - within_ticks: 10000
68
  max_turns: 53
69
  hard:
70
+ description: 'Force Coordination: hard — the decision is harder (less info / tighter clock / committed
71
+ choice).'
72
  win_condition:
73
  all_of:
74
  - all_units_in_region:
openra_bench/scenarios/packs/cat-c10-04.yaml CHANGED
@@ -2,10 +2,12 @@ meta:
2
  id: cat-c10-04
3
  title: 'Force Coordination #5'
4
  capability: action
5
- real_world_meaning: 'Coordinated multi-robot rendezvous: steer separated teams to
6
- a common staging point on time.'
7
  robotics_analogue: Drive split groups to converge simultaneously and survive.
8
  author: catalog-generator
 
 
9
  base_map: rush-hour-arena
10
  base:
11
  agent:
@@ -41,8 +43,8 @@ base:
41
  stance: 2
42
  levels:
43
  easy:
44
- description: "Force Coordination: easy \u2014 the decision is harder (less info\
45
- \ / tighter clock / committed choice)."
46
  win_condition:
47
  all_of:
48
  - all_units_in_region:
@@ -53,8 +55,8 @@ levels:
53
  - within_ticks: 13000
54
  max_turns: 45
55
  medium:
56
- description: "Force Coordination: medium \u2014 the decision is harder (less info\
57
- \ / tighter clock / committed choice)."
58
  win_condition:
59
  all_of:
60
  - all_units_in_region:
@@ -65,8 +67,8 @@ levels:
65
  - within_ticks: 10000
66
  max_turns: 53
67
  hard:
68
- description: "Force Coordination: hard \u2014 the decision is harder (less info\
69
- \ / tighter clock / committed choice)."
70
  win_condition:
71
  all_of:
72
  - all_units_in_region:
 
2
  id: cat-c10-04
3
  title: 'Force Coordination #5'
4
  capability: action
5
+ real_world_meaning: 'Coordinated multi-robot rendezvous: steer separated teams to a common staging point
6
+ on time.'
7
  robotics_analogue: Drive split groups to converge simultaneously and survive.
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
43
  stance: 2
44
  levels:
45
  easy:
46
+ description: 'Force Coordination: easy — the decision is harder (less info / tighter clock / committed
47
+ choice).'
48
  win_condition:
49
  all_of:
50
  - all_units_in_region:
 
55
  - within_ticks: 13000
56
  max_turns: 45
57
  medium:
58
+ description: 'Force Coordination: medium — the decision is harder (less info / tighter clock / committed
59
+ choice).'
60
  win_condition:
61
  all_of:
62
  - all_units_in_region:
 
67
  - within_ticks: 10000
68
  max_turns: 53
69
  hard:
70
+ description: 'Force Coordination: hard — the decision is harder (less info / tighter clock / committed
71
+ choice).'
72
  win_condition:
73
  all_of:
74
  - all_units_in_region:
openra_bench/scenarios/packs/cat-c10-05.yaml CHANGED
@@ -2,10 +2,12 @@ meta:
2
  id: cat-c10-05
3
  title: 'Force Coordination #6'
4
  capability: action
5
- real_world_meaning: 'Coordinated multi-robot rendezvous: steer separated teams to
6
- a common staging point on time.'
7
  robotics_analogue: Drive split groups to converge simultaneously and survive.
8
  author: catalog-generator
 
 
9
  base_map: rush-hour-arena
10
  base:
11
  agent:
@@ -41,8 +43,8 @@ base:
41
  stance: 2
42
  levels:
43
  easy:
44
- description: "Force Coordination: easy \u2014 the decision is harder (less info\
45
- \ / tighter clock / committed choice)."
46
  win_condition:
47
  all_of:
48
  - all_units_in_region:
@@ -53,8 +55,8 @@ levels:
53
  - within_ticks: 13000
54
  max_turns: 45
55
  medium:
56
- description: "Force Coordination: medium \u2014 the decision is harder (less info\
57
- \ / tighter clock / committed choice)."
58
  win_condition:
59
  all_of:
60
  - all_units_in_region:
@@ -65,8 +67,8 @@ levels:
65
  - within_ticks: 10000
66
  max_turns: 53
67
  hard:
68
- description: "Force Coordination: hard \u2014 the decision is harder (less info\
69
- \ / tighter clock / committed choice)."
70
  win_condition:
71
  all_of:
72
  - all_units_in_region:
 
2
  id: cat-c10-05
3
  title: 'Force Coordination #6'
4
  capability: action
5
+ real_world_meaning: 'Coordinated multi-robot rendezvous: steer separated teams to a common staging point
6
+ on time.'
7
  robotics_analogue: Drive split groups to converge simultaneously and survive.
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
43
  stance: 2
44
  levels:
45
  easy:
46
+ description: 'Force Coordination: easy — the decision is harder (less info / tighter clock / committed
47
+ choice).'
48
  win_condition:
49
  all_of:
50
  - all_units_in_region:
 
55
  - within_ticks: 13000
56
  max_turns: 45
57
  medium:
58
+ description: 'Force Coordination: medium — the decision is harder (less info / tighter clock / committed
59
+ choice).'
60
  win_condition:
61
  all_of:
62
  - all_units_in_region:
 
67
  - within_ticks: 10000
68
  max_turns: 53
69
  hard:
70
+ description: 'Force Coordination: hard — the decision is harder (less info / tighter clock / committed
71
+ choice).'
72
  win_condition:
73
  all_of:
74
  - all_units_in_region:
openra_bench/scenarios/packs/cat-c11-02.yaml CHANGED
@@ -2,11 +2,12 @@ meta:
2
  id: cat-c11-02
3
  title: 'Tempo / Timing Window #3'
4
  capability: reasoning
5
- real_world_meaning: 'Acting only inside a valid time window (takt-time): too early
6
- or too late both fail.'
7
- robotics_analogue: "Strike inside a window that opens late and closes \u2014 not\
8
- \ earliest, not biggest."
9
  author: catalog-generator
 
 
10
  base_map: rush-hour-arena
11
  base:
12
  agent:
@@ -57,8 +58,8 @@ base:
57
  stance: 2
58
  levels:
59
  easy:
60
- description: "Tempo / Timing Window: easy \u2014 the decision is harder (less\
61
- \ info / tighter clock / committed choice)."
62
  win_condition:
63
  all_of:
64
  - after_ticks: 1500
@@ -66,8 +67,8 @@ levels:
66
  - within_ticks: 12000
67
  max_turns: 45
68
  medium:
69
- description: "Tempo / Timing Window: medium \u2014 the decision is harder (less\
70
- \ info / tighter clock / committed choice)."
71
  win_condition:
72
  all_of:
73
  - after_ticks: 2300
@@ -75,8 +76,8 @@ levels:
75
  - within_ticks: 9500
76
  max_turns: 53
77
  hard:
78
- description: "Tempo / Timing Window: hard \u2014 the decision is harder (less\
79
- \ info / tighter clock / committed choice)."
80
  win_condition:
81
  all_of:
82
  - after_ticks: 3100
 
2
  id: cat-c11-02
3
  title: 'Tempo / Timing Window #3'
4
  capability: reasoning
5
+ real_world_meaning: 'Acting only inside a valid time window (takt-time): too early or too late both
6
+ fail.'
7
+ robotics_analogue: Strike inside a window that opens late and closes — not earliest, not biggest.
 
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
58
  stance: 2
59
  levels:
60
  easy:
61
+ description: 'Tempo / Timing Window: easy — the decision is harder (less info / tighter clock / committed
62
+ choice).'
63
  win_condition:
64
  all_of:
65
  - after_ticks: 1500
 
67
  - within_ticks: 12000
68
  max_turns: 45
69
  medium:
70
+ description: 'Tempo / Timing Window: medium — the decision is harder (less info / tighter clock /
71
+ committed choice).'
72
  win_condition:
73
  all_of:
74
  - after_ticks: 2300
 
76
  - within_ticks: 9500
77
  max_turns: 53
78
  hard:
79
+ description: 'Tempo / Timing Window: hard — the decision is harder (less info / tighter clock / committed
80
+ choice).'
81
  win_condition:
82
  all_of:
83
  - after_ticks: 3100
openra_bench/scenarios/packs/cat-c11-03.yaml CHANGED
@@ -2,11 +2,12 @@ meta:
2
  id: cat-c11-03
3
  title: 'Tempo / Timing Window #4'
4
  capability: reasoning
5
- real_world_meaning: 'Acting only inside a valid time window (takt-time): too early
6
- or too late both fail.'
7
- robotics_analogue: "Strike inside a window that opens late and closes \u2014 not\
8
- \ earliest, not biggest."
9
  author: catalog-generator
 
 
10
  base_map: rush-hour-arena
11
  base:
12
  agent:
@@ -57,8 +58,8 @@ base:
57
  stance: 2
58
  levels:
59
  easy:
60
- description: "Tempo / Timing Window: easy \u2014 the decision is harder (less\
61
- \ info / tighter clock / committed choice)."
62
  win_condition:
63
  all_of:
64
  - after_ticks: 1500
@@ -66,8 +67,8 @@ levels:
66
  - within_ticks: 12000
67
  max_turns: 45
68
  medium:
69
- description: "Tempo / Timing Window: medium \u2014 the decision is harder (less\
70
- \ info / tighter clock / committed choice)."
71
  win_condition:
72
  all_of:
73
  - after_ticks: 2300
@@ -75,8 +76,8 @@ levels:
75
  - within_ticks: 9500
76
  max_turns: 53
77
  hard:
78
- description: "Tempo / Timing Window: hard \u2014 the decision is harder (less\
79
- \ info / tighter clock / committed choice)."
80
  win_condition:
81
  all_of:
82
  - after_ticks: 3100
 
2
  id: cat-c11-03
3
  title: 'Tempo / Timing Window #4'
4
  capability: reasoning
5
+ real_world_meaning: 'Acting only inside a valid time window (takt-time): too early or too late both
6
+ fail.'
7
+ robotics_analogue: Strike inside a window that opens late and closes — not earliest, not biggest.
 
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
58
  stance: 2
59
  levels:
60
  easy:
61
+ description: 'Tempo / Timing Window: easy — the decision is harder (less info / tighter clock / committed
62
+ choice).'
63
  win_condition:
64
  all_of:
65
  - after_ticks: 1500
 
67
  - within_ticks: 12000
68
  max_turns: 45
69
  medium:
70
+ description: 'Tempo / Timing Window: medium — the decision is harder (less info / tighter clock /
71
+ committed choice).'
72
  win_condition:
73
  all_of:
74
  - after_ticks: 2300
 
76
  - within_ticks: 9500
77
  max_turns: 53
78
  hard:
79
+ description: 'Tempo / Timing Window: hard — the decision is harder (less info / tighter clock / committed
80
+ choice).'
81
  win_condition:
82
  all_of:
83
  - after_ticks: 3100
openra_bench/scenarios/packs/cat-c11-04.yaml CHANGED
@@ -2,11 +2,12 @@ meta:
2
  id: cat-c11-04
3
  title: 'Tempo / Timing Window #5'
4
  capability: reasoning
5
- real_world_meaning: 'Acting only inside a valid time window (takt-time): too early
6
- or too late both fail.'
7
- robotics_analogue: "Strike inside a window that opens late and closes \u2014 not\
8
- \ earliest, not biggest."
9
  author: catalog-generator
 
 
10
  base_map: rush-hour-arena
11
  base:
12
  agent:
@@ -57,8 +58,8 @@ base:
57
  stance: 2
58
  levels:
59
  easy:
60
- description: "Tempo / Timing Window: easy \u2014 the decision is harder (less\
61
- \ info / tighter clock / committed choice)."
62
  win_condition:
63
  all_of:
64
  - after_ticks: 1500
@@ -66,8 +67,8 @@ levels:
66
  - within_ticks: 12000
67
  max_turns: 45
68
  medium:
69
- description: "Tempo / Timing Window: medium \u2014 the decision is harder (less\
70
- \ info / tighter clock / committed choice)."
71
  win_condition:
72
  all_of:
73
  - after_ticks: 2300
@@ -75,8 +76,8 @@ levels:
75
  - within_ticks: 9500
76
  max_turns: 53
77
  hard:
78
- description: "Tempo / Timing Window: hard \u2014 the decision is harder (less\
79
- \ info / tighter clock / committed choice)."
80
  win_condition:
81
  all_of:
82
  - after_ticks: 3100
 
2
  id: cat-c11-04
3
  title: 'Tempo / Timing Window #5'
4
  capability: reasoning
5
+ real_world_meaning: 'Acting only inside a valid time window (takt-time): too early or too late both
6
+ fail.'
7
+ robotics_analogue: Strike inside a window that opens late and closes — not earliest, not biggest.
 
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
58
  stance: 2
59
  levels:
60
  easy:
61
+ description: 'Tempo / Timing Window: easy — the decision is harder (less info / tighter clock / committed
62
+ choice).'
63
  win_condition:
64
  all_of:
65
  - after_ticks: 1500
 
67
  - within_ticks: 12000
68
  max_turns: 45
69
  medium:
70
+ description: 'Tempo / Timing Window: medium — the decision is harder (less info / tighter clock /
71
+ committed choice).'
72
  win_condition:
73
  all_of:
74
  - after_ticks: 2300
 
76
  - within_ticks: 9500
77
  max_turns: 53
78
  hard:
79
+ description: 'Tempo / Timing Window: hard — the decision is harder (less info / tighter clock / committed
80
+ choice).'
81
  win_condition:
82
  all_of:
83
  - after_ticks: 3100
openra_bench/scenarios/packs/cat-c12-02.yaml CHANGED
@@ -2,11 +2,12 @@ meta:
2
  id: cat-c12-02
3
  title: 'Error Recovery / Replan #3'
4
  capability: reasoning
5
- real_world_meaning: "Detecting plan failure and repairing it under reduced means\
6
- \ and a deadline \u2014 receding-horizon replanning."
7
- robotics_analogue: After a setback, rebuild/repair and re-establish capability under
8
- a hard clock.
9
  author: catalog-generator
 
 
10
  base_map: rush-hour-arena
11
  base:
12
  agent:
@@ -52,8 +53,8 @@ base:
52
  stance: 2
53
  levels:
54
  easy:
55
- description: "Error Recovery / Replan: easy \u2014 the decision is harder (less\
56
- \ info / tighter clock / committed choice)."
57
  win_condition:
58
  all_of:
59
  - has_building: tent
@@ -62,8 +63,8 @@ levels:
62
  - within_ticks: 22000
63
  max_turns: 45
64
  medium:
65
- description: "Error Recovery / Replan: medium \u2014 the decision is harder (less\
66
- \ info / tighter clock / committed choice)."
67
  win_condition:
68
  all_of:
69
  - has_building: tent
@@ -72,8 +73,8 @@ levels:
72
  - within_ticks: 17000
73
  max_turns: 53
74
  hard:
75
- description: "Error Recovery / Replan: hard \u2014 the decision is harder (less\
76
- \ info / tighter clock / committed choice)."
77
  win_condition:
78
  all_of:
79
  - has_building: tent
 
2
  id: cat-c12-02
3
  title: 'Error Recovery / Replan #3'
4
  capability: reasoning
5
+ real_world_meaning: Detecting plan failure and repairing it under reduced means and a deadline — receding-horizon
6
+ replanning.
7
+ robotics_analogue: After a setback, rebuild/repair and re-establish capability under a hard clock.
 
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
53
  stance: 2
54
  levels:
55
  easy:
56
+ description: 'Error Recovery / Replan: easy — the decision is harder (less info / tighter clock /
57
+ committed choice).'
58
  win_condition:
59
  all_of:
60
  - has_building: tent
 
63
  - within_ticks: 22000
64
  max_turns: 45
65
  medium:
66
+ description: 'Error Recovery / Replan: medium — the decision is harder (less info / tighter clock
67
+ / committed choice).'
68
  win_condition:
69
  all_of:
70
  - has_building: tent
 
73
  - within_ticks: 17000
74
  max_turns: 53
75
  hard:
76
+ description: 'Error Recovery / Replan: hard — the decision is harder (less info / tighter clock /
77
+ committed choice).'
78
  win_condition:
79
  all_of:
80
  - has_building: tent
openra_bench/scenarios/packs/cat-c12-03.yaml CHANGED
@@ -2,11 +2,12 @@ meta:
2
  id: cat-c12-03
3
  title: 'Error Recovery / Replan #4'
4
  capability: reasoning
5
- real_world_meaning: "Detecting plan failure and repairing it under reduced means\
6
- \ and a deadline \u2014 receding-horizon replanning."
7
- robotics_analogue: After a setback, rebuild/repair and re-establish capability under
8
- a hard clock.
9
  author: catalog-generator
 
 
10
  base_map: rush-hour-arena
11
  base:
12
  agent:
@@ -52,8 +53,8 @@ base:
52
  stance: 2
53
  levels:
54
  easy:
55
- description: "Error Recovery / Replan: easy \u2014 the decision is harder (less\
56
- \ info / tighter clock / committed choice)."
57
  win_condition:
58
  all_of:
59
  - has_building: tent
@@ -62,8 +63,8 @@ levels:
62
  - within_ticks: 22000
63
  max_turns: 45
64
  medium:
65
- description: "Error Recovery / Replan: medium \u2014 the decision is harder (less\
66
- \ info / tighter clock / committed choice)."
67
  win_condition:
68
  all_of:
69
  - has_building: tent
@@ -72,8 +73,8 @@ levels:
72
  - within_ticks: 17000
73
  max_turns: 53
74
  hard:
75
- description: "Error Recovery / Replan: hard \u2014 the decision is harder (less\
76
- \ info / tighter clock / committed choice)."
77
  win_condition:
78
  all_of:
79
  - has_building: tent
 
2
  id: cat-c12-03
3
  title: 'Error Recovery / Replan #4'
4
  capability: reasoning
5
+ real_world_meaning: Detecting plan failure and repairing it under reduced means and a deadline — receding-horizon
6
+ replanning.
7
+ robotics_analogue: After a setback, rebuild/repair and re-establish capability under a hard clock.
 
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
53
  stance: 2
54
  levels:
55
  easy:
56
+ description: 'Error Recovery / Replan: easy — the decision is harder (less info / tighter clock /
57
+ committed choice).'
58
  win_condition:
59
  all_of:
60
  - has_building: tent
 
63
  - within_ticks: 22000
64
  max_turns: 45
65
  medium:
66
+ description: 'Error Recovery / Replan: medium — the decision is harder (less info / tighter clock
67
+ / committed choice).'
68
  win_condition:
69
  all_of:
70
  - has_building: tent
 
73
  - within_ticks: 17000
74
  max_turns: 53
75
  hard:
76
+ description: 'Error Recovery / Replan: hard — the decision is harder (less info / tighter clock /
77
+ committed choice).'
78
  win_condition:
79
  all_of:
80
  - has_building: tent
openra_bench/scenarios/packs/cat-c12-04.yaml CHANGED
@@ -2,11 +2,12 @@ meta:
2
  id: cat-c12-04
3
  title: 'Error Recovery / Replan #5'
4
  capability: reasoning
5
- real_world_meaning: "Detecting plan failure and repairing it under reduced means\
6
- \ and a deadline \u2014 receding-horizon replanning."
7
- robotics_analogue: After a setback, rebuild/repair and re-establish capability under
8
- a hard clock.
9
  author: catalog-generator
 
 
10
  base_map: rush-hour-arena
11
  base:
12
  agent:
@@ -52,8 +53,8 @@ base:
52
  stance: 2
53
  levels:
54
  easy:
55
- description: "Error Recovery / Replan: easy \u2014 the decision is harder (less\
56
- \ info / tighter clock / committed choice)."
57
  win_condition:
58
  all_of:
59
  - has_building: tent
@@ -62,8 +63,8 @@ levels:
62
  - within_ticks: 22000
63
  max_turns: 45
64
  medium:
65
- description: "Error Recovery / Replan: medium \u2014 the decision is harder (less\
66
- \ info / tighter clock / committed choice)."
67
  win_condition:
68
  all_of:
69
  - has_building: tent
@@ -72,8 +73,8 @@ levels:
72
  - within_ticks: 17000
73
  max_turns: 53
74
  hard:
75
- description: "Error Recovery / Replan: hard \u2014 the decision is harder (less\
76
- \ info / tighter clock / committed choice)."
77
  win_condition:
78
  all_of:
79
  - has_building: tent
 
2
  id: cat-c12-04
3
  title: 'Error Recovery / Replan #5'
4
  capability: reasoning
5
+ real_world_meaning: Detecting plan failure and repairing it under reduced means and a deadline — receding-horizon
6
+ replanning.
7
+ robotics_analogue: After a setback, rebuild/repair and re-establish capability under a hard clock.
 
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
53
  stance: 2
54
  levels:
55
  easy:
56
+ description: 'Error Recovery / Replan: easy — the decision is harder (less info / tighter clock /
57
+ committed choice).'
58
  win_condition:
59
  all_of:
60
  - has_building: tent
 
63
  - within_ticks: 22000
64
  max_turns: 45
65
  medium:
66
+ description: 'Error Recovery / Replan: medium — the decision is harder (less info / tighter clock
67
+ / committed choice).'
68
  win_condition:
69
  all_of:
70
  - has_building: tent
 
73
  - within_ticks: 17000
74
  max_turns: 53
75
  hard:
76
+ description: 'Error Recovery / Replan: hard — the decision is harder (less info / tighter clock /
77
+ committed choice).'
78
  win_condition:
79
  all_of:
80
  - has_building: tent
openra_bench/scenarios/packs/cat-c2-02.yaml CHANGED
@@ -2,11 +2,12 @@ meta:
2
  id: cat-c2-02
3
  title: 'Threat Enumeration #3'
4
  capability: perception
5
- real_world_meaning: "Estimating hidden adversary state from partial sightings before\
6
- \ acting \u2014 perception under occlusion and distractors."
7
- robotics_analogue: Scene state-estimation under fog and decoys before committing
8
- force.
9
  author: catalog-generator
 
 
10
  base_map: rush-hour-arena
11
  base:
12
  agent:
@@ -64,8 +65,8 @@ base:
64
  stance: 2
65
  levels:
66
  easy:
67
- description: "Threat Enumeration: easy \u2014 the decision is harder (less info\
68
- \ / tighter clock / committed choice)."
69
  win_condition:
70
  all_of:
71
  - enemies_discovered_gte: 2
@@ -73,8 +74,8 @@ levels:
73
  - within_ticks: 13700
74
  max_turns: 45
75
  medium:
76
- description: "Threat Enumeration: medium \u2014 the decision is harder (less info\
77
- \ / tighter clock / committed choice)."
78
  win_condition:
79
  all_of:
80
  - enemies_discovered_gte: 3
@@ -82,8 +83,8 @@ levels:
82
  - within_ticks: 10700
83
  max_turns: 53
84
  hard:
85
- description: "Threat Enumeration: hard \u2014 the decision is harder (less info\
86
- \ / tighter clock / committed choice)."
87
  win_condition:
88
  all_of:
89
  - enemies_discovered_gte: 4
 
2
  id: cat-c2-02
3
  title: 'Threat Enumeration #3'
4
  capability: perception
5
+ real_world_meaning: Estimating hidden adversary state from partial sightings before acting — perception
6
+ under occlusion and distractors.
7
+ robotics_analogue: Scene state-estimation under fog and decoys before committing force.
 
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
65
  stance: 2
66
  levels:
67
  easy:
68
+ description: 'Threat Enumeration: easy — the decision is harder (less info / tighter clock / committed
69
+ choice).'
70
  win_condition:
71
  all_of:
72
  - enemies_discovered_gte: 2
 
74
  - within_ticks: 13700
75
  max_turns: 45
76
  medium:
77
+ description: 'Threat Enumeration: medium — the decision is harder (less info / tighter clock / committed
78
+ choice).'
79
  win_condition:
80
  all_of:
81
  - enemies_discovered_gte: 3
 
83
  - within_ticks: 10700
84
  max_turns: 53
85
  hard:
86
+ description: 'Threat Enumeration: hard — the decision is harder (less info / tighter clock / committed
87
+ choice).'
88
  win_condition:
89
  all_of:
90
  - enemies_discovered_gte: 4
openra_bench/scenarios/packs/cat-c2-03.yaml CHANGED
@@ -2,11 +2,12 @@ meta:
2
  id: cat-c2-03
3
  title: 'Threat Enumeration #4'
4
  capability: perception
5
- real_world_meaning: "Estimating hidden adversary state from partial sightings before\
6
- \ acting \u2014 perception under occlusion and distractors."
7
- robotics_analogue: Scene state-estimation under fog and decoys before committing
8
- force.
9
  author: catalog-generator
 
 
10
  base_map: rush-hour-arena
11
  base:
12
  agent:
@@ -64,8 +65,8 @@ base:
64
  stance: 2
65
  levels:
66
  easy:
67
- description: "Threat Enumeration: easy \u2014 the decision is harder (less info\
68
- \ / tighter clock / committed choice)."
69
  win_condition:
70
  all_of:
71
  - enemies_discovered_gte: 2
@@ -73,8 +74,8 @@ levels:
73
  - within_ticks: 13550
74
  max_turns: 45
75
  medium:
76
- description: "Threat Enumeration: medium \u2014 the decision is harder (less info\
77
- \ / tighter clock / committed choice)."
78
  win_condition:
79
  all_of:
80
  - enemies_discovered_gte: 3
@@ -82,8 +83,8 @@ levels:
82
  - within_ticks: 10550
83
  max_turns: 53
84
  hard:
85
- description: "Threat Enumeration: hard \u2014 the decision is harder (less info\
86
- \ / tighter clock / committed choice)."
87
  win_condition:
88
  all_of:
89
  - enemies_discovered_gte: 4
 
2
  id: cat-c2-03
3
  title: 'Threat Enumeration #4'
4
  capability: perception
5
+ real_world_meaning: Estimating hidden adversary state from partial sightings before acting — perception
6
+ under occlusion and distractors.
7
+ robotics_analogue: Scene state-estimation under fog and decoys before committing force.
 
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
65
  stance: 2
66
  levels:
67
  easy:
68
+ description: 'Threat Enumeration: easy — the decision is harder (less info / tighter clock / committed
69
+ choice).'
70
  win_condition:
71
  all_of:
72
  - enemies_discovered_gte: 2
 
74
  - within_ticks: 13550
75
  max_turns: 45
76
  medium:
77
+ description: 'Threat Enumeration: medium — the decision is harder (less info / tighter clock / committed
78
+ choice).'
79
  win_condition:
80
  all_of:
81
  - enemies_discovered_gte: 3
 
83
  - within_ticks: 10550
84
  max_turns: 53
85
  hard:
86
+ description: 'Threat Enumeration: hard — the decision is harder (less info / tighter clock / committed
87
+ choice).'
88
  win_condition:
89
  all_of:
90
  - enemies_discovered_gte: 4
openra_bench/scenarios/packs/cat-c2-04.yaml CHANGED
@@ -2,11 +2,12 @@ meta:
2
  id: cat-c2-04
3
  title: 'Threat Enumeration #5'
4
  capability: perception
5
- real_world_meaning: "Estimating hidden adversary state from partial sightings before\
6
- \ acting \u2014 perception under occlusion and distractors."
7
- robotics_analogue: Scene state-estimation under fog and decoys before committing
8
- force.
9
  author: catalog-generator
 
 
10
  base_map: rush-hour-arena
11
  base:
12
  agent:
@@ -64,8 +65,8 @@ base:
64
  stance: 2
65
  levels:
66
  easy:
67
- description: "Threat Enumeration: easy \u2014 the decision is harder (less info\
68
- \ / tighter clock / committed choice)."
69
  win_condition:
70
  all_of:
71
  - enemies_discovered_gte: 2
@@ -73,8 +74,8 @@ levels:
73
  - within_ticks: 13400
74
  max_turns: 45
75
  medium:
76
- description: "Threat Enumeration: medium \u2014 the decision is harder (less info\
77
- \ / tighter clock / committed choice)."
78
  win_condition:
79
  all_of:
80
  - enemies_discovered_gte: 3
@@ -82,8 +83,8 @@ levels:
82
  - within_ticks: 10400
83
  max_turns: 53
84
  hard:
85
- description: "Threat Enumeration: hard \u2014 the decision is harder (less info\
86
- \ / tighter clock / committed choice)."
87
  win_condition:
88
  all_of:
89
  - enemies_discovered_gte: 4
 
2
  id: cat-c2-04
3
  title: 'Threat Enumeration #5'
4
  capability: perception
5
+ real_world_meaning: Estimating hidden adversary state from partial sightings before acting — perception
6
+ under occlusion and distractors.
7
+ robotics_analogue: Scene state-estimation under fog and decoys before committing force.
 
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
65
  stance: 2
66
  levels:
67
  easy:
68
+ description: 'Threat Enumeration: easy — the decision is harder (less info / tighter clock / committed
69
+ choice).'
70
  win_condition:
71
  all_of:
72
  - enemies_discovered_gte: 2
 
74
  - within_ticks: 13400
75
  max_turns: 45
76
  medium:
77
+ description: 'Threat Enumeration: medium — the decision is harder (less info / tighter clock / committed
78
+ choice).'
79
  win_condition:
80
  all_of:
81
  - enemies_discovered_gte: 3
 
83
  - within_ticks: 10400
84
  max_turns: 53
85
  hard:
86
+ description: 'Threat Enumeration: hard — the decision is harder (less info / tighter clock / committed
87
+ choice).'
88
  win_condition:
89
  all_of:
90
  - enemies_discovered_gte: 4
openra_bench/scenarios/packs/cat-c2-05.yaml CHANGED
@@ -2,11 +2,12 @@ meta:
2
  id: cat-c2-05
3
  title: 'Threat Enumeration #6'
4
  capability: perception
5
- real_world_meaning: "Estimating hidden adversary state from partial sightings before\
6
- \ acting \u2014 perception under occlusion and distractors."
7
- robotics_analogue: Scene state-estimation under fog and decoys before committing
8
- force.
9
  author: catalog-generator
 
 
10
  base_map: rush-hour-arena
11
  base:
12
  agent:
@@ -64,8 +65,8 @@ base:
64
  stance: 2
65
  levels:
66
  easy:
67
- description: "Threat Enumeration: easy \u2014 the decision is harder (less info\
68
- \ / tighter clock / committed choice)."
69
  win_condition:
70
  all_of:
71
  - enemies_discovered_gte: 2
@@ -73,8 +74,8 @@ levels:
73
  - within_ticks: 13250
74
  max_turns: 45
75
  medium:
76
- description: "Threat Enumeration: medium \u2014 the decision is harder (less info\
77
- \ / tighter clock / committed choice)."
78
  win_condition:
79
  all_of:
80
  - enemies_discovered_gte: 3
@@ -82,8 +83,8 @@ levels:
82
  - within_ticks: 10250
83
  max_turns: 53
84
  hard:
85
- description: "Threat Enumeration: hard \u2014 the decision is harder (less info\
86
- \ / tighter clock / committed choice)."
87
  win_condition:
88
  all_of:
89
  - enemies_discovered_gte: 4
 
2
  id: cat-c2-05
3
  title: 'Threat Enumeration #6'
4
  capability: perception
5
+ real_world_meaning: Estimating hidden adversary state from partial sightings before acting — perception
6
+ under occlusion and distractors.
7
+ robotics_analogue: Scene state-estimation under fog and decoys before committing force.
 
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
65
  stance: 2
66
  levels:
67
  easy:
68
+ description: 'Threat Enumeration: easy — the decision is harder (less info / tighter clock / committed
69
+ choice).'
70
  win_condition:
71
  all_of:
72
  - enemies_discovered_gte: 2
 
74
  - within_ticks: 13250
75
  max_turns: 45
76
  medium:
77
+ description: 'Threat Enumeration: medium — the decision is harder (less info / tighter clock / committed
78
+ choice).'
79
  win_condition:
80
  all_of:
81
  - enemies_discovered_gte: 3
 
83
  - within_ticks: 10250
84
  max_turns: 53
85
  hard:
86
+ description: 'Threat Enumeration: hard — the decision is harder (less info / tighter clock / committed
87
+ choice).'
88
  win_condition:
89
  all_of:
90
  - enemies_discovered_gte: 4
openra_bench/scenarios/packs/cat-c3-02.yaml CHANGED
@@ -2,10 +2,12 @@ meta:
2
  id: cat-c3-02
3
  title: 'Tech Critical Path #3'
4
  capability: reasoning
5
- real_world_meaning: "Precondition-ordered construction (B needs A) to hit a capability\
6
- \ deadline \u2014 topological planning under a cost+time budget."
7
  robotics_analogue: Task-graph scheduling with prerequisites under a makespan.
8
  author: catalog-generator
 
 
9
  base_map: rush-hour-arena
10
  base:
11
  agent:
@@ -46,8 +48,8 @@ base:
46
  stance: 2
47
  levels:
48
  easy:
49
- description: "Tech Critical Path: easy \u2014 the decision is harder (less info\
50
- \ / tighter clock / committed choice)."
51
  win_condition:
52
  all_of:
53
  - has_building: tent
@@ -56,8 +58,8 @@ levels:
56
  - within_ticks: 21400
57
  max_turns: 45
58
  medium:
59
- description: "Tech Critical Path: medium \u2014 the decision is harder (less info\
60
- \ / tighter clock / committed choice)."
61
  win_condition:
62
  all_of:
63
  - has_building: tent
@@ -66,8 +68,8 @@ levels:
66
  - within_ticks: 16400
67
  max_turns: 53
68
  hard:
69
- description: "Tech Critical Path: hard \u2014 the decision is harder (less info\
70
- \ / tighter clock / committed choice)."
71
  win_condition:
72
  all_of:
73
  - has_building: tent
 
2
  id: cat-c3-02
3
  title: 'Tech Critical Path #3'
4
  capability: reasoning
5
+ real_world_meaning: Precondition-ordered construction (B needs A) to hit a capability deadline — topological
6
+ planning under a cost+time budget.
7
  robotics_analogue: Task-graph scheduling with prerequisites under a makespan.
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
48
  stance: 2
49
  levels:
50
  easy:
51
+ description: 'Tech Critical Path: easy — the decision is harder (less info / tighter clock / committed
52
+ choice).'
53
  win_condition:
54
  all_of:
55
  - has_building: tent
 
58
  - within_ticks: 21400
59
  max_turns: 45
60
  medium:
61
+ description: 'Tech Critical Path: medium — the decision is harder (less info / tighter clock / committed
62
+ choice).'
63
  win_condition:
64
  all_of:
65
  - has_building: tent
 
68
  - within_ticks: 16400
69
  max_turns: 53
70
  hard:
71
+ description: 'Tech Critical Path: hard — the decision is harder (less info / tighter clock / committed
72
+ choice).'
73
  win_condition:
74
  all_of:
75
  - has_building: tent
openra_bench/scenarios/packs/cat-c3-03.yaml CHANGED
@@ -2,10 +2,12 @@ meta:
2
  id: cat-c3-03
3
  title: 'Tech Critical Path #4'
4
  capability: reasoning
5
- real_world_meaning: "Precondition-ordered construction (B needs A) to hit a capability\
6
- \ deadline \u2014 topological planning under a cost+time budget."
7
  robotics_analogue: Task-graph scheduling with prerequisites under a makespan.
8
  author: catalog-generator
 
 
9
  base_map: rush-hour-arena
10
  base:
11
  agent:
@@ -46,8 +48,8 @@ base:
46
  stance: 2
47
  levels:
48
  easy:
49
- description: "Tech Critical Path: easy \u2014 the decision is harder (less info\
50
- \ / tighter clock / committed choice)."
51
  win_condition:
52
  all_of:
53
  - has_building: tent
@@ -56,8 +58,8 @@ levels:
56
  - within_ticks: 21100
57
  max_turns: 45
58
  medium:
59
- description: "Tech Critical Path: medium \u2014 the decision is harder (less info\
60
- \ / tighter clock / committed choice)."
61
  win_condition:
62
  all_of:
63
  - has_building: tent
@@ -66,8 +68,8 @@ levels:
66
  - within_ticks: 16100
67
  max_turns: 53
68
  hard:
69
- description: "Tech Critical Path: hard \u2014 the decision is harder (less info\
70
- \ / tighter clock / committed choice)."
71
  win_condition:
72
  all_of:
73
  - has_building: tent
 
2
  id: cat-c3-03
3
  title: 'Tech Critical Path #4'
4
  capability: reasoning
5
+ real_world_meaning: Precondition-ordered construction (B needs A) to hit a capability deadline — topological
6
+ planning under a cost+time budget.
7
  robotics_analogue: Task-graph scheduling with prerequisites under a makespan.
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
48
  stance: 2
49
  levels:
50
  easy:
51
+ description: 'Tech Critical Path: easy — the decision is harder (less info / tighter clock / committed
52
+ choice).'
53
  win_condition:
54
  all_of:
55
  - has_building: tent
 
58
  - within_ticks: 21100
59
  max_turns: 45
60
  medium:
61
+ description: 'Tech Critical Path: medium — the decision is harder (less info / tighter clock / committed
62
+ choice).'
63
  win_condition:
64
  all_of:
65
  - has_building: tent
 
68
  - within_ticks: 16100
69
  max_turns: 53
70
  hard:
71
+ description: 'Tech Critical Path: hard — the decision is harder (less info / tighter clock / committed
72
+ choice).'
73
  win_condition:
74
  all_of:
75
  - has_building: tent
openra_bench/scenarios/packs/cat-c3-04.yaml CHANGED
@@ -2,10 +2,12 @@ meta:
2
  id: cat-c3-04
3
  title: 'Tech Critical Path #5'
4
  capability: reasoning
5
- real_world_meaning: "Precondition-ordered construction (B needs A) to hit a capability\
6
- \ deadline \u2014 topological planning under a cost+time budget."
7
  robotics_analogue: Task-graph scheduling with prerequisites under a makespan.
8
  author: catalog-generator
 
 
9
  base_map: rush-hour-arena
10
  base:
11
  agent:
@@ -46,8 +48,8 @@ base:
46
  stance: 2
47
  levels:
48
  easy:
49
- description: "Tech Critical Path: easy \u2014 the decision is harder (less info\
50
- \ / tighter clock / committed choice)."
51
  win_condition:
52
  all_of:
53
  - has_building: tent
@@ -56,8 +58,8 @@ levels:
56
  - within_ticks: 20800
57
  max_turns: 45
58
  medium:
59
- description: "Tech Critical Path: medium \u2014 the decision is harder (less info\
60
- \ / tighter clock / committed choice)."
61
  win_condition:
62
  all_of:
63
  - has_building: tent
@@ -66,8 +68,8 @@ levels:
66
  - within_ticks: 15800
67
  max_turns: 53
68
  hard:
69
- description: "Tech Critical Path: hard \u2014 the decision is harder (less info\
70
- \ / tighter clock / committed choice)."
71
  win_condition:
72
  all_of:
73
  - has_building: tent
 
2
  id: cat-c3-04
3
  title: 'Tech Critical Path #5'
4
  capability: reasoning
5
+ real_world_meaning: Precondition-ordered construction (B needs A) to hit a capability deadline — topological
6
+ planning under a cost+time budget.
7
  robotics_analogue: Task-graph scheduling with prerequisites under a makespan.
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
48
  stance: 2
49
  levels:
50
  easy:
51
+ description: 'Tech Critical Path: easy — the decision is harder (less info / tighter clock / committed
52
+ choice).'
53
  win_condition:
54
  all_of:
55
  - has_building: tent
 
58
  - within_ticks: 20800
59
  max_turns: 45
60
  medium:
61
+ description: 'Tech Critical Path: medium — the decision is harder (less info / tighter clock / committed
62
+ choice).'
63
  win_condition:
64
  all_of:
65
  - has_building: tent
 
68
  - within_ticks: 15800
69
  max_turns: 53
70
  hard:
71
+ description: 'Tech Critical Path: hard — the decision is harder (less info / tighter clock / committed
72
+ choice).'
73
  win_condition:
74
  all_of:
75
  - has_building: tent
openra_bench/scenarios/packs/cat-c3-05.yaml CHANGED
@@ -2,10 +2,12 @@ meta:
2
  id: cat-c3-05
3
  title: 'Tech Critical Path #6'
4
  capability: reasoning
5
- real_world_meaning: "Precondition-ordered construction (B needs A) to hit a capability\
6
- \ deadline \u2014 topological planning under a cost+time budget."
7
  robotics_analogue: Task-graph scheduling with prerequisites under a makespan.
8
  author: catalog-generator
 
 
9
  base_map: rush-hour-arena
10
  base:
11
  agent:
@@ -46,8 +48,8 @@ base:
46
  stance: 2
47
  levels:
48
  easy:
49
- description: "Tech Critical Path: easy \u2014 the decision is harder (less info\
50
- \ / tighter clock / committed choice)."
51
  win_condition:
52
  all_of:
53
  - has_building: tent
@@ -56,8 +58,8 @@ levels:
56
  - within_ticks: 20500
57
  max_turns: 45
58
  medium:
59
- description: "Tech Critical Path: medium \u2014 the decision is harder (less info\
60
- \ / tighter clock / committed choice)."
61
  win_condition:
62
  all_of:
63
  - has_building: tent
@@ -66,8 +68,8 @@ levels:
66
  - within_ticks: 15500
67
  max_turns: 53
68
  hard:
69
- description: "Tech Critical Path: hard \u2014 the decision is harder (less info\
70
- \ / tighter clock / committed choice)."
71
  win_condition:
72
  all_of:
73
  - has_building: tent
 
2
  id: cat-c3-05
3
  title: 'Tech Critical Path #6'
4
  capability: reasoning
5
+ real_world_meaning: Precondition-ordered construction (B needs A) to hit a capability deadline — topological
6
+ planning under a cost+time budget.
7
  robotics_analogue: Task-graph scheduling with prerequisites under a makespan.
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
48
  stance: 2
49
  levels:
50
  easy:
51
+ description: 'Tech Critical Path: easy — the decision is harder (less info / tighter clock / committed
52
+ choice).'
53
  win_condition:
54
  all_of:
55
  - has_building: tent
 
58
  - within_ticks: 20500
59
  max_turns: 45
60
  medium:
61
+ description: 'Tech Critical Path: medium — the decision is harder (less info / tighter clock / committed
62
+ choice).'
63
  win_condition:
64
  all_of:
65
  - has_building: tent
 
68
  - within_ticks: 15500
69
  max_turns: 53
70
  hard:
71
+ description: 'Tech Critical Path: hard — the decision is harder (less info / tighter clock / committed
72
+ choice).'
73
  win_condition:
74
  all_of:
75
  - has_building: tent
openra_bench/scenarios/packs/cat-c4-02.yaml CHANGED
@@ -2,10 +2,12 @@ meta:
2
  id: cat-c4-02
3
  title: 'Power-Budget Online #3'
4
  capability: reasoning
5
- real_world_meaning: "Sequencing subsystem bring-up so a shared online resource never\
6
- \ goes negative \u2014 constraint-respecting schedule."
7
  robotics_analogue: Keeping an online resource (power) non-negative while expanding.
8
  author: catalog-generator
 
 
9
  base_map: rush-hour-arena
10
  base:
11
  agent:
@@ -46,8 +48,8 @@ base:
46
  stance: 2
47
  levels:
48
  easy:
49
- description: "Power-Budget Online: easy \u2014 the decision is harder (less info\
50
- \ / tighter clock / committed choice)."
51
  win_condition:
52
  all_of:
53
  - power_surplus_gte: 0
@@ -55,8 +57,8 @@ levels:
55
  - within_ticks: 19500
56
  max_turns: 45
57
  medium:
58
- description: "Power-Budget Online: medium \u2014 the decision is harder (less\
59
- \ info / tighter clock / committed choice)."
60
  win_condition:
61
  all_of:
62
  - power_surplus_gte: 0
@@ -64,8 +66,8 @@ levels:
64
  - within_ticks: 15000
65
  max_turns: 53
66
  hard:
67
- description: "Power-Budget Online: hard \u2014 the decision is harder (less info\
68
- \ / tighter clock / committed choice)."
69
  win_condition:
70
  all_of:
71
  - power_surplus_gte: 0
 
2
  id: cat-c4-02
3
  title: 'Power-Budget Online #3'
4
  capability: reasoning
5
+ real_world_meaning: Sequencing subsystem bring-up so a shared online resource never goes negative —
6
+ constraint-respecting schedule.
7
  robotics_analogue: Keeping an online resource (power) non-negative while expanding.
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
48
  stance: 2
49
  levels:
50
  easy:
51
+ description: 'Power-Budget Online: easy — the decision is harder (less info / tighter clock / committed
52
+ choice).'
53
  win_condition:
54
  all_of:
55
  - power_surplus_gte: 0
 
57
  - within_ticks: 19500
58
  max_turns: 45
59
  medium:
60
+ description: 'Power-Budget Online: medium — the decision is harder (less info / tighter clock / committed
61
+ choice).'
62
  win_condition:
63
  all_of:
64
  - power_surplus_gte: 0
 
66
  - within_ticks: 15000
67
  max_turns: 53
68
  hard:
69
+ description: 'Power-Budget Online: hard — the decision is harder (less info / tighter clock / committed
70
+ choice).'
71
  win_condition:
72
  all_of:
73
  - power_surplus_gte: 0
openra_bench/scenarios/packs/cat-c4-03.yaml CHANGED
@@ -2,10 +2,12 @@ meta:
2
  id: cat-c4-03
3
  title: 'Power-Budget Online #4'
4
  capability: reasoning
5
- real_world_meaning: "Sequencing subsystem bring-up so a shared online resource never\
6
- \ goes negative \u2014 constraint-respecting schedule."
7
  robotics_analogue: Keeping an online resource (power) non-negative while expanding.
8
  author: catalog-generator
 
 
9
  base_map: rush-hour-arena
10
  base:
11
  agent:
@@ -46,8 +48,8 @@ base:
46
  stance: 2
47
  levels:
48
  easy:
49
- description: "Power-Budget Online: easy \u2014 the decision is harder (less info\
50
- \ / tighter clock / committed choice)."
51
  win_condition:
52
  all_of:
53
  - power_surplus_gte: 0
@@ -55,8 +57,8 @@ levels:
55
  - within_ticks: 19250
56
  max_turns: 45
57
  medium:
58
- description: "Power-Budget Online: medium \u2014 the decision is harder (less\
59
- \ info / tighter clock / committed choice)."
60
  win_condition:
61
  all_of:
62
  - power_surplus_gte: 0
@@ -64,8 +66,8 @@ levels:
64
  - within_ticks: 14750
65
  max_turns: 53
66
  hard:
67
- description: "Power-Budget Online: hard \u2014 the decision is harder (less info\
68
- \ / tighter clock / committed choice)."
69
  win_condition:
70
  all_of:
71
  - power_surplus_gte: 0
 
2
  id: cat-c4-03
3
  title: 'Power-Budget Online #4'
4
  capability: reasoning
5
+ real_world_meaning: Sequencing subsystem bring-up so a shared online resource never goes negative —
6
+ constraint-respecting schedule.
7
  robotics_analogue: Keeping an online resource (power) non-negative while expanding.
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
48
  stance: 2
49
  levels:
50
  easy:
51
+ description: 'Power-Budget Online: easy — the decision is harder (less info / tighter clock / committed
52
+ choice).'
53
  win_condition:
54
  all_of:
55
  - power_surplus_gte: 0
 
57
  - within_ticks: 19250
58
  max_turns: 45
59
  medium:
60
+ description: 'Power-Budget Online: medium — the decision is harder (less info / tighter clock / committed
61
+ choice).'
62
  win_condition:
63
  all_of:
64
  - power_surplus_gte: 0
 
66
  - within_ticks: 14750
67
  max_turns: 53
68
  hard:
69
+ description: 'Power-Budget Online: hard — the decision is harder (less info / tighter clock / committed
70
+ choice).'
71
  win_condition:
72
  all_of:
73
  - power_surplus_gte: 0
openra_bench/scenarios/packs/cat-c4-04.yaml CHANGED
@@ -2,10 +2,12 @@ meta:
2
  id: cat-c4-04
3
  title: 'Power-Budget Online #5'
4
  capability: reasoning
5
- real_world_meaning: "Sequencing subsystem bring-up so a shared online resource never\
6
- \ goes negative \u2014 constraint-respecting schedule."
7
  robotics_analogue: Keeping an online resource (power) non-negative while expanding.
8
  author: catalog-generator
 
 
9
  base_map: rush-hour-arena
10
  base:
11
  agent:
@@ -46,8 +48,8 @@ base:
46
  stance: 2
47
  levels:
48
  easy:
49
- description: "Power-Budget Online: easy \u2014 the decision is harder (less info\
50
- \ / tighter clock / committed choice)."
51
  win_condition:
52
  all_of:
53
  - power_surplus_gte: 0
@@ -55,8 +57,8 @@ levels:
55
  - within_ticks: 19000
56
  max_turns: 45
57
  medium:
58
- description: "Power-Budget Online: medium \u2014 the decision is harder (less\
59
- \ info / tighter clock / committed choice)."
60
  win_condition:
61
  all_of:
62
  - power_surplus_gte: 0
@@ -64,8 +66,8 @@ levels:
64
  - within_ticks: 14500
65
  max_turns: 53
66
  hard:
67
- description: "Power-Budget Online: hard \u2014 the decision is harder (less info\
68
- \ / tighter clock / committed choice)."
69
  win_condition:
70
  all_of:
71
  - power_surplus_gte: 0
 
2
  id: cat-c4-04
3
  title: 'Power-Budget Online #5'
4
  capability: reasoning
5
+ real_world_meaning: Sequencing subsystem bring-up so a shared online resource never goes negative —
6
+ constraint-respecting schedule.
7
  robotics_analogue: Keeping an online resource (power) non-negative while expanding.
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
48
  stance: 2
49
  levels:
50
  easy:
51
+ description: 'Power-Budget Online: easy — the decision is harder (less info / tighter clock / committed
52
+ choice).'
53
  win_condition:
54
  all_of:
55
  - power_surplus_gte: 0
 
57
  - within_ticks: 19000
58
  max_turns: 45
59
  medium:
60
+ description: 'Power-Budget Online: medium — the decision is harder (less info / tighter clock / committed
61
+ choice).'
62
  win_condition:
63
  all_of:
64
  - power_surplus_gte: 0
 
66
  - within_ticks: 14500
67
  max_turns: 53
68
  hard:
69
+ description: 'Power-Budget Online: hard — the decision is harder (less info / tighter clock / committed
70
+ choice).'
71
  win_condition:
72
  all_of:
73
  - power_surplus_gte: 0
openra_bench/scenarios/packs/cat-c5-02.yaml CHANGED
@@ -2,11 +2,12 @@ meta:
2
  id: cat-c5-02
3
  title: 'Budget Allocation (spend) #3'
4
  capability: reasoning
5
- real_world_meaning: "Allocating a finite budget across competing investments where\
6
- \ a half-measure on both fails \u2014 resource-allocation under a hard cap."
7
- robotics_analogue: 'Indivisible-budget allocation: wide vs deep, splitting clears
8
- nothing.'
9
  author: catalog-generator
 
 
10
  base_map: rush-hour-arena
11
  base:
12
  agent:
@@ -52,8 +53,8 @@ base:
52
  stance: 2
53
  levels:
54
  easy:
55
- description: "Budget Allocation (spend): easy \u2014 the decision is harder (less\
56
- \ info / tighter clock / committed choice)."
57
  win_condition:
58
  all_of:
59
  - building_count_gte:
@@ -63,8 +64,8 @@ levels:
63
  - within_ticks: 20000
64
  max_turns: 45
65
  medium:
66
- description: "Budget Allocation (spend): medium \u2014 the decision is harder\
67
- \ (less info / tighter clock / committed choice)."
68
  win_condition:
69
  all_of:
70
  - building_count_gte:
@@ -74,8 +75,8 @@ levels:
74
  - within_ticks: 15500
75
  max_turns: 53
76
  hard:
77
- description: "Budget Allocation (spend): hard \u2014 the decision is harder (less\
78
- \ info / tighter clock / committed choice)."
79
  win_condition:
80
  all_of:
81
  - building_count_gte:
 
2
  id: cat-c5-02
3
  title: 'Budget Allocation (spend) #3'
4
  capability: reasoning
5
+ real_world_meaning: Allocating a finite budget across competing investments where a half-measure on
6
+ both fails — resource-allocation under a hard cap.
7
+ robotics_analogue: 'Indivisible-budget allocation: wide vs deep, splitting clears nothing.'
 
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
53
  stance: 2
54
  levels:
55
  easy:
56
+ description: 'Budget Allocation (spend): easy — the decision is harder (less info / tighter clock
57
+ / committed choice).'
58
  win_condition:
59
  all_of:
60
  - building_count_gte:
 
64
  - within_ticks: 20000
65
  max_turns: 45
66
  medium:
67
+ description: 'Budget Allocation (spend): medium — the decision is harder (less info / tighter clock
68
+ / committed choice).'
69
  win_condition:
70
  all_of:
71
  - building_count_gte:
 
75
  - within_ticks: 15500
76
  max_turns: 53
77
  hard:
78
+ description: 'Budget Allocation (spend): hard — the decision is harder (less info / tighter clock
79
+ / committed choice).'
80
  win_condition:
81
  all_of:
82
  - building_count_gte:
openra_bench/scenarios/packs/cat-c5-03.yaml CHANGED
@@ -2,11 +2,12 @@ meta:
2
  id: cat-c5-03
3
  title: 'Budget Allocation (spend) #4'
4
  capability: reasoning
5
- real_world_meaning: "Allocating a finite budget across competing investments where\
6
- \ a half-measure on both fails \u2014 resource-allocation under a hard cap."
7
- robotics_analogue: 'Indivisible-budget allocation: wide vs deep, splitting clears
8
- nothing.'
9
  author: catalog-generator
 
 
10
  base_map: rush-hour-arena
11
  base:
12
  agent:
@@ -52,8 +53,8 @@ base:
52
  stance: 2
53
  levels:
54
  easy:
55
- description: "Budget Allocation (spend): easy \u2014 the decision is harder (less\
56
- \ info / tighter clock / committed choice)."
57
  win_condition:
58
  all_of:
59
  - building_count_gte:
@@ -63,8 +64,8 @@ levels:
63
  - within_ticks: 20000
64
  max_turns: 45
65
  medium:
66
- description: "Budget Allocation (spend): medium \u2014 the decision is harder\
67
- \ (less info / tighter clock / committed choice)."
68
  win_condition:
69
  all_of:
70
  - building_count_gte:
@@ -74,8 +75,8 @@ levels:
74
  - within_ticks: 15500
75
  max_turns: 53
76
  hard:
77
- description: "Budget Allocation (spend): hard \u2014 the decision is harder (less\
78
- \ info / tighter clock / committed choice)."
79
  win_condition:
80
  all_of:
81
  - building_count_gte:
 
2
  id: cat-c5-03
3
  title: 'Budget Allocation (spend) #4'
4
  capability: reasoning
5
+ real_world_meaning: Allocating a finite budget across competing investments where a half-measure on
6
+ both fails — resource-allocation under a hard cap.
7
+ robotics_analogue: 'Indivisible-budget allocation: wide vs deep, splitting clears nothing.'
 
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
53
  stance: 2
54
  levels:
55
  easy:
56
+ description: 'Budget Allocation (spend): easy — the decision is harder (less info / tighter clock
57
+ / committed choice).'
58
  win_condition:
59
  all_of:
60
  - building_count_gte:
 
64
  - within_ticks: 20000
65
  max_turns: 45
66
  medium:
67
+ description: 'Budget Allocation (spend): medium — the decision is harder (less info / tighter clock
68
+ / committed choice).'
69
  win_condition:
70
  all_of:
71
  - building_count_gte:
 
75
  - within_ticks: 15500
76
  max_turns: 53
77
  hard:
78
+ description: 'Budget Allocation (spend): hard — the decision is harder (less info / tighter clock
79
+ / committed choice).'
80
  win_condition:
81
  all_of:
82
  - building_count_gte:
openra_bench/scenarios/packs/cat-c5-04.yaml CHANGED
@@ -2,11 +2,12 @@ meta:
2
  id: cat-c5-04
3
  title: 'Budget Allocation (spend) #5'
4
  capability: reasoning
5
- real_world_meaning: "Allocating a finite budget across competing investments where\
6
- \ a half-measure on both fails \u2014 resource-allocation under a hard cap."
7
- robotics_analogue: 'Indivisible-budget allocation: wide vs deep, splitting clears
8
- nothing.'
9
  author: catalog-generator
 
 
10
  base_map: rush-hour-arena
11
  base:
12
  agent:
@@ -52,8 +53,8 @@ base:
52
  stance: 2
53
  levels:
54
  easy:
55
- description: "Budget Allocation (spend): easy \u2014 the decision is harder (less\
56
- \ info / tighter clock / committed choice)."
57
  win_condition:
58
  all_of:
59
  - building_count_gte:
@@ -63,8 +64,8 @@ levels:
63
  - within_ticks: 20000
64
  max_turns: 45
65
  medium:
66
- description: "Budget Allocation (spend): medium \u2014 the decision is harder\
67
- \ (less info / tighter clock / committed choice)."
68
  win_condition:
69
  all_of:
70
  - building_count_gte:
@@ -74,8 +75,8 @@ levels:
74
  - within_ticks: 15500
75
  max_turns: 53
76
  hard:
77
- description: "Budget Allocation (spend): hard \u2014 the decision is harder (less\
78
- \ info / tighter clock / committed choice)."
79
  win_condition:
80
  all_of:
81
  - building_count_gte:
 
2
  id: cat-c5-04
3
  title: 'Budget Allocation (spend) #5'
4
  capability: reasoning
5
+ real_world_meaning: Allocating a finite budget across competing investments where a half-measure on
6
+ both fails — resource-allocation under a hard cap.
7
+ robotics_analogue: 'Indivisible-budget allocation: wide vs deep, splitting clears nothing.'
 
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
53
  stance: 2
54
  levels:
55
  easy:
56
+ description: 'Budget Allocation (spend): easy — the decision is harder (less info / tighter clock
57
+ / committed choice).'
58
  win_condition:
59
  all_of:
60
  - building_count_gte:
 
64
  - within_ticks: 20000
65
  max_turns: 45
66
  medium:
67
+ description: 'Budget Allocation (spend): medium — the decision is harder (less info / tighter clock
68
+ / committed choice).'
69
  win_condition:
70
  all_of:
71
  - building_count_gte:
 
75
  - within_ticks: 15500
76
  max_turns: 53
77
  hard:
78
+ description: 'Budget Allocation (spend): hard — the decision is harder (less info / tighter clock
79
+ / committed choice).'
80
  win_condition:
81
  all_of:
82
  - building_count_gte:
openra_bench/scenarios/packs/cat-c5-05.yaml CHANGED
@@ -2,11 +2,12 @@ meta:
2
  id: cat-c5-05
3
  title: 'Budget Allocation (spend) #6'
4
  capability: reasoning
5
- real_world_meaning: "Allocating a finite budget across competing investments where\
6
- \ a half-measure on both fails \u2014 resource-allocation under a hard cap."
7
- robotics_analogue: 'Indivisible-budget allocation: wide vs deep, splitting clears
8
- nothing.'
9
  author: catalog-generator
 
 
10
  base_map: rush-hour-arena
11
  base:
12
  agent:
@@ -52,8 +53,8 @@ base:
52
  stance: 2
53
  levels:
54
  easy:
55
- description: "Budget Allocation (spend): easy \u2014 the decision is harder (less\
56
- \ info / tighter clock / committed choice)."
57
  win_condition:
58
  all_of:
59
  - building_count_gte:
@@ -63,8 +64,8 @@ levels:
63
  - within_ticks: 20000
64
  max_turns: 45
65
  medium:
66
- description: "Budget Allocation (spend): medium \u2014 the decision is harder\
67
- \ (less info / tighter clock / committed choice)."
68
  win_condition:
69
  all_of:
70
  - building_count_gte:
@@ -74,8 +75,8 @@ levels:
74
  - within_ticks: 15500
75
  max_turns: 53
76
  hard:
77
- description: "Budget Allocation (spend): hard \u2014 the decision is harder (less\
78
- \ info / tighter clock / committed choice)."
79
  win_condition:
80
  all_of:
81
  - building_count_gte:
 
2
  id: cat-c5-05
3
  title: 'Budget Allocation (spend) #6'
4
  capability: reasoning
5
+ real_world_meaning: Allocating a finite budget across competing investments where a half-measure on
6
+ both fails — resource-allocation under a hard cap.
7
+ robotics_analogue: 'Indivisible-budget allocation: wide vs deep, splitting clears nothing.'
 
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
53
  stance: 2
54
  levels:
55
  easy:
56
+ description: 'Budget Allocation (spend): easy — the decision is harder (less info / tighter clock
57
+ / committed choice).'
58
  win_condition:
59
  all_of:
60
  - building_count_gte:
 
64
  - within_ticks: 20000
65
  max_turns: 45
66
  medium:
67
+ description: 'Budget Allocation (spend): medium — the decision is harder (less info / tighter clock
68
+ / committed choice).'
69
  win_condition:
70
  all_of:
71
  - building_count_gte:
 
75
  - within_ticks: 15500
76
  max_turns: 53
77
  hard:
78
+ description: 'Budget Allocation (spend): hard — the decision is harder (less info / tighter clock
79
+ / committed choice).'
80
  win_condition:
81
  all_of:
82
  - building_count_gte:
openra_bench/scenarios/packs/cat-c6-02.yaml CHANGED
@@ -2,11 +2,12 @@ meta:
2
  id: cat-c6-02
3
  title: 'Time-Boxed Capital Deploy #3'
4
  capability: reasoning
5
- real_world_meaning: "Provisioning under an energy/money budget and a mission deadline\
6
- \ \u2014 how much to commit and when."
7
- robotics_analogue: Convert a budget into fielded force AND standing infra before
8
- a clock.
9
  author: catalog-generator
 
 
10
  base_map: rush-hour-arena
11
  base:
12
  agent:
@@ -52,8 +53,8 @@ base:
52
  stance: 2
53
  levels:
54
  easy:
55
- description: "Time-Boxed Capital Deploy: easy \u2014 the decision is harder (less\
56
- \ info / tighter clock / committed choice)."
57
  win_condition:
58
  all_of:
59
  - own_units_gte: 4
@@ -61,8 +62,8 @@ levels:
61
  - within_ticks: 16000
62
  max_turns: 45
63
  medium:
64
- description: "Time-Boxed Capital Deploy: medium \u2014 the decision is harder\
65
- \ (less info / tighter clock / committed choice)."
66
  win_condition:
67
  all_of:
68
  - own_units_gte: 5
@@ -70,8 +71,8 @@ levels:
70
  - within_ticks: 12500
71
  max_turns: 53
72
  hard:
73
- description: "Time-Boxed Capital Deploy: hard \u2014 the decision is harder (less\
74
- \ info / tighter clock / committed choice)."
75
  win_condition:
76
  all_of:
77
  - own_units_gte: 6
 
2
  id: cat-c6-02
3
  title: 'Time-Boxed Capital Deploy #3'
4
  capability: reasoning
5
+ real_world_meaning: Provisioning under an energy/money budget and a mission deadline — how much to commit
6
+ and when.
7
+ robotics_analogue: Convert a budget into fielded force AND standing infra before a clock.
 
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
53
  stance: 2
54
  levels:
55
  easy:
56
+ description: 'Time-Boxed Capital Deploy: easy — the decision is harder (less info / tighter clock
57
+ / committed choice).'
58
  win_condition:
59
  all_of:
60
  - own_units_gte: 4
 
62
  - within_ticks: 16000
63
  max_turns: 45
64
  medium:
65
+ description: 'Time-Boxed Capital Deploy: medium — the decision is harder (less info / tighter clock
66
+ / committed choice).'
67
  win_condition:
68
  all_of:
69
  - own_units_gte: 5
 
71
  - within_ticks: 12500
72
  max_turns: 53
73
  hard:
74
+ description: 'Time-Boxed Capital Deploy: hard — the decision is harder (less info / tighter clock
75
+ / committed choice).'
76
  win_condition:
77
  all_of:
78
  - own_units_gte: 6
openra_bench/scenarios/packs/cat-c6-03.yaml CHANGED
@@ -2,11 +2,12 @@ meta:
2
  id: cat-c6-03
3
  title: 'Time-Boxed Capital Deploy #4'
4
  capability: reasoning
5
- real_world_meaning: "Provisioning under an energy/money budget and a mission deadline\
6
- \ \u2014 how much to commit and when."
7
- robotics_analogue: Convert a budget into fielded force AND standing infra before
8
- a clock.
9
  author: catalog-generator
 
 
10
  base_map: rush-hour-arena
11
  base:
12
  agent:
@@ -52,8 +53,8 @@ base:
52
  stance: 2
53
  levels:
54
  easy:
55
- description: "Time-Boxed Capital Deploy: easy \u2014 the decision is harder (less\
56
- \ info / tighter clock / committed choice)."
57
  win_condition:
58
  all_of:
59
  - own_units_gte: 4
@@ -61,8 +62,8 @@ levels:
61
  - within_ticks: 16000
62
  max_turns: 45
63
  medium:
64
- description: "Time-Boxed Capital Deploy: medium \u2014 the decision is harder\
65
- \ (less info / tighter clock / committed choice)."
66
  win_condition:
67
  all_of:
68
  - own_units_gte: 5
@@ -70,8 +71,8 @@ levels:
70
  - within_ticks: 12500
71
  max_turns: 53
72
  hard:
73
- description: "Time-Boxed Capital Deploy: hard \u2014 the decision is harder (less\
74
- \ info / tighter clock / committed choice)."
75
  win_condition:
76
  all_of:
77
  - own_units_gte: 6
 
2
  id: cat-c6-03
3
  title: 'Time-Boxed Capital Deploy #4'
4
  capability: reasoning
5
+ real_world_meaning: Provisioning under an energy/money budget and a mission deadline — how much to commit
6
+ and when.
7
+ robotics_analogue: Convert a budget into fielded force AND standing infra before a clock.
 
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
53
  stance: 2
54
  levels:
55
  easy:
56
+ description: 'Time-Boxed Capital Deploy: easy — the decision is harder (less info / tighter clock
57
+ / committed choice).'
58
  win_condition:
59
  all_of:
60
  - own_units_gte: 4
 
62
  - within_ticks: 16000
63
  max_turns: 45
64
  medium:
65
+ description: 'Time-Boxed Capital Deploy: medium — the decision is harder (less info / tighter clock
66
+ / committed choice).'
67
  win_condition:
68
  all_of:
69
  - own_units_gte: 5
 
71
  - within_ticks: 12500
72
  max_turns: 53
73
  hard:
74
+ description: 'Time-Boxed Capital Deploy: hard — the decision is harder (less info / tighter clock
75
+ / committed choice).'
76
  win_condition:
77
  all_of:
78
  - own_units_gte: 6
openra_bench/scenarios/packs/cat-c6-04.yaml CHANGED
@@ -2,11 +2,12 @@ meta:
2
  id: cat-c6-04
3
  title: 'Time-Boxed Capital Deploy #5'
4
  capability: reasoning
5
- real_world_meaning: "Provisioning under an energy/money budget and a mission deadline\
6
- \ \u2014 how much to commit and when."
7
- robotics_analogue: Convert a budget into fielded force AND standing infra before
8
- a clock.
9
  author: catalog-generator
 
 
10
  base_map: rush-hour-arena
11
  base:
12
  agent:
@@ -52,8 +53,8 @@ base:
52
  stance: 2
53
  levels:
54
  easy:
55
- description: "Time-Boxed Capital Deploy: easy \u2014 the decision is harder (less\
56
- \ info / tighter clock / committed choice)."
57
  win_condition:
58
  all_of:
59
  - own_units_gte: 4
@@ -61,8 +62,8 @@ levels:
61
  - within_ticks: 16000
62
  max_turns: 45
63
  medium:
64
- description: "Time-Boxed Capital Deploy: medium \u2014 the decision is harder\
65
- \ (less info / tighter clock / committed choice)."
66
  win_condition:
67
  all_of:
68
  - own_units_gte: 5
@@ -70,8 +71,8 @@ levels:
70
  - within_ticks: 12500
71
  max_turns: 53
72
  hard:
73
- description: "Time-Boxed Capital Deploy: hard \u2014 the decision is harder (less\
74
- \ info / tighter clock / committed choice)."
75
  win_condition:
76
  all_of:
77
  - own_units_gte: 6
 
2
  id: cat-c6-04
3
  title: 'Time-Boxed Capital Deploy #5'
4
  capability: reasoning
5
+ real_world_meaning: Provisioning under an energy/money budget and a mission deadline — how much to commit
6
+ and when.
7
+ robotics_analogue: Convert a budget into fielded force AND standing infra before a clock.
 
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
53
  stance: 2
54
  levels:
55
  easy:
56
+ description: 'Time-Boxed Capital Deploy: easy — the decision is harder (less info / tighter clock
57
+ / committed choice).'
58
  win_condition:
59
  all_of:
60
  - own_units_gte: 4
 
62
  - within_ticks: 16000
63
  max_turns: 45
64
  medium:
65
+ description: 'Time-Boxed Capital Deploy: medium — the decision is harder (less info / tighter clock
66
+ / committed choice).'
67
  win_condition:
68
  all_of:
69
  - own_units_gte: 5
 
71
  - within_ticks: 12500
72
  max_turns: 53
73
  hard:
74
+ description: 'Time-Boxed Capital Deploy: hard — the decision is harder (less info / tighter clock
75
+ / committed choice).'
76
  win_condition:
77
  all_of:
78
  - own_units_gte: 6
openra_bench/scenarios/packs/cat-c6-05.yaml CHANGED
@@ -2,11 +2,12 @@ meta:
2
  id: cat-c6-05
3
  title: 'Time-Boxed Capital Deploy #6'
4
  capability: reasoning
5
- real_world_meaning: "Provisioning under an energy/money budget and a mission deadline\
6
- \ \u2014 how much to commit and when."
7
- robotics_analogue: Convert a budget into fielded force AND standing infra before
8
- a clock.
9
  author: catalog-generator
 
 
10
  base_map: rush-hour-arena
11
  base:
12
  agent:
@@ -52,8 +53,8 @@ base:
52
  stance: 2
53
  levels:
54
  easy:
55
- description: "Time-Boxed Capital Deploy: easy \u2014 the decision is harder (less\
56
- \ info / tighter clock / committed choice)."
57
  win_condition:
58
  all_of:
59
  - own_units_gte: 4
@@ -61,8 +62,8 @@ levels:
61
  - within_ticks: 16000
62
  max_turns: 45
63
  medium:
64
- description: "Time-Boxed Capital Deploy: medium \u2014 the decision is harder\
65
- \ (less info / tighter clock / committed choice)."
66
  win_condition:
67
  all_of:
68
  - own_units_gte: 5
@@ -70,8 +71,8 @@ levels:
70
  - within_ticks: 12500
71
  max_turns: 53
72
  hard:
73
- description: "Time-Boxed Capital Deploy: hard \u2014 the decision is harder (less\
74
- \ info / tighter clock / committed choice)."
75
  win_condition:
76
  all_of:
77
  - own_units_gte: 6
 
2
  id: cat-c6-05
3
  title: 'Time-Boxed Capital Deploy #6'
4
  capability: reasoning
5
+ real_world_meaning: Provisioning under an energy/money budget and a mission deadline — how much to commit
6
+ and when.
7
+ robotics_analogue: Convert a budget into fielded force AND standing infra before a clock.
 
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
53
  stance: 2
54
  levels:
55
  easy:
56
+ description: 'Time-Boxed Capital Deploy: easy — the decision is harder (less info / tighter clock
57
+ / committed choice).'
58
  win_condition:
59
  all_of:
60
  - own_units_gte: 4
 
62
  - within_ticks: 16000
63
  max_turns: 45
64
  medium:
65
+ description: 'Time-Boxed Capital Deploy: medium — the decision is harder (less info / tighter clock
66
+ / committed choice).'
67
  win_condition:
68
  all_of:
69
  - own_units_gte: 5
 
71
  - within_ticks: 12500
72
  max_turns: 53
73
  hard:
74
+ description: 'Time-Boxed Capital Deploy: hard — the decision is harder (less info / tighter clock
75
+ / committed choice).'
76
  win_condition:
77
  all_of:
78
  - own_units_gte: 6
openra_bench/scenarios/packs/cat-c7-02.yaml CHANGED
@@ -2,11 +2,12 @@ meta:
2
  id: cat-c7-02
3
  title: 'Defensive-Direction Commit #3'
4
  capability: perception
5
- real_world_meaning: "Committing scarce defensive assets to an inferred threat axis\
6
- \ \u2014 spatial decision under directional ambiguity."
7
- robotics_analogue: Place limited defenses toward the most likely approach under
8
- directional uncertainty.
9
  author: catalog-generator
 
 
10
  base_map: rush-hour-arena
11
  base:
12
  agent:
@@ -52,8 +53,8 @@ base:
52
  stance: 2
53
  levels:
54
  easy:
55
- description: "Defensive-Direction Commit: easy \u2014 the decision is harder (less\
56
- \ info / tighter clock / committed choice)."
57
  win_condition:
58
  all_of:
59
  - building_in_region:
@@ -65,8 +66,8 @@ levels:
65
  - within_ticks: 24000
66
  max_turns: 45
67
  medium:
68
- description: "Defensive-Direction Commit: medium \u2014 the decision is harder\
69
- \ (less info / tighter clock / committed choice)."
70
  win_condition:
71
  all_of:
72
  - building_in_region:
@@ -78,8 +79,8 @@ levels:
78
  - within_ticks: 19000
79
  max_turns: 53
80
  hard:
81
- description: "Defensive-Direction Commit: hard \u2014 the decision is harder (less\
82
- \ info / tighter clock / committed choice)."
83
  win_condition:
84
  all_of:
85
  - building_in_region:
 
2
  id: cat-c7-02
3
  title: 'Defensive-Direction Commit #3'
4
  capability: perception
5
+ real_world_meaning: Committing scarce defensive assets to an inferred threat axis — spatial decision
6
+ under directional ambiguity.
7
+ robotics_analogue: Place limited defenses toward the most likely approach under directional uncertainty.
 
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
53
  stance: 2
54
  levels:
55
  easy:
56
+ description: 'Defensive-Direction Commit: easy — the decision is harder (less info / tighter clock
57
+ / committed choice).'
58
  win_condition:
59
  all_of:
60
  - building_in_region:
 
66
  - within_ticks: 24000
67
  max_turns: 45
68
  medium:
69
+ description: 'Defensive-Direction Commit: medium — the decision is harder (less info / tighter clock
70
+ / committed choice).'
71
  win_condition:
72
  all_of:
73
  - building_in_region:
 
79
  - within_ticks: 19000
80
  max_turns: 53
81
  hard:
82
+ description: 'Defensive-Direction Commit: hard — the decision is harder (less info / tighter clock
83
+ / committed choice).'
84
  win_condition:
85
  all_of:
86
  - building_in_region:
openra_bench/scenarios/packs/cat-c7-03.yaml CHANGED
@@ -2,11 +2,12 @@ meta:
2
  id: cat-c7-03
3
  title: 'Defensive-Direction Commit #4'
4
  capability: perception
5
- real_world_meaning: "Committing scarce defensive assets to an inferred threat axis\
6
- \ \u2014 spatial decision under directional ambiguity."
7
- robotics_analogue: Place limited defenses toward the most likely approach under
8
- directional uncertainty.
9
  author: catalog-generator
 
 
10
  base_map: rush-hour-arena
11
  base:
12
  agent:
@@ -52,8 +53,8 @@ base:
52
  stance: 2
53
  levels:
54
  easy:
55
- description: "Defensive-Direction Commit: easy \u2014 the decision is harder (less\
56
- \ info / tighter clock / committed choice)."
57
  win_condition:
58
  all_of:
59
  - building_in_region:
@@ -65,8 +66,8 @@ levels:
65
  - within_ticks: 24000
66
  max_turns: 45
67
  medium:
68
- description: "Defensive-Direction Commit: medium \u2014 the decision is harder\
69
- \ (less info / tighter clock / committed choice)."
70
  win_condition:
71
  all_of:
72
  - building_in_region:
@@ -78,8 +79,8 @@ levels:
78
  - within_ticks: 19000
79
  max_turns: 53
80
  hard:
81
- description: "Defensive-Direction Commit: hard \u2014 the decision is harder (less\
82
- \ info / tighter clock / committed choice)."
83
  win_condition:
84
  all_of:
85
  - building_in_region:
 
2
  id: cat-c7-03
3
  title: 'Defensive-Direction Commit #4'
4
  capability: perception
5
+ real_world_meaning: Committing scarce defensive assets to an inferred threat axis — spatial decision
6
+ under directional ambiguity.
7
+ robotics_analogue: Place limited defenses toward the most likely approach under directional uncertainty.
 
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
53
  stance: 2
54
  levels:
55
  easy:
56
+ description: 'Defensive-Direction Commit: easy — the decision is harder (less info / tighter clock
57
+ / committed choice).'
58
  win_condition:
59
  all_of:
60
  - building_in_region:
 
66
  - within_ticks: 24000
67
  max_turns: 45
68
  medium:
69
+ description: 'Defensive-Direction Commit: medium — the decision is harder (less info / tighter clock
70
+ / committed choice).'
71
  win_condition:
72
  all_of:
73
  - building_in_region:
 
79
  - within_ticks: 19000
80
  max_turns: 53
81
  hard:
82
+ description: 'Defensive-Direction Commit: hard — the decision is harder (less info / tighter clock
83
+ / committed choice).'
84
  win_condition:
85
  all_of:
86
  - building_in_region:
openra_bench/scenarios/packs/cat-c7-04.yaml CHANGED
@@ -2,11 +2,12 @@ meta:
2
  id: cat-c7-04
3
  title: 'Defensive-Direction Commit #5'
4
  capability: perception
5
- real_world_meaning: "Committing scarce defensive assets to an inferred threat axis\
6
- \ \u2014 spatial decision under directional ambiguity."
7
- robotics_analogue: Place limited defenses toward the most likely approach under
8
- directional uncertainty.
9
  author: catalog-generator
 
 
10
  base_map: rush-hour-arena
11
  base:
12
  agent:
@@ -52,8 +53,8 @@ base:
52
  stance: 2
53
  levels:
54
  easy:
55
- description: "Defensive-Direction Commit: easy \u2014 the decision is harder (less\
56
- \ info / tighter clock / committed choice)."
57
  win_condition:
58
  all_of:
59
  - building_in_region:
@@ -65,8 +66,8 @@ levels:
65
  - within_ticks: 24000
66
  max_turns: 45
67
  medium:
68
- description: "Defensive-Direction Commit: medium \u2014 the decision is harder\
69
- \ (less info / tighter clock / committed choice)."
70
  win_condition:
71
  all_of:
72
  - building_in_region:
@@ -78,8 +79,8 @@ levels:
78
  - within_ticks: 19000
79
  max_turns: 53
80
  hard:
81
- description: "Defensive-Direction Commit: hard \u2014 the decision is harder (less\
82
- \ info / tighter clock / committed choice)."
83
  win_condition:
84
  all_of:
85
  - building_in_region:
 
2
  id: cat-c7-04
3
  title: 'Defensive-Direction Commit #5'
4
  capability: perception
5
+ real_world_meaning: Committing scarce defensive assets to an inferred threat axis — spatial decision
6
+ under directional ambiguity.
7
+ robotics_analogue: Place limited defenses toward the most likely approach under directional uncertainty.
 
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
53
  stance: 2
54
  levels:
55
  easy:
56
+ description: 'Defensive-Direction Commit: easy — the decision is harder (less info / tighter clock
57
+ / committed choice).'
58
  win_condition:
59
  all_of:
60
  - building_in_region:
 
66
  - within_ticks: 24000
67
  max_turns: 45
68
  medium:
69
+ description: 'Defensive-Direction Commit: medium — the decision is harder (less info / tighter clock
70
+ / committed choice).'
71
  win_condition:
72
  all_of:
73
  - building_in_region:
 
79
  - within_ticks: 19000
80
  max_turns: 53
81
  hard:
82
+ description: 'Defensive-Direction Commit: hard — the decision is harder (less info / tighter clock
83
+ / committed choice).'
84
  win_condition:
85
  all_of:
86
  - building_in_region:
openra_bench/scenarios/packs/cat-c7-05.yaml CHANGED
@@ -2,11 +2,12 @@ meta:
2
  id: cat-c7-05
3
  title: 'Defensive-Direction Commit #6'
4
  capability: perception
5
- real_world_meaning: "Committing scarce defensive assets to an inferred threat axis\
6
- \ \u2014 spatial decision under directional ambiguity."
7
- robotics_analogue: Place limited defenses toward the most likely approach under
8
- directional uncertainty.
9
  author: catalog-generator
 
 
10
  base_map: rush-hour-arena
11
  base:
12
  agent:
@@ -52,8 +53,8 @@ base:
52
  stance: 2
53
  levels:
54
  easy:
55
- description: "Defensive-Direction Commit: easy \u2014 the decision is harder (less\
56
- \ info / tighter clock / committed choice)."
57
  win_condition:
58
  all_of:
59
  - building_in_region:
@@ -65,8 +66,8 @@ levels:
65
  - within_ticks: 24000
66
  max_turns: 45
67
  medium:
68
- description: "Defensive-Direction Commit: medium \u2014 the decision is harder\
69
- \ (less info / tighter clock / committed choice)."
70
  win_condition:
71
  all_of:
72
  - building_in_region:
@@ -78,8 +79,8 @@ levels:
78
  - within_ticks: 19000
79
  max_turns: 53
80
  hard:
81
- description: "Defensive-Direction Commit: hard \u2014 the decision is harder (less\
82
- \ info / tighter clock / committed choice)."
83
  win_condition:
84
  all_of:
85
  - building_in_region:
 
2
  id: cat-c7-05
3
  title: 'Defensive-Direction Commit #6'
4
  capability: perception
5
+ real_world_meaning: Committing scarce defensive assets to an inferred threat axis — spatial decision
6
+ under directional ambiguity.
7
+ robotics_analogue: Place limited defenses toward the most likely approach under directional uncertainty.
 
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
53
  stance: 2
54
  levels:
55
  easy:
56
+ description: 'Defensive-Direction Commit: easy — the decision is harder (less info / tighter clock
57
+ / committed choice).'
58
  win_condition:
59
  all_of:
60
  - building_in_region:
 
66
  - within_ticks: 24000
67
  max_turns: 45
68
  medium:
69
+ description: 'Defensive-Direction Commit: medium — the decision is harder (less info / tighter clock
70
+ / committed choice).'
71
  win_condition:
72
  all_of:
73
  - building_in_region:
 
79
  - within_ticks: 19000
80
  max_turns: 53
81
  hard:
82
+ description: 'Defensive-Direction Commit: hard — the decision is harder (less info / tighter clock
83
+ / committed choice).'
84
  win_condition:
85
  all_of:
86
  - building_in_region:
openra_bench/scenarios/packs/cat-c8-02.yaml CHANGED
@@ -2,11 +2,12 @@ meta:
2
  id: cat-c8-02
3
  title: 'Base-Placement & Staging #3'
4
  capability: perception
5
- real_world_meaning: "Choosing a base site that satisfies spatial constraints, then\
6
- \ pre-positioning \u2014 facility-layout + staging."
7
- robotics_analogue: Found a base in a designated region, then stage toward a threat
8
- axis.
9
  author: catalog-generator
 
 
10
  base_map: rush-hour-arena
11
  base:
12
  agent:
@@ -47,8 +48,8 @@ base:
47
  stance: 2
48
  levels:
49
  easy:
50
- description: "Base-Placement & Staging: easy \u2014 the decision is harder (less\
51
- \ info / tighter clock / committed choice)."
52
  win_condition:
53
  all_of:
54
  - building_in_region:
@@ -61,8 +62,8 @@ levels:
61
  - within_ticks: 22000
62
  max_turns: 45
63
  medium:
64
- description: "Base-Placement & Staging: medium \u2014 the decision is harder (less\
65
- \ info / tighter clock / committed choice)."
66
  win_condition:
67
  all_of:
68
  - building_in_region:
@@ -75,8 +76,8 @@ levels:
75
  - within_ticks: 17000
76
  max_turns: 53
77
  hard:
78
- description: "Base-Placement & Staging: hard \u2014 the decision is harder (less\
79
- \ info / tighter clock / committed choice)."
80
  win_condition:
81
  all_of:
82
  - building_in_region:
 
2
  id: cat-c8-02
3
  title: 'Base-Placement & Staging #3'
4
  capability: perception
5
+ real_world_meaning: Choosing a base site that satisfies spatial constraints, then pre-positioning —
6
+ facility-layout + staging.
7
+ robotics_analogue: Found a base in a designated region, then stage toward a threat axis.
 
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
48
  stance: 2
49
  levels:
50
  easy:
51
+ description: 'Base-Placement & Staging: easy — the decision is harder (less info / tighter clock /
52
+ committed choice).'
53
  win_condition:
54
  all_of:
55
  - building_in_region:
 
62
  - within_ticks: 22000
63
  max_turns: 45
64
  medium:
65
+ description: 'Base-Placement & Staging: medium — the decision is harder (less info / tighter clock
66
+ / committed choice).'
67
  win_condition:
68
  all_of:
69
  - building_in_region:
 
76
  - within_ticks: 17000
77
  max_turns: 53
78
  hard:
79
+ description: 'Base-Placement & Staging: hard — the decision is harder (less info / tighter clock /
80
+ committed choice).'
81
  win_condition:
82
  all_of:
83
  - building_in_region:
openra_bench/scenarios/packs/cat-c8-03.yaml CHANGED
@@ -2,11 +2,12 @@ meta:
2
  id: cat-c8-03
3
  title: 'Base-Placement & Staging #4'
4
  capability: perception
5
- real_world_meaning: "Choosing a base site that satisfies spatial constraints, then\
6
- \ pre-positioning \u2014 facility-layout + staging."
7
- robotics_analogue: Found a base in a designated region, then stage toward a threat
8
- axis.
9
  author: catalog-generator
 
 
10
  base_map: rush-hour-arena
11
  base:
12
  agent:
@@ -47,8 +48,8 @@ base:
47
  stance: 2
48
  levels:
49
  easy:
50
- description: "Base-Placement & Staging: easy \u2014 the decision is harder (less\
51
- \ info / tighter clock / committed choice)."
52
  win_condition:
53
  all_of:
54
  - building_in_region:
@@ -61,8 +62,8 @@ levels:
61
  - within_ticks: 22000
62
  max_turns: 45
63
  medium:
64
- description: "Base-Placement & Staging: medium \u2014 the decision is harder (less\
65
- \ info / tighter clock / committed choice)."
66
  win_condition:
67
  all_of:
68
  - building_in_region:
@@ -75,8 +76,8 @@ levels:
75
  - within_ticks: 17000
76
  max_turns: 53
77
  hard:
78
- description: "Base-Placement & Staging: hard \u2014 the decision is harder (less\
79
- \ info / tighter clock / committed choice)."
80
  win_condition:
81
  all_of:
82
  - building_in_region:
 
2
  id: cat-c8-03
3
  title: 'Base-Placement & Staging #4'
4
  capability: perception
5
+ real_world_meaning: Choosing a base site that satisfies spatial constraints, then pre-positioning —
6
+ facility-layout + staging.
7
+ robotics_analogue: Found a base in a designated region, then stage toward a threat axis.
 
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
48
  stance: 2
49
  levels:
50
  easy:
51
+ description: 'Base-Placement & Staging: easy — the decision is harder (less info / tighter clock /
52
+ committed choice).'
53
  win_condition:
54
  all_of:
55
  - building_in_region:
 
62
  - within_ticks: 22000
63
  max_turns: 45
64
  medium:
65
+ description: 'Base-Placement & Staging: medium — the decision is harder (less info / tighter clock
66
+ / committed choice).'
67
  win_condition:
68
  all_of:
69
  - building_in_region:
 
76
  - within_ticks: 17000
77
  max_turns: 53
78
  hard:
79
+ description: 'Base-Placement & Staging: hard — the decision is harder (less info / tighter clock /
80
+ committed choice).'
81
  win_condition:
82
  all_of:
83
  - building_in_region:
openra_bench/scenarios/packs/cat-c8-04.yaml CHANGED
@@ -2,11 +2,12 @@ meta:
2
  id: cat-c8-04
3
  title: 'Base-Placement & Staging #5'
4
  capability: perception
5
- real_world_meaning: "Choosing a base site that satisfies spatial constraints, then\
6
- \ pre-positioning \u2014 facility-layout + staging."
7
- robotics_analogue: Found a base in a designated region, then stage toward a threat
8
- axis.
9
  author: catalog-generator
 
 
10
  base_map: rush-hour-arena
11
  base:
12
  agent:
@@ -47,8 +48,8 @@ base:
47
  stance: 2
48
  levels:
49
  easy:
50
- description: "Base-Placement & Staging: easy \u2014 the decision is harder (less\
51
- \ info / tighter clock / committed choice)."
52
  win_condition:
53
  all_of:
54
  - building_in_region:
@@ -61,8 +62,8 @@ levels:
61
  - within_ticks: 22000
62
  max_turns: 45
63
  medium:
64
- description: "Base-Placement & Staging: medium \u2014 the decision is harder (less\
65
- \ info / tighter clock / committed choice)."
66
  win_condition:
67
  all_of:
68
  - building_in_region:
@@ -75,8 +76,8 @@ levels:
75
  - within_ticks: 17000
76
  max_turns: 53
77
  hard:
78
- description: "Base-Placement & Staging: hard \u2014 the decision is harder (less\
79
- \ info / tighter clock / committed choice)."
80
  win_condition:
81
  all_of:
82
  - building_in_region:
 
2
  id: cat-c8-04
3
  title: 'Base-Placement & Staging #5'
4
  capability: perception
5
+ real_world_meaning: Choosing a base site that satisfies spatial constraints, then pre-positioning —
6
+ facility-layout + staging.
7
+ robotics_analogue: Found a base in a designated region, then stage toward a threat axis.
 
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
48
  stance: 2
49
  levels:
50
  easy:
51
+ description: 'Base-Placement & Staging: easy — the decision is harder (less info / tighter clock /
52
+ committed choice).'
53
  win_condition:
54
  all_of:
55
  - building_in_region:
 
62
  - within_ticks: 22000
63
  max_turns: 45
64
  medium:
65
+ description: 'Base-Placement & Staging: medium — the decision is harder (less info / tighter clock
66
+ / committed choice).'
67
  win_condition:
68
  all_of:
69
  - building_in_region:
 
76
  - within_ticks: 17000
77
  max_turns: 53
78
  hard:
79
+ description: 'Base-Placement & Staging: hard — the decision is harder (less info / tighter clock /
80
+ committed choice).'
81
  win_condition:
82
  all_of:
83
  - building_in_region:
openra_bench/scenarios/packs/cat-c9-02.yaml CHANGED
@@ -2,10 +2,12 @@ meta:
2
  id: cat-c9-02
3
  title: 'Commit-vs-Retreat #3'
4
  capability: reasoning
5
- real_world_meaning: "The core risk call: commit force on visible info vs wait for\
6
- \ more \u2014 decision under uncertainty with a loss budget."
7
  robotics_analogue: Engage vs hold under partial info with an attrition cap.
8
  author: catalog-generator
 
 
9
  base_map: rush-hour-arena
10
  base:
11
  agent:
@@ -70,8 +72,8 @@ base:
70
  stance: 2
71
  levels:
72
  easy:
73
- description: "Commit-vs-Retreat: easy \u2014 the decision is harder (less info\
74
- \ / tighter clock / committed choice)."
75
  win_condition:
76
  all_of:
77
  - units_killed_gte: 2
@@ -79,8 +81,8 @@ levels:
79
  - within_ticks: 14000
80
  max_turns: 45
81
  medium:
82
- description: "Commit-vs-Retreat: medium \u2014 the decision is harder (less info\
83
- \ / tighter clock / committed choice)."
84
  win_condition:
85
  all_of:
86
  - units_killed_gte: 3
@@ -88,8 +90,8 @@ levels:
88
  - within_ticks: 11000
89
  max_turns: 53
90
  hard:
91
- description: "Commit-vs-Retreat: hard \u2014 the decision is harder (less info\
92
- \ / tighter clock / committed choice)."
93
  win_condition:
94
  all_of:
95
  - units_killed_gte: 4
 
2
  id: cat-c9-02
3
  title: 'Commit-vs-Retreat #3'
4
  capability: reasoning
5
+ real_world_meaning: 'The core risk call: commit force on visible info vs wait for more — decision under
6
+ uncertainty with a loss budget.'
7
  robotics_analogue: Engage vs hold under partial info with an attrition cap.
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
72
  stance: 2
73
  levels:
74
  easy:
75
+ description: 'Commit-vs-Retreat: easy — the decision is harder (less info / tighter clock / committed
76
+ choice).'
77
  win_condition:
78
  all_of:
79
  - units_killed_gte: 2
 
81
  - within_ticks: 14000
82
  max_turns: 45
83
  medium:
84
+ description: 'Commit-vs-Retreat: medium — the decision is harder (less info / tighter clock / committed
85
+ choice).'
86
  win_condition:
87
  all_of:
88
  - units_killed_gte: 3
 
90
  - within_ticks: 11000
91
  max_turns: 53
92
  hard:
93
+ description: 'Commit-vs-Retreat: hard — the decision is harder (less info / tighter clock / committed
94
+ choice).'
95
  win_condition:
96
  all_of:
97
  - units_killed_gte: 4
openra_bench/scenarios/packs/cat-c9-03.yaml CHANGED
@@ -2,10 +2,12 @@ meta:
2
  id: cat-c9-03
3
  title: 'Commit-vs-Retreat #4'
4
  capability: reasoning
5
- real_world_meaning: "The core risk call: commit force on visible info vs wait for\
6
- \ more \u2014 decision under uncertainty with a loss budget."
7
  robotics_analogue: Engage vs hold under partial info with an attrition cap.
8
  author: catalog-generator
 
 
9
  base_map: rush-hour-arena
10
  base:
11
  agent:
@@ -56,8 +58,8 @@ base:
56
  stance: 2
57
  levels:
58
  easy:
59
- description: "Commit-vs-Retreat: easy \u2014 the decision is harder (less info\
60
- \ / tighter clock / committed choice)."
61
  win_condition:
62
  all_of:
63
  - units_killed_gte: 2
@@ -65,8 +67,8 @@ levels:
65
  - within_ticks: 14000
66
  max_turns: 45
67
  medium:
68
- description: "Commit-vs-Retreat: medium \u2014 the decision is harder (less info\
69
- \ / tighter clock / committed choice)."
70
  win_condition:
71
  all_of:
72
  - units_killed_gte: 3
@@ -74,8 +76,8 @@ levels:
74
  - within_ticks: 11000
75
  max_turns: 53
76
  hard:
77
- description: "Commit-vs-Retreat: hard \u2014 the decision is harder (less info\
78
- \ / tighter clock / committed choice)."
79
  win_condition:
80
  all_of:
81
  - units_killed_gte: 4
 
2
  id: cat-c9-03
3
  title: 'Commit-vs-Retreat #4'
4
  capability: reasoning
5
+ real_world_meaning: 'The core risk call: commit force on visible info vs wait for more — decision under
6
+ uncertainty with a loss budget.'
7
  robotics_analogue: Engage vs hold under partial info with an attrition cap.
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
58
  stance: 2
59
  levels:
60
  easy:
61
+ description: 'Commit-vs-Retreat: easy — the decision is harder (less info / tighter clock / committed
62
+ choice).'
63
  win_condition:
64
  all_of:
65
  - units_killed_gte: 2
 
67
  - within_ticks: 14000
68
  max_turns: 45
69
  medium:
70
+ description: 'Commit-vs-Retreat: medium — the decision is harder (less info / tighter clock / committed
71
+ choice).'
72
  win_condition:
73
  all_of:
74
  - units_killed_gte: 3
 
76
  - within_ticks: 11000
77
  max_turns: 53
78
  hard:
79
+ description: 'Commit-vs-Retreat: hard — the decision is harder (less info / tighter clock / committed
80
+ choice).'
81
  win_condition:
82
  all_of:
83
  - units_killed_gte: 4
openra_bench/scenarios/packs/cat-c9-04.yaml CHANGED
@@ -2,10 +2,12 @@ meta:
2
  id: cat-c9-04
3
  title: 'Commit-vs-Retreat #5'
4
  capability: reasoning
5
- real_world_meaning: "The core risk call: commit force on visible info vs wait for\
6
- \ more \u2014 decision under uncertainty with a loss budget."
7
  robotics_analogue: Engage vs hold under partial info with an attrition cap.
8
  author: catalog-generator
 
 
9
  base_map: rush-hour-arena
10
  base:
11
  agent:
@@ -63,8 +65,8 @@ base:
63
  stance: 2
64
  levels:
65
  easy:
66
- description: "Commit-vs-Retreat: easy \u2014 the decision is harder (less info\
67
- \ / tighter clock / committed choice)."
68
  win_condition:
69
  all_of:
70
  - units_killed_gte: 2
@@ -72,8 +74,8 @@ levels:
72
  - within_ticks: 14000
73
  max_turns: 45
74
  medium:
75
- description: "Commit-vs-Retreat: medium \u2014 the decision is harder (less info\
76
- \ / tighter clock / committed choice)."
77
  win_condition:
78
  all_of:
79
  - units_killed_gte: 3
@@ -81,8 +83,8 @@ levels:
81
  - within_ticks: 11000
82
  max_turns: 53
83
  hard:
84
- description: "Commit-vs-Retreat: hard \u2014 the decision is harder (less info\
85
- \ / tighter clock / committed choice)."
86
  win_condition:
87
  all_of:
88
  - units_killed_gte: 4
 
2
  id: cat-c9-04
3
  title: 'Commit-vs-Retreat #5'
4
  capability: reasoning
5
+ real_world_meaning: 'The core risk call: commit force on visible info vs wait for more — decision under
6
+ uncertainty with a loss budget.'
7
  robotics_analogue: Engage vs hold under partial info with an attrition cap.
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
65
  stance: 2
66
  levels:
67
  easy:
68
+ description: 'Commit-vs-Retreat: easy — the decision is harder (less info / tighter clock / committed
69
+ choice).'
70
  win_condition:
71
  all_of:
72
  - units_killed_gte: 2
 
74
  - within_ticks: 14000
75
  max_turns: 45
76
  medium:
77
+ description: 'Commit-vs-Retreat: medium — the decision is harder (less info / tighter clock / committed
78
+ choice).'
79
  win_condition:
80
  all_of:
81
  - units_killed_gte: 3
 
83
  - within_ticks: 11000
84
  max_turns: 53
85
  hard:
86
+ description: 'Commit-vs-Retreat: hard — the decision is harder (less info / tighter clock / committed
87
+ choice).'
88
  win_condition:
89
  all_of:
90
  - units_killed_gte: 4
openra_bench/scenarios/packs/cat-c9-05.yaml CHANGED
@@ -2,10 +2,12 @@ meta:
2
  id: cat-c9-05
3
  title: 'Commit-vs-Retreat #6'
4
  capability: reasoning
5
- real_world_meaning: "The core risk call: commit force on visible info vs wait for\
6
- \ more \u2014 decision under uncertainty with a loss budget."
7
  robotics_analogue: Engage vs hold under partial info with an attrition cap.
8
  author: catalog-generator
 
 
9
  base_map: rush-hour-arena
10
  base:
11
  agent:
@@ -70,8 +72,8 @@ base:
70
  stance: 2
71
  levels:
72
  easy:
73
- description: "Commit-vs-Retreat: easy \u2014 the decision is harder (less info\
74
- \ / tighter clock / committed choice)."
75
  win_condition:
76
  all_of:
77
  - units_killed_gte: 2
@@ -79,8 +81,8 @@ levels:
79
  - within_ticks: 14000
80
  max_turns: 45
81
  medium:
82
- description: "Commit-vs-Retreat: medium \u2014 the decision is harder (less info\
83
- \ / tighter clock / committed choice)."
84
  win_condition:
85
  all_of:
86
  - units_killed_gte: 3
@@ -88,8 +90,8 @@ levels:
88
  - within_ticks: 11000
89
  max_turns: 53
90
  hard:
91
- description: "Commit-vs-Retreat: hard \u2014 the decision is harder (less info\
92
- \ / tighter clock / committed choice)."
93
  win_condition:
94
  all_of:
95
  - units_killed_gte: 4
 
2
  id: cat-c9-05
3
  title: 'Commit-vs-Retreat #6'
4
  capability: reasoning
5
+ real_world_meaning: 'The core risk call: commit force on visible info vs wait for more — decision under
6
+ uncertainty with a loss budget.'
7
  robotics_analogue: Engage vs hold under partial info with an attrition cap.
8
  author: catalog-generator
9
+ status: quarantine
10
+ quarantine_reason: 'redundant cat-* over-generation (audit: keep 2 representatives/category)'
11
  base_map: rush-hour-arena
12
  base:
13
  agent:
 
72
  stance: 2
73
  levels:
74
  easy:
75
+ description: 'Commit-vs-Retreat: easy — the decision is harder (less info / tighter clock / committed
76
+ choice).'
77
  win_condition:
78
  all_of:
79
  - units_killed_gte: 2
 
81
  - within_ticks: 14000
82
  max_turns: 45
83
  medium:
84
+ description: 'Commit-vs-Retreat: medium — the decision is harder (less info / tighter clock / committed
85
+ choice).'
86
  win_condition:
87
  all_of:
88
  - units_killed_gte: 3
 
90
  - within_ticks: 11000
91
  max_turns: 53
92
  hard:
93
+ description: 'Commit-vs-Retreat: hard — the decision is harder (less info / tighter clock / committed
94
+ choice).'
95
  win_condition:
96
  all_of:
97
  - units_killed_gte: 4
openra_bench/scenarios/packs/economy-harvest-investment.yaml CHANGED
@@ -1,95 +1,98 @@
1
  meta:
2
  id: economy-harvest-investment
3
- title: "Harvest Economy — Investment & Storage"
4
  capability: reasoning
5
- real_world_meaning: >
6
- Given enough capital to either widen collection (a second
7
- refinery / more harvesters) or deepen storage (silos that raise the
8
- cap so burst yield is not lost), choose the allocation that
9
- maximizes banked economic value before the deadline — the
10
- investment decision, plus storage so harvest is not wasted.
11
- robotics_analogue: >
12
- Capital allocation for an autonomous resource operation: throughput
13
- vs. buffer capacity under a finite budget and mission clock.
14
- author: catalog-c13
15
 
 
 
 
 
16
  base_map: rush-hour-arena
17
  starting_cash: 3000
18
-
19
  base:
20
  agent:
21
  faction: allies
22
  enemy:
23
  faction: soviet
24
  tools:
25
- - build
26
- - place_building
27
- - harvest
28
- - move_units
29
- - deploy
30
- - stop
31
  planning: true
32
  termination:
33
  max_ticks: 40000
34
  actors:
35
- - type: fact
36
- owner: agent
37
- position:
38
- - 10
39
- - 18
40
- - type: powr
41
- owner: agent
42
- position:
43
- - 14
44
- - 18
45
- - type: proc
46
- owner: agent
47
- position:
48
- - 12
49
- - 22
50
- - type: harv
51
- owner: agent
52
- position:
53
- - 15
54
- - 22
55
- - type: mine
56
- owner: neutral
57
- position:
58
- - 40
59
- - 22
60
- - type: jeep
61
- owner: agent
62
- position:
63
- - 8
64
- - 16
65
-
66
  levels:
67
  easy:
68
- description: >
69
- Budget covers a clear improvement; harvest + reinvest to clear a
70
- modest economy-value bar.
 
71
  win_condition:
72
  all_of:
73
- - economy_value_gte: 4000
74
- - within_ticks: 12000
75
  max_turns: 70
76
  medium:
77
- description: >
78
- Higher bar — a single refinery/harvester cannot keep up; widen
79
- collection (2nd refinery or more harvesters) with the budget.
 
80
  win_condition:
81
  all_of:
82
- - economy_value_gte: 6500
83
- - within_ticks: 12000
84
  max_turns: 75
85
  hard:
86
- description: >
87
- High banked-value target with a tight clock: bursts overflow the
88
- base storage and are lost — a silo (raising the cap) is required,
89
- and the budget must be split between collection and storage.
 
90
  win_condition:
91
  all_of:
92
- - economy_value_gte: 9000
93
- - has_building: silo
94
- - within_ticks: 11000
95
  max_turns: 85
 
1
  meta:
2
  id: economy-harvest-investment
3
+ title: Harvest Economy — Investment & Storage
4
  capability: reasoning
5
+ real_world_meaning: 'Given enough capital to either widen collection (a second refinery / more harvesters)
6
+ or deepen storage (silos that raise the cap so burst yield is not lost), choose the allocation that
7
+ maximizes banked economic value before the deadline — the investment decision, plus storage so harvest
8
+ is not wasted.
9
+
10
+ '
11
+ robotics_analogue: 'Capital allocation for an autonomous resource operation: throughput vs. buffer capacity
12
+ under a finite budget and mission clock.
 
 
13
 
14
+ '
15
+ author: catalog-c13
16
+ status: quarantine
17
+ quarantine_reason: blocked on engine S0/S1 ore-income prerequisite (non-discriminating until then)
18
  base_map: rush-hour-arena
19
  starting_cash: 3000
 
20
  base:
21
  agent:
22
  faction: allies
23
  enemy:
24
  faction: soviet
25
  tools:
26
+ - build
27
+ - place_building
28
+ - harvest
29
+ - move_units
30
+ - deploy
31
+ - stop
32
  planning: true
33
  termination:
34
  max_ticks: 40000
35
  actors:
36
+ - type: fact
37
+ owner: agent
38
+ position:
39
+ - 10
40
+ - 18
41
+ - type: powr
42
+ owner: agent
43
+ position:
44
+ - 14
45
+ - 18
46
+ - type: proc
47
+ owner: agent
48
+ position:
49
+ - 12
50
+ - 22
51
+ - type: harv
52
+ owner: agent
53
+ position:
54
+ - 15
55
+ - 22
56
+ - type: mine
57
+ owner: neutral
58
+ position:
59
+ - 40
60
+ - 22
61
+ - type: jeep
62
+ owner: agent
63
+ position:
64
+ - 8
65
+ - 16
 
66
  levels:
67
  easy:
68
+ description: 'Budget covers a clear improvement; harvest + reinvest to clear a modest economy-value
69
+ bar.
70
+
71
+ '
72
  win_condition:
73
  all_of:
74
+ - economy_value_gte: 4000
75
+ - within_ticks: 12000
76
  max_turns: 70
77
  medium:
78
+ description: 'Higher bar — a single refinery/harvester cannot keep up; widen collection (2nd refinery
79
+ or more harvesters) with the budget.
80
+
81
+ '
82
  win_condition:
83
  all_of:
84
+ - economy_value_gte: 6500
85
+ - within_ticks: 12000
86
  max_turns: 75
87
  hard:
88
+ description: 'High banked-value target with a tight clock: bursts overflow the base storage and are
89
+ lost — a silo (raising the cap) is required, and the budget must be split between collection and
90
+ storage.
91
+
92
+ '
93
  win_condition:
94
  all_of:
95
+ - economy_value_gte: 9000
96
+ - has_building: silo
97
+ - within_ticks: 11000
98
  max_turns: 85
openra_bench/scenarios/packs/economy-harvest-timebox.yaml CHANGED
@@ -1,82 +1,84 @@
1
  meta:
2
  id: economy-harvest-timebox
3
- title: "Harvest Economy — Time-Boxed"
4
  capability: reasoning
5
- real_world_meaning: >
6
- Within a fixed time budget, earn as much economic value as possible
7
- by running and growing a harvesting operation, then keep the
8
- harvesters productive — the decision is committing to harvest
9
- promptly and expanding capacity rather than idling.
10
- robotics_analogue: >
11
- Autonomous resource-collection under a mission clock: maximize
12
- yield by dispatching and scaling collectors instead of dithering.
13
- author: catalog-c13
14
 
 
 
 
 
15
  base_map: rush-hour-arena
16
  starting_cash: 200
17
-
18
  base:
19
  agent:
20
  faction: allies
21
  enemy:
22
  faction: soviet
23
  tools:
24
- - harvest
25
- - move_units
26
- - build
27
- - stop
28
  planning: true
29
  termination:
30
  max_ticks: 40000
31
  actors:
32
- - type: proc
33
- owner: agent
34
- position:
35
- - 12
36
- - 18
37
- - type: harv
38
- owner: agent
39
- position:
40
- - 14
41
- - 18
42
- - type: mine
43
- owner: neutral
44
- position:
45
- - 22
46
- - 18
47
- - type: jeep
48
- owner: agent
49
- position:
50
- - 8
51
- - 16
52
-
53
  levels:
54
  easy:
55
- description: >
56
- Loose clock — just start harvesting promptly; idling fails the
57
- economy-value target.
58
  win_condition:
59
  all_of:
60
- - economy_value_gte: 1000
61
- - within_ticks: 7000
62
  max_turns: 60
63
  medium:
64
- description: >
65
- Tighter clock and a higher target — the harvester must stay
66
- productive (not lost / not idle).
 
67
  win_condition:
68
  all_of:
69
- - economy_value_gte: 2500
70
- - harvesters_gte: 1
71
- - within_ticks: 6000
72
  max_turns: 60
73
  hard:
74
- description: >
75
- High target, short clock — a single harvester cannot reach it;
76
- must expand harvesting capacity.
 
77
  win_condition:
78
  all_of:
79
- - economy_value_gte: 3500
80
- - harvesters_gte: 2
81
- - within_ticks: 5000
82
  max_turns: 70
 
1
  meta:
2
  id: economy-harvest-timebox
3
+ title: Harvest Economy — Time-Boxed
4
  capability: reasoning
5
+ real_world_meaning: 'Within a fixed time budget, earn as much economic value as possible by running
6
+ and growing a harvesting operation, then keep the harvesters productive — the decision is committing
7
+ to harvest promptly and expanding capacity rather than idling.
8
+
9
+ '
10
+ robotics_analogue: 'Autonomous resource-collection under a mission clock: maximize yield by dispatching
11
+ and scaling collectors instead of dithering.
 
 
12
 
13
+ '
14
+ author: catalog-c13
15
+ status: quarantine
16
+ quarantine_reason: blocked on engine S0/S1 ore-income prerequisite (non-discriminating until then)
17
  base_map: rush-hour-arena
18
  starting_cash: 200
 
19
  base:
20
  agent:
21
  faction: allies
22
  enemy:
23
  faction: soviet
24
  tools:
25
+ - harvest
26
+ - move_units
27
+ - build
28
+ - stop
29
  planning: true
30
  termination:
31
  max_ticks: 40000
32
  actors:
33
+ - type: proc
34
+ owner: agent
35
+ position:
36
+ - 12
37
+ - 18
38
+ - type: harv
39
+ owner: agent
40
+ position:
41
+ - 14
42
+ - 18
43
+ - type: mine
44
+ owner: neutral
45
+ position:
46
+ - 22
47
+ - 18
48
+ - type: jeep
49
+ owner: agent
50
+ position:
51
+ - 8
52
+ - 16
 
53
  levels:
54
  easy:
55
+ description: 'Loose clock — just start harvesting promptly; idling fails the economy-value target.
56
+
57
+ '
58
  win_condition:
59
  all_of:
60
+ - economy_value_gte: 1000
61
+ - within_ticks: 7000
62
  max_turns: 60
63
  medium:
64
+ description: 'Tighter clock and a higher target — the harvester must stay productive (not lost / not
65
+ idle).
66
+
67
+ '
68
  win_condition:
69
  all_of:
70
+ - economy_value_gte: 2500
71
+ - harvesters_gte: 1
72
+ - within_ticks: 6000
73
  max_turns: 60
74
  hard:
75
+ description: 'High target, short clock — a single harvester cannot reach it; must expand harvesting
76
+ capacity.
77
+
78
+ '
79
  win_condition:
80
  all_of:
81
+ - economy_value_gte: 3500
82
+ - harvesters_gte: 2
83
+ - within_ticks: 5000
84
  max_turns: 70
openra_bench/scenarios/schema.py CHANGED
@@ -62,6 +62,13 @@ class ScenarioMeta(BaseModel):
62
  ..., min_length=10, description="Concrete robotics/agentic parallel"
63
  )
64
  author: str = "unknown"
 
 
 
 
 
 
 
65
 
66
  @field_validator("id")
67
  @classmethod
 
62
  ..., min_length=10, description="Concrete robotics/agentic parallel"
63
  )
64
  author: str = "unknown"
65
+ # Hygiene (audit): "quarantine" keeps the file on disk and runnable
66
+ # by explicit --packs, but excludes it from the default eval set so
67
+ # it doesn't dilute scores / the leaderboard. Used for the
68
+ # redundant cat-* over-generation and the harvest packs blocked on
69
+ # the engine S0/S1 ore-income prerequisite.
70
+ status: Literal["active", "quarantine"] = "active"
71
+ quarantine_reason: str = ""
72
 
73
  @field_validator("id")
74
  @classmethod
tests/test_hygiene.py ADDED
@@ -0,0 +1,96 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Scenario hygiene: quarantine excludes from the default sweep.
2
+
3
+ Quarantined packs (redundant cat-* over-generation; harvest packs
4
+ blocked on engine S0/S1) must (a) still parse, (b) drop out of the
5
+ default evaluate set into `skipped`, and (c) remain runnable when
6
+ named explicitly. Two representatives per cat-* category stay active.
7
+ """
8
+
9
+ from __future__ import annotations
10
+
11
+ import glob
12
+ import os
13
+ from collections import Counter
14
+ from pathlib import Path
15
+
16
+ from openra_bench.scenarios import load_pack
17
+
18
+ PACKS = Path(__file__).parent.parent / "openra_bench" / "scenarios" / "packs"
19
+
20
+
21
+ def _all_metas():
22
+ out = []
23
+ for f in glob.glob(str(PACKS / "*.yaml")):
24
+ if os.path.basename(f).startswith(("_", "TEMPLATE")):
25
+ continue
26
+ out.append((os.path.basename(f), load_pack(f).meta))
27
+ return out
28
+
29
+
30
+ def test_all_packs_still_parse_after_retag():
31
+ metas = _all_metas()
32
+ assert len(metas) > 80 # nothing lost on disk
33
+ for name, m in metas:
34
+ assert m.status in ("active", "quarantine")
35
+ if m.status == "quarantine":
36
+ assert m.quarantine_reason, f"{name} quarantined w/o reason"
37
+
38
+
39
+ def test_harvest_quarantined_with_engine_reason():
40
+ for h in ("economy-harvest-investment", "economy-harvest-timebox"):
41
+ m = load_pack(PACKS / f"{h}.yaml").meta
42
+ assert m.status == "quarantine"
43
+ assert "S0/S1" in m.quarantine_reason
44
+
45
+
46
+ def test_two_representatives_kept_active_per_cat_category():
47
+ active = Counter()
48
+ quar = Counter()
49
+ for name, m in _all_metas():
50
+ if not name.startswith("cat-c"):
51
+ continue
52
+ cat = name.split("-")[1] # c1..c12
53
+ (active if m.status == "active" else quar)[cat] += 1
54
+ assert active, "cat-* categories present"
55
+ for cat, n in active.items():
56
+ assert n == 2, f"{cat}: expected 2 active reps, got {n}"
57
+ assert quar[cat] >= 1, f"{cat}: redundant ones must be quarantined"
58
+
59
+
60
+ def test_default_evaluate_excludes_quarantine_keeps_active(monkeypatch):
61
+ # Use the real resolver but a tiny fake eval to avoid the engine:
62
+ # assert quarantined ids land in `skipped`, active ones in tasks.
63
+ from openra_bench import run_eval
64
+
65
+ captured = {}
66
+
67
+ def fake_compile(pack, level):
68
+ captured.setdefault("compiled", []).append(pack.meta.id)
69
+
70
+ class C:
71
+ map_supported = False # short-circuit into skipped, no engine
72
+
73
+ c = C()
74
+ c.meta = pack.meta
75
+ return c
76
+
77
+ monkeypatch.setattr(run_eval, "compile_level", fake_compile)
78
+ packs = run_eval._resolve_packs(None) # default bundled set
79
+ out = run_eval.evaluate(packs=packs, levels=["easy"], seeds=[1])
80
+ sk = " ".join(out["skipped"])
81
+ assert "quarantine:" in sk
82
+ # a known-quarantined pack is in skipped and never compiled
83
+ assert any("cat-c1-05" in s for s in out["skipped"])
84
+ assert "cat-c1-05" not in captured.get("compiled", [])
85
+ # a kept representative WAS compiled (reached the level loop)
86
+ assert "cat-c1-00" in captured.get("compiled", [])
87
+
88
+
89
+ def test_quarantined_pack_still_loads_when_named_explicitly():
90
+ # explicit selection bypasses the default-set filter entirely
91
+ p = run_eval_resolve_one("cat-c1-05.yaml")
92
+ assert p.meta.id == "cat-c1-05" and p.meta.status == "quarantine"
93
+
94
+
95
+ def run_eval_resolve_one(fname: str):
96
+ return load_pack(PACKS / fname)