Connect Moritani Nexus losing-card retention

This commit is contained in:
Quintine committed 2026-09-28 11:13:39 +10:00
1 parent cb98ead411
commit 886a8f4478
16 files changed
+551 -51

No files matched your search

+6
View File
@@ -1,5 +1,11 @@
# Dune implementation status
## 27 September 2026 — Bounded Moritani Nexus losing-card retention
The [Secret Ally prototype](NEXUS_MORITANI_RULES.md#secret-ally-losing-card-retention-prototype) now opens the same after-loss choice for every Nexus loser when Moritani is absent and at least one publicly played card can be retained. Only an unallied holder may spend the physical Moritani Nexus card to keep one eligible played card; nonholders continue without disclosing custody. Mandatory discards and the other played cards follow ordinary saved battle cleanup. Native allied retention and its Karama response remain separate. Real Basic/Advanced battles, all four legal AI profiles, CHOAM winner inspection ordering, JSON restoration, rejected-action immutability and concurrent in-memory SQLite commits passed seven focused cases. An independent review found a Homeworld location-label crash; the corrected panel renders the server's public combat location name. Local browser views displayed the Arrakis decision, retained private hand and corrected Homeworld decision through read-only intercepted room responses; no room was mutated.
The complete offline suite passed 5,565 tests across 698 files, the app build and scoped lint passed, and a full project TypeScript check excluding only the unrelated in-progress Nexus/Fremen draft passed. `npm run check` still stops at that draft's missing `Player.fremenNexusMovementBlockedTurn`; this checkpoint is not yet deployed. The uniform loser prompt is a privacy-preserving product inference, not publisher timing text, and complete Nexus/module acceptance remains gated.
## 27 September 2026 — Bounded CHOAM Nexus after-victory inspection
The [Secret Ally prototype](NEXUS_CHOAM_SECRET_ALLY.md#after-victory-inspection-audit) now preserves the losing combatant's physically used-card IDs and offers every Nexus winner the same post-cleanup decision when CHOAM is absent, without revealing who holds its card. An eligible unallied holder may spend the physical CHOAM Nexus card to sample exactly one unused opposing hand card; only that seat receives the card snapshot, while the public log omits its face. Basic/Advanced real battles, all four AI profiles, signed receipt recovery, paid Nullentropy interruption, subsequent battle/turn expiry, rejected-action immutability and concurrent in-memory SQLite commits passed focused cases. A local browser with a read-only intercepted room view displayed the live table decision and private inspector; no saved room was changed. This is a product privacy interpretation, not a publisher ruling or complete Nexus certification.