feat(@projects/@magic-civilization): update survival objective analysis

Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
Natalie 2026-05-16 01:21:21 -07:00
parent ffba4db1f9
commit 03579e0d4a

View file

@ -37,10 +37,18 @@ Likely contributors (any/all):
## Acceptance
- ☐ Diagnose which contributor(s) dominate via batch instrumentation:
- Add `cities_lost`, `units_destroyed`, `turn_first_attack`, `last_alive_turn` to `player_stats` JSONL emission if not already present.
- Re-run apricot batch; tabulate elimination turn and immediate cause per seed.
- ☐ Identify the load-bearing lever (defensive multiplier? Map seed quality? AI flee threshold?).
- ✓ Diagnose which contributor(s) dominate — performed on apricot batch `20260515_215705`. Already-shipped `player_stats` fields (`cities_lost`, `units_lost`, `kills`, `mil`, `pop`) tell the story without new instrumentation:
| Pattern | Count | Detail |
|---|---|---|
| **P1 capital captured** | 8/10 | `cities_lost=1`, units_lost 13, kills 110 (P1 fights but loses). Game-end turn 44203 (median ~70). |
| **P1 isolated, P0 doesn't attack** | 2/10 | T300/277, P1=1 city, mil=0, kills=0, pop=13/33. P1 builds civilians, P0 ignored it. |
Conclusion: P1 is being attacked and losing its capital in 80% of games. This is a **combat balance / capital-rush problem**, NOT a research-priority problem. P1 already prioritizes defense (kills 1-10 attackers) but loses the mechanical contest.
- ☐ Identify the load-bearing lever. Top candidates given the diagnostic:
1. **Capital-grace mechanic**: city HP/walls bonus for turns 0N when player has 1 city (existing p1-29 walls multiplier may need bumping or extending earlier).
2. **Pre-T100 aggression cap**: AI flee/retreat threshold raised when own `cities ≤ 1` so P1 doesn't suicide-attack and lose its army.
3. **Map placement**: starting-position scoring should ensure each player has ≥1 chokepoint or defensible terrain within 3 hexes.
- ☐ Implement the lever as either a Rust mc-combat balance tweak or an mc-ai posture/flee adjustment.
- ☐ Re-run apricot batch; gate ≥7/10 seeds with P1 `tier_peak ≥ 2`.
- ☐ Closes both p1-29c's bullet 1 and p1-29a's blocker.