Connect BG Nexus fresh and storm advisor conversion
This commit is contained in:
1 parent
82f1aae51b
commit
985cf85e12
21 files changed
+936
-316
No files matched your search
@@ -1,12 +1,12 @@
|
||||
# Bene Gesserit Nexus advisor conversion
|
||||
|
||||
10 September 2026. This checkpoint implements the native **Cunning** stance conversion described in [NEXUS_BENE_GESSERIT_RULES.md](NEXUS_BENE_GESSERIT_RULES.md). It extends the [Nexus lifecycle](NEXUS_CARD_RUNTIME.md); it does not implement borrowed Voice or Betrayal, settle the outstanding source questions, or open incomplete mode and expansion starts.
|
||||
Original10 September2026 checkpoint with dated follow-ups below. Native **Cunning** stance conversion uses [the source contract](NEXUS_BENE_GESSERIT_RULES.md) and [Nexus lifecycle](NEXUS_CARD_RUNTIME.md). Borrowed Voice and native Betrayal have separate later bounded paths; none opens incomplete modes or expansion starts.
|
||||
|
||||
## Selection and physical result
|
||||
|
||||
During its own active Shipment and Movement action in Advanced play, an unallied Bene Gesserit holder can select a nonempty set of eligible advisor territories. Every advisor in each selected territory becomes a fighter together, across all sectors. Positions, physical counts, spice, shipment usage and movement usage stay unchanged. The choice cannot target individual counters or leave mixed stances within a territory.
|
||||
|
||||
The private server quote supplies each territory's total count and blocked reason. The controls begin with no selection, offer individual checkboxes and **Select all available**, and require one explicit submission. A blocked group cannot be included through the shared options helper. Fresh accompanied advisors and storm-related conversions retain explicit pending-ruling explanations; these guards are not presented as independently verified printed prohibitions. Stronghold capacity, allied presence, public No-Field presence and existing territorial restrictions remain in force. Homeworlds are not advisor territories.
|
||||
The private server quote supplies each territory's count and authoritative capacity/alliance reason. Controls begin empty, offer individual checkboxes and **Select all available**, and require one submission. Under the explicit recommended card-exception prototype below, fresh accompanied and storm-related groups may convert in place. Ordinary flip, movement, casualties and battle rules remain; Homeworlds are not advisor territories.
|
||||
|
||||
## One cancellation window
|
||||
|
||||
@@ -16,7 +16,7 @@ The event-bound record retains original groups, turn, owner, the active Shipment
|
||||
|
||||
Other responses, owned decisions, Truthtrance, phase opening, closing Nexus draws and unfinished card transactions must finish before declaration. The table names the response and shows the declared territory names, with standard **Allow this power** and **Cancel with Karama** controls. The internal event is not printed as a player instruction.
|
||||
|
||||
## Bots, privacy and evidence
|
||||
## Bots, privacy and original checkpoint evidence
|
||||
|
||||
All four profiles use the same authorized choices. The policy selects legal groups whose advisor count exceeds the total public opposing fighter presence, preserving peaceful or apparently unfavorable groups. It does not read opposing hands, spice, traitors or concealed No-Field values. Hard and Brutal opponents use their existing Karama policy against a declared conversion threatening their fighters; Easy and Medium retain the ordinary pass policy. This is bounded legal-policy integration, not new strategy calibration.
|
||||
|
||||
@@ -24,7 +24,7 @@ The focused consumer suites contain **eight** cases, including actual all-profil
|
||||
|
||||
Implementation: [source quote](../game/nexus-advisors.ts), [shared options](../game/nexus-advisor-options.ts), [controls](../components/nexus-advisors.tsx), [engine](../game/engine.ts), [bots](../game/bots.ts). Consumer evidence: [controls](../tests/nexus-advisor-controls.test.ts), [bot actions](../tests/nexus-advisor-bots.test.ts). Structural server rendering does not substitute for browser acceptance.
|
||||
|
||||
Fresh-advisor and storm permissions remain pending the existing user question. Borrowed Voice remains gated on its separate cancellation/timing interpretation, and Betrayal retains the existing private reaction-policy gate. Complete Bene Gesserit Nexus effects, complete module games and full expansion compliance remain unfinished.
|
||||
The dated source/interpretation boundaries remain explicit. Fresh/storm card conversion and borrowed Voice now have recommended prototypes, not publisher answers; native Betrayal has its own uniform reaction. Complete BG Nexus effects, module games, full expansion and release acceptance remain unfinished.
|
||||
|
||||
## Integrated acceptance
|
||||
|
||||
@@ -35,3 +35,50 @@ Two isolated three-seat browser rooms exercised the controls with actual server
|
||||
The final database comparison preserved all **3,389** opening room versions and state hashes. The database now contains **3,421** rooms, adding only two named browser rooms and thirty isolated HTTP-test rooms. The running development server was reused; the previous controlled restart was about 00:45 UTC, so no hourly restart was due for this checkpoint. Saved games and the removed-automation preference remain preserved.
|
||||
|
||||
The native conversion has focused acceptance only. Full module games, placed Terror/Ambassador token combinations and the unresolved printed-rule interactions retain their separate completion requirements. The [Emperor source audit](NEXUS_EMPEROR_RULES.md) prepares the next effect family without claiming runtime support.
|
||||
|
||||
## Fresh and storm card-exception prototype — 14 October 2026
|
||||
|
||||
The [recommended source interpretation](NEXUS_BENE_GESSERIT_RULES.md#recommended-cunning-card-exceptions--14-october-2026)
|
||||
removes only Cunning's earlier uncertainty gates. The now-dead storm-only
|
||||
helper/imports are removed; counts use public presence without allocating
|
||||
a receipt for each quote. Actual declarations retain exact original locations,
|
||||
counts and locked stance. One original response still cancels the whole set.
|
||||
No ordinary flip, arrival, movement, battle or casualty handler is changed.
|
||||
|
||||
Two disjoint native proof slices retain real setups, alliances and closing
|
||||
card draws. Fresh Guild shipment plus free BG accompaniment/paid reinforcement
|
||||
creates Shield Wall2 with lockedTurn2 on the actual BG turn. A real starting
|
||||
Karama cancels selected old+new groups together. The same ordinary fighter
|
||||
arrival rejected before Cunning works after allowed conversion.
|
||||
|
||||
Older native advisors survive the real Advanced storm-card producer, not
|
||||
fabricated dials/phase/board state. Arrakeen2 is sheltered under storm10;
|
||||
False Wall East5/9 rock groups remain separated by storm7. Native ordinary
|
||||
flip and cross-storm movement stay blocked; original battle geometry remains
|
||||
disconnected after the advisors become fighters. The fixture's setup-only
|
||||
wrong Storm action was repaired by respecting playing status; native rules
|
||||
and the Advanced card producer are unchanged.
|
||||
|
||||
Unresolved-guard, wording, action-copy and incidental phase/null tests were
|
||||
deleted, not re-pinned. Existing actual rejection/custody tests remain; genuine
|
||||
cases cover both interpretations, original batch cancellation, retry/actor/
|
||||
event rejection, all four legal policies and native turn continuation.
|
||||
The related10-file union65/65 passes.
|
||||
|
||||
Actual390px GameTable proofs: fresh selection→native allowance→one fighter
|
||||
Shield Wall9→Imperial Basin9→Battle handover; storm-bound allowance keeps
|
||||
Arrakeen2 in place; separated whole-batch Karama leaves both sectors advisors
|
||||
and the Nexus spent. A real preexisting move-control defect was found: the
|
||||
button offered Arrakeen10→Polar Sink during storm10, while authoritative
|
||||
movement correctly rejected unchanged. Controls now share geometric route
|
||||
distance/native range, including selected-origin elites and owned marker
|
||||
routes; the blocked origin and cross-storm detour are disabled with an
|
||||
accessible reason. No special Cunning or faction bypass is added.
|
||||
Final compiler/lint/build pass. The native API observes fresh distance1/
|
||||
range1, bound origin unreachable/range3 and separated distance2/range1;
|
||||
ordinary geometry does not gain a storm battle. Owned QA service/scaffold
|
||||
is removed and tabs are released/auto-closed. Receipts remain outside Git.
|
||||
Three surfaces retain width/document390 and no browser errors. Wider
|
||||
module/marker paths, saved assurance, calibrated AI and deployed acceptance
|
||||
remain due.
|
||||
|
||||
Reference in new issue
Block a user