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:
1 parent
1a505525a8
commit
3aca64412f
15 files changed
+874
-34
No files matched your search
@@ -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.
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in new issue
Block a user