From 0c3e66e0de2536cf03f2c2b5e9effc8b36a335c8 Mon Sep 17 00:00:00 2001 From: Natalie Date: Sat, 16 May 2026 00:00:37 -0700 Subject: [PATCH] =?UTF-8?q?fix(@projects/@magic-civilization):=20?= =?UTF-8?q?=F0=9F=90=9B=20update=20sole-city=20tier-2=20reach=20objective?= =?UTF-8?q?=20with=20test=20results?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Lilith Autocommit --- .project/objectives/p1-29c-sole-city-research-path.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.project/objectives/p1-29c-sole-city-research-path.md b/.project/objectives/p1-29c-sole-city-research-path.md index 01635859..08751f35 100644 --- a/.project/objectives/p1-29c-sole-city-research-path.md +++ b/.project/objectives/p1-29c-sole-city-research-path.md @@ -30,7 +30,7 @@ Cycle-48's three fix sites (evaluator `tech_weight_mult=2.5`, rollout `tech_coef ## Acceptance criteria -- [ ] **Sole-city tier-2 reach in 10-seed batch**: ≥ 7/10 alive-aware seeds (both `p0_tp ≥ 2 AND p1_tp ≥ 2`) in `autoplay_batch_p1_29c`. This is the same gate p1-29a's bullet 5 requires — closing this objective closes that gate. *(Pending: apricot autoplay batch run — code path is in place, requires `tools/autoplay-batch.sh` execution against latest mc-ai.)* +- [ ] **Sole-city tier-2 reach in 10-seed batch**: ≥ 7/10 alive-aware seeds (both `p0_tp ≥ 2 AND p1_tp ≥ 2`) in `autoplay_batch_p1_29c`. **Measured 2026-05-15 on apricot batch `20260515_215705` (10/10 games produced complete turn_stats — infrastructure clean): 0/10 PASS.** Per-seed: P0 `tier_peak` ranges 2–10 (healthy); P1 `tier_peak` = 1 in ALL 10 seeds; P1 cities at end-game: 0 in 8 seeds, 1 in 2 seeds. P1 is being eliminated or stalled before reaching tier 2. The current `+0.40 Settle / +0.20 Defend / +0.50 Research` uplifts in `SituationalContext` are not strong enough OR P1's structural bottleneck is upstream of action priority (combat survival, not research priority). Recommend filing a separate "P1 survival" objective targeting the actual failure mode (mass elimination before T100) rather than re-tuning sole-city priors. - [x] **Tactical action priority — "found second city when sole-city and threatened"**: when `city_count == 1 && threat_level > 0.4 && available_founder_action`, raise founder-action prior. Implemented as `PersonalityPriors::action_prior_with_context` with `+0.40` Settle and `+0.20` Defend uplift under `SituationalContext { sole_city_threatened: true, .. }`. Threat signal derived from any opponent's `force_rel[me] ≥ 1` (u16 unit-count proxy adapted from the spec's `> 0.4` ratio because `force_rel` is not a [0,1] ratio). Wired into MCTS tree-selection via `TreeState::action_prior` impl on `GameRolloutState`. Evidence: `policy.rs::action_prior_with_context`, `rollout.rs::TreeState::action_prior`.