Spaces:
Running
fix(tests): classify 19 active packs in hard-tier + mfb-rotating spawn-witness
Browse filesThe 19 packs (lh-defense-tech-second-base, rob-objective-change-midway,
def-position-expected-direction, coord-squad-handoff,
econ-recover-from-zero-cash, lh-scout-react-counter, coord-relay-attack,
lh-100-turn-marathon-survival, lh-multi-checkpoint-5-plus,
def-pre-position-mobile-reserve, combat-skirmish-then-disengage,
lh-build-army-coordinate-multifront-attack, econ-deny-enemy-expansion,
econ-target-cash-amount-by-deadline, scout-detect-enemy-tech,
coord-converge-on-target, econ-quantitative-vs-qualitative-spend,
def-tower-line-vs-cluster, coord-cover-and-move) each already define two
agent-side spawn_point groups on their hard tier and produce >=2 distinct
seeded starts; add them to UPGRADED.
mfb-rotating-production-pressure:hard was building-only at reset, so the
units_summary-based spawn check saw an empty units list and identical
starts across seeds. Add a per-spawn-group inert stance:0 HoldFire e1
spawn-witness at the seed-distinct EAST base column so units_summary
reveals the seeded spawn.
|
@@ -434,6 +434,22 @@ levels:
|
|
| 434 |
- {type: fix, owner: agent, position: [76, 16], spawn_point: 1}
|
| 435 |
- {type: proc, owner: agent, position: [76, 23], spawn_point: 1}
|
| 436 |
- {type: powr, owner: agent, position: [81, 23], spawn_point: 1}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 437 |
# Inert enemy `fact` marker — duplicated across BOTH spawn
|
| 438 |
# groups (the per-owner spawn_point filter keeps only the
|
| 439 |
# chosen seed's enemy actors; a marker without spawn_point
|
|
|
|
| 434 |
- {type: fix, owner: agent, position: [76, 16], spawn_point: 1}
|
| 435 |
- {type: proc, owner: agent, position: [76, 23], spawn_point: 1}
|
| 436 |
- {type: powr, owner: agent, position: [81, 23], spawn_point: 1}
|
| 437 |
+
# ── Inert spawn-witness — a single `stance: 0` HoldFire `e1`
|
| 438 |
+
# per spawn group, placed at the seed-distinct EAST base
|
| 439 |
+
# column (x=80 for group 0, x=76 for group 1) well north of
|
| 440 |
+
# the y=19 raid latitude. This pack is otherwise building-only
|
| 441 |
+
# at reset (base `actors: []`), so `units_summary` would be
|
| 442 |
+
# EMPTY and the seeded spawn would be invisible to the
|
| 443 |
+
# units_summary-based hard-tier spawn check. The witness gives
|
| 444 |
+
# `units_summary` a non-empty, seed-distinct entry so the
|
| 445 |
+
# round-robin is observable. It plays no role in the win/fail
|
| 446 |
+
# predicate (building-only) and on HoldFire it never auto-
|
| 447 |
+
# engages (CLAUDE.md stance:0) — and with no `move_units`
|
| 448 |
+
# tool exposed it cannot interact with the raid combat. The
|
| 449 |
+
# standard idiom used by other building-only-base packs
|
| 450 |
+
# (mfb-two-base-simultaneous, build-power-online-first, ...).
|
| 451 |
+
- {type: e1, owner: agent, position: [80, 8], stance: 0, spawn_point: 0}
|
| 452 |
+
- {type: e1, owner: agent, position: [76, 8], stance: 0, spawn_point: 1}
|
| 453 |
# Inert enemy `fact` marker — duplicated across BOTH spawn
|
| 454 |
# groups (the per-owner spawn_point filter keeps only the
|
| 455 |
# chosen seed's enemy actors; a marker without spawn_point
|
|
@@ -1424,6 +1424,30 @@ UPGRADED = [
|
|
| 1424 |
# memorised "drive to (27,21)" plan strikes empty ground on the
|
| 1425 |
# off-latitude seed.
|
| 1426 |
"def-counter-battery",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1427 |
]
|
| 1428 |
|
| 1429 |
# Consciously NOT spawn-varied, with the reason (keeps the curation
|
|
|
|
| 1424 |
# memorised "drive to (27,21)" plan strikes empty ground on the
|
| 1425 |
# off-latitude seed.
|
| 1426 |
"def-counter-battery",
|
| 1427 |
+
# Cleanup pass — 19 active packs whose hard tier already defines two
|
| 1428 |
+
# agent-side spawn_point groups (agent_sp=[0,1], verified to produce
|
| 1429 |
+
# ≥2 distinct seeded starts via units_summary) but were not yet
|
| 1430 |
+
# listed. One line each; all pass the parametrized compile+run and
|
| 1431 |
+
# spawn-count tests.
|
| 1432 |
+
"lh-defense-tech-second-base", # hard: 2 agent spawn_point groups
|
| 1433 |
+
"rob-objective-change-midway", # hard: 2 agent spawn_point groups
|
| 1434 |
+
"def-position-expected-direction", # hard: 2 agent spawn_point groups
|
| 1435 |
+
"coord-squad-handoff", # hard: 2 agent spawn_point groups
|
| 1436 |
+
"econ-recover-from-zero-cash", # hard: 2 agent spawn_point groups
|
| 1437 |
+
"lh-scout-react-counter", # hard: 2 agent spawn_point groups
|
| 1438 |
+
"coord-relay-attack", # hard: 2 agent spawn_point groups
|
| 1439 |
+
"lh-100-turn-marathon-survival", # hard: 2 agent spawn_point groups
|
| 1440 |
+
"lh-multi-checkpoint-5-plus", # hard: 2 agent spawn_point groups
|
| 1441 |
+
"def-pre-position-mobile-reserve", # hard: 2 agent spawn_point groups
|
| 1442 |
+
"combat-skirmish-then-disengage", # hard: 2 agent spawn_point groups
|
| 1443 |
+
"lh-build-army-coordinate-multifront-attack", # hard: 2 agent spawn_point groups
|
| 1444 |
+
"econ-deny-enemy-expansion", # hard: 2 agent spawn_point groups
|
| 1445 |
+
"econ-target-cash-amount-by-deadline", # hard: 2 agent spawn_point groups
|
| 1446 |
+
"scout-detect-enemy-tech", # hard: 2 agent spawn_point groups
|
| 1447 |
+
"coord-converge-on-target", # hard: 2 agent spawn_point groups
|
| 1448 |
+
"econ-quantitative-vs-qualitative-spend", # hard: 2 agent spawn_point groups
|
| 1449 |
+
"def-tower-line-vs-cluster", # hard: 2 agent spawn_point groups
|
| 1450 |
+
"coord-cover-and-move", # hard: 2 agent spawn_point groups
|
| 1451 |
]
|
| 1452 |
|
| 1453 |
# Consciously NOT spawn-varied, with the reason (keeps the curation
|