Repair deterministic Occupy test transitions and card staging

This commit is contained in:
Quintine committed 2026-10-09 02:53:09 +11:00
1 parent 38b1ba3419
commit f2fd274502
5 files changed
+61 -18

No files matched your search

+11 -7
View File
@@ -215,13 +215,17 @@ reveals before that companion moves, in both modes. A repeated-Karama
cancellation of an already-canceled compulsory cache lot remains an explicit
open boundary recorded in the decision index. Two intermittently failing
Moritani skill-runtime tests were measured at the same 3/30 rate on both
revisions, so they are pre-existing nondeterminism rather than a regression; the
same holds for `tests/ecaz-occupy-options.test.ts`, whose Easy Occupy plan
candidate is occasionally absent (2/20 failing runs at `4ed6beb` versus 3/20
now), for the paired Moritani skill-runtime tests, and for
`tests/ecaz-occupy-cards-runtime.test.ts` (one intermittent Harass/explosion
case, passing 5/5 standalone). Those intermittent failures are pre-existing
prototype/AI gaps and are not new regressions.
revisions, so they are pre-existing nondeterminism rather than a regression.
The Occupy policy failure (2/20 at `4ed6beb`, 3/20 here) is now explained by
an obsolete immediate-plan assertion: seed 8 legally activates Ecaz special
Karama before sealing. All four profiles finish that captured state in two
actions; the deterministic regression now checks finite legal progression.
The Harass/explosion failure is now reproduced at deterministic seed 62:
the fixture's donor exchange removed its already-selected Harass card.
Staging now uses a conserved deck replacement while hand capacity remains.
The repaired physical scenario returns two forces before the explosion,
discards Harass once and reaches Collection. Neither finding changes rules
or bot behavior; the earlier attribution to prototype/AI gaps was incorrect.
**Gated captures resumed under the new prototypes.** The 14 captures that
remained gated after the 7 October rulings were resumed in place against their
+26
View File
@@ -1,5 +1,31 @@
# Dune implementation status
## 9 October 2026 — two Occupy failures isolated to test contracts and staging
Deterministic seed 8 reproduces the recorded missing-immediate-plan failure.
The bot actually offers a legal Ecaz special Karama action; Easy, Medium,
Hard and Brutal each then seal the selected lead's plan on their next action.
The actual captured engine smoke consumes Karama once and submits the plan.
No bot or rule behavior changed.
The regression now pins entropy and follows actual first-policy actions to
a sealed plan for both leads and active/canceled Occupy instead of requiring
the first action list to contain a plan. That case passes.
Deterministic seed 62 also reproduces the Harass ally/explosion failure:
when Lasgun must come from another hand, fixture staging gives that donor
the actor's sole held Harass, then tries to seal the now-unavailable defense.
The engine correctly rejects it. The staging helper now funds a donor
replacement from the original deck when the recipient has room, retaining
its earlier selected physical cards. Full hands keep the existing exchange.
The real repaired scenario returns two forces before the explosion,
discards Harass once and reaches Collection. Its deterministic regression
passes. Neither repair changes production engine or bot behavior.
Frozen verification: `check:quick` passes and all 270 cases in the nine
affected Occupy, Stronghold and native-tech files pass. No full offline
suite, HTTP campaign, database audit or deployment was run.
## 9 October 2026 — provisional Kulon/Ornithopter coexistence
Active Kulon no longer blocks either mode of the Richese movement card.