Offer Karama against mandatory advisor ground conversions

Keep completed moves while allowing native advisor-to-fighter conversion to be prevented after empty arrival or the last outsider's ground departure. Bind each queued response to its actual whole group and movement. Shared settlement honors the explicit provisional continuously-alone cancellation duration; setup remains automatic and non-ground producers remain open.

Validation: 16 related files199/199, types/lint/build, five native move/response/GameTable SSR journeys and eight legal existing-profile paths. Native34/36-action public Advanced sources earn original setup/counters/Karama. Existing standard controls render; no new component-callback, browser/deployed or full-mode certificate. No saved-room/D1/restart/deployment operation.
This commit is contained in:
Quintine committed 2026-10-24 19:44:12 +11:00
1 parent 1a505525a8
commit 3aca64412f
15 files changed
+874 -34

No files matched your search

+89
View File
@@ -0,0 +1,89 @@
# Mandatory advisor conversion after ground movement
## Source and provisional duration — 24 October 2026
Status: **Prototyped / Partial**. Supplied authorized Advanced physical28 E says
advisors alone in a territory automatically become fighters. Physical17’s Karama
table permits preventing one group’s flip to or from advisors. Applying the two
connects a real counter to that mandatory conversion; automatic does not itself
confer immunity. Physical16 permits Karama only after setup/At Start, so setup
conversions remain automatic without this response.
This slice connects ground-movement producers: an advisor group entering an
empty destination and the last outsider departing its territory. The physical
move, counters, normal movement opportunity and any completed movement promise
are already committed. The ordinary advisorFlip response then permits or
prevents the conversion. Prevention cannot undo movement or spend another move.
The 14 October choose-recommended authority selects a **provisional duration**:
the prevented group remains advisors while continuously alone in that territory,
across phase and turn changes. Another faction’s presence or the physical group
becoming empty closes that occurrence. A group moving elsewhere gets its new
destination’s ordinary stance and a new conversion opportunity when applicable.
This duration is not a directly retrieved publisher ruling. Repeated normalization
cannot simply erase the canceled result or offer an immediate free retry.
## Connected behavior
- [Pure rule](../game/advisor-automatic-flip.ts) identifies current public groups,
binds a current turn/phase/mover/movement count and exact physical group, and
settles a held stance without reading cards, leaders or spice.
- [Engine](../game/engine.ts) marks each occurrence after physical ground
movement, queues its original source and opens the existing native response.
Allowance deletes the advisor stance; cancellation retains the occurrence
hold. The source is revalidated before card disposal and outcome settlement.
Multiple groups retain ordered independent responses.
- [Advisor normalization](../game/advisors.ts) and the shared
[board resolution quote](../game/board-resolution-quote.ts) retain held
advisors. Such forces still do not fight, collect, grant stronghold income,
count for victory or supply ornithopters. Ordinary arrival matching retains an
existing held group’s stance instead of silently converting it when joined.
- [Karama source selection](../game/karama-context.ts) binds the actual pending
occurrence rather than unrelated game state. The normal
[table response](../components/game-table.tsx) explains that the move is complete
and displays the provisional duration. There is no new confirmation or timer.
Existing minimal bot response handling remains, without strategy changes.
No start gate, physical inventory, save, schema or room is reset. Setup and
legacy unheld non-ground conversions keep their existing behavior. Remaining
mandatory producers include shipments, withdrawals, casualties/aftermath and
other special arrivals; matching an existing fighter group and broader
interleavings also remain unfinished. This checkpoint does not claim complete
advisor-conversion cancellation or full Advanced compliance.
## Bounded verification
The [native fixture](../tests/fixture-advisor-automatic-flip.ts) starts genuine
public Advanced Bene Gesserit/Atreides/Guild. The native advisorSetup action puts
one advisor beside Atreides’ original ten Arrakeen forces. Only unopened original
Treachery/Spice order and scalar shuffle order are selected. Atreides receives
the original Karama, both Spice draws and ordinary first-round controls execute,
the original optional preparation is declined and Guild uses its timing choice.
The arrival branch stops at BG’s turn; the departure branch really skips that
turn and stops at Atreides’. No played army, phase, wallet, stance, card hand,
response or prevention receipt is installed.
[Native engine cases](../tests/advisor-automatic-flip-engine.test.ts) cover both
allowed/canceled moves, continuous hold through actual phase continuation,
an actual outsider return, changed-source rejection and existing profiles.
[Pure cases](../tests/advisor-automatic-flip-quote.test.ts) cover group selection,
settlement and exact source validation. The former empty-arrival expectation in
[advisor regressions](../tests/advisors.test.ts) is cut over explicitly.
Frozen **16 files199/199**, types/lint and production build pass. Five native
move/response/GameTable SSR journeys cover allowed/canceled arrival/departure and
an actual outsider return. Eight existing-profile paths accept legal standard
responses and continue. The original arrival source takes34 actions; departure
takes36, including the real skipped BG movement. Existing Karama/Allow controls
render, without a new component-callback or browser certificate. One redundant
import is repaired after the first passing199-case union; the final frozen
source then passes every check.
Private reports, rendered HTML and hashes:
`/home/quintine/.local/share/dune/checkpoints/20261024-advisor-automatic-flips/`.
`frozen-integrated-2/report.json` records source fingerprint
`385c4758cd118574be8431593267a3198dd570eea6960c02e45a462e23494c4c`
on base `1a505525a8aa1499bc6270da2241506baf3e5be2`. Prose/reference evidence is
reviewed and hashed separately after verification.
Comprehensive rules, combinations, saved-game/recovery/privacy/custody assurance,
browser/mobile/deployed acceptance and full AI refinement remain open.
+26
View File
@@ -16,6 +16,32 @@ open mode gates.
## Current checkpoint and work
**Mandatory advisor conversion after ground movement — 24 October. Prototyped / Partial.**
A native advisor group moving into an empty destination, or left alone by the
last outsider’s ground departure, now opens Karama prevention after the physical
movement and before fighter benefits. Allow converts once. Cancellation preserves
the move and holds the advisor stance while continuously alone; another faction’s
actual return clears the hold. That duration is explicitly provisional. Setup
stays automatic; non-ground mandatory producers and matching-group conversions
remain open scope.
[Source, implementation and limits](ADVISOR_AUTOMATIC_FLIPS.md).
Disjoint pure-helper/native-fixture lanes, bounded source review and root
integration pass **16 files199/199**, types/lint/build, five native move/response/
GameTable SSR journeys and eight legal existing-profile paths. Genuine34/36-action
public Advanced setup, original advisor placement, actual first-round controls,
preparation decline and Guild timing retain Atreides’ original Karama; no played
army, phase, hand, wallet or hold is staged. Feedback removes one redundant import;
all frozen source checks then pass. Standard existing Karama/Allow controls are
rendered, without a new component-callback or browser certificate. No AI
refinement, full-mode, comprehensive or deployed assurance, and no saved-room/D1/
reset/restart/deployment operation.
Next native rule slice: connect the same mandatory-conversion protocol to
non-ground last-outsider removal/return producers before their later collection
or victory effects. Keep setup and completed movement independent; do not treat
this ground slice as complete automatic-flip cancellation.
**Tleilaxu proactive Revival prevention — 24 October. Prototyped / Partial.**
The native Advanced special Karama now selects any one player at a quiet Revival
boundary, including self, ally, ready and prior-return targets. The original
+45
View File
@@ -1,5 +1,50 @@
# Dune implementation status
## 24 October 2026 — Mandatory advisor ground-conversion counter
Connect supplied physical17’s token-group flip counter with physical28 E’s
alone-advisor obligation. Actual ground movement commits first, then opens the
existing advisorFlip response for empty advisor arrivals or the last outsider’s
departure. Exact turn/phase/mover/movement-count/whole-group sources and ordered
pending occurrences revalidate before disposal or outcome. Allow converts once;
preventing the flip retains the physical move and advisor stance. No card or
movement opportunity is replayed. Setup conversions remain automatic.
The 14 October selected duration is provisional: retain the hold while that
territory’s group is continuously alone, including across phases/turns; foreign
presence or physical emptiness ends it. Both normalization and readonly board
resolution honor the same stance, so prevented forces gain no fighter, income,
collection or victory benefits. Joining held advisors retains their stance.
Native ground-movement scope does not implement every other mandatory producer,
matching-group conversion or wider special arrival. Existing minimal AI response
policy is reused, without strategy refinement.
Frozen **16 files199/199**, types/lint/build, five native move/response/GameTable
SSR journeys and eight existing-profile paths pass. Genuine34-action arrival and
36-action departure sources use public Advanced BG/Atreides/Guild setup, original
advisorSetup at Arrakeen, unopened original deals, actual Storm/Spice/Charity/
Bidding/Revival, preparation decline and Guild timing. Departure actually skips
BG’s turn before the original ten Atreides move. No played army, phase, hand,
wallet, stance, response or hold is installed. Four allowance/cancellation
journeys continue to Battle/Collection; a fifth actual outsider return ends the
hold without changing advisor stance.
One narrow native arrival case passes. The first frozen union passes199/199 and
types; lint catches the import made redundant by shared settlement. Remove it,
then rerun the coherent frozen checks: all pass, including runtime without
source changes or private driver repairs. Standard existing Karama/Allow
controls render; this is SSR/engine proof, not new component-callback,
browser/mobile or deployed evidence.
[Contract and remaining producers](ADVISOR_AUTOMATIC_FLIPS.md). Private evidence:
`/home/quintine/.local/share/dune/checkpoints/20261024-advisor-automatic-flips/`.
Frozen source fingerprint:
`385c4758cd118574be8431593267a3198dd570eea6960c02e45a462e23494c4c`
(2,733 nonignored files), based on `1a505525a8aa1499bc6270da2241506baf3e5be2`.
Final prose/reference overlay is separately reviewed and hashed. Complete
Advanced/modes, remaining producers, combinations and comprehensive assurance
stay open. No saved-room/D1/reset/restart/deployment operation.
## 24 October 2026 — Tleilaxu proactive Revival prevention
Implement supplied physical38 H’s any-player Revival window through a focused
+17
View File
@@ -1,5 +1,22 @@
# Rule decision index
## Mandatory advisor conversion after ground movement — 24 October 2026
Compose supplied Advanced physical17’s token-group flip counter with physical28 E’s
mandatory conversion when alone. A committed advisor move into an empty territory,
or the last outsider’s ground departure, now opens the original advisorFlip
Karama response before the group gains fighter benefits. Allowance converts once;
cancellation preserves the completed movement and leaves the group as advisors.
Setup stays automatic under physical16’s post-setup Karama timing.
The 14 October recommended policy provisionally retains that cancellation while
the territory’s advisor group is continuously alone, across phase/turn changes.
Foreign presence or physical emptiness ends the held occurrence; it is not an
immediate retry opportunity for the canceled flip. This duration is not a direct
publisher ruling. The shared settlement/board quote honors the hold. Other
mandatory producers and matching-group conversions remain open scope.
[Source, connected movement and limits](ADVISOR_AUTOMATIC_FLIPS.md).
## Tleilaxu proactive Revival prevention — 24 October 2026
Supplied Advanced physical38 H permits selecting any one player during Revival,