Preserve Guild advisor arrivals and support matching Semuta costs

This commit is contained in:
Quintine committed 2026-10-26 05:23:31 +11:00
1 parent 81fbbca309
commit 617a6593a9
14 files changed
+1649 -14

No files matched your search

+42
View File
@@ -16,6 +16,48 @@ open mode gates.
## Current checkpoint and work
**Guild advisor arrival and Semuta matching costs — 26 October. Prototyped / Partial.**
Fresh Guild board transport now retains an advisor group's source stance when
joining a foreign group, including its Guild ally. Shared projected entry and
live declaration/commit use that source. New declarations carry an optional
source stamp; old recorded orders retain their original settlement/signature
format. Fighter cross-entry, direct reserve defaults and advisor locks retain
their distinct rules. This repairs an observed source omission, not a new ruling.
Existing `karamaAdvisorFlipDiscard` also admits Planetologist gathering, Guild/
Junction transport and Fremen Ambassador matching costs. Exact native parents
retain the gathered queue/approvals, unused transport opportunity or consumed
Ambassador trigger. Claim/pass applies denial once, then actual legal alternatives
remain available. Existing persistent controls/minimal bots serve these sources;
no mode gate changes.
Three disjoint source lanes and root integration pass **22 files,255/255**,
types/lint/build and **sixteen native engine/GameTable SSR/actual Semuta-callback
journeys** on unchanged source. Thirty-five new cases cover eight cost sources,
native Guild arrival/default/lock behavior, a labelled legacy-format supplement,
claim/pass, allowance, legal alternatives, source/stale rejection and four minimal
profiles. Gather158/162 earns real all14 Skill offers/Planetologist, E bribe1 and
BG's paid Basin2/OhGap1; allowing the first group moves nothing before the second.
Guild169 earns a real reciprocal Nexus pact; Junction164 earns lobby Homeworlds
and its live high-Guild offer. Both types really take a different paid1 route
after denial. Ambassador227 earns native Fremen supply, paid token/entrant,
BG/Ecaz pact and actual grant; the legal Polar alternate retains its used token
and all ordinary allowances. Every45-card source uses actual cache1 and dealt
Karama; no played physical state, skill, pact, clock or parent is installed.
Feedback removes an unused import and fixed per-seat reply/rate-window
assumptions. The rejected allied target then exposes the actual Guild source
omission, which is repaired with native regressions rather than avoiding it.
The observed native frame-format change justifies the affected Guild permission,
rate, Betrayal and Secret Ally checks; broad assurance remains deferred.
Private report/logs:
`/home/quintine/.local/share/dune/checkpoints/20261026-semuta-incoming-matching-proof-v3/`;
journeys/HTML: adjacent `20261026-semuta-incoming-matching-runtime/`.
Wider grant/module combinations, complete modes and final assurance remain open.
No saved-room/D1/server, reset/restart, deployment or recovery operation occurs;
DOM/hydration, browser/mobile and deployed acceptance remain due.
[Source and scope](SEMUTA_SOURCE_UPDATE_20260907.md#guild-advisor-arrival-and-matching-costs--26-october-2026).
**Semuta on Spiritual Advisor and relocation costs — 26 October. Prototyped / Partial.**
Existing terminal/advisor cost continuations now retain ordinary Spiritual
shipping, matching and committed-arrival parents, plus Ambassador/Discovery
+41
View File
@@ -1,5 +1,46 @@
# Dune implementation status
## 26 October 2026 — Guild advisor arrival and Semuta matching costs
**Prototyped / Partial.** Fix fresh Guild board transport dropping an advisor's
origin when quoting/validating a foreign arrival. Shared human/bot entry and live
declaration/commit now preserve its source stance, including arrival beside the
actual Guild ally. A conditional source stamp preserves old recorded declaration
settlement and signature bytes; direct reserve defaults, fighter restrictions
and fresh-advisor locks remain distinct. The native Betrayal frame admits the
new optional field under the same semantic validation. This follows the existing
board-source contract, without new rulings or mode gates.
Existing advisor cost continuation also retains actual gathered, Guild/Junction
and Fremen Ambassador matching declarations through Semuta claim/pass. Native
denial leaves the whole gather unused, preserves the original transport grant
or restores the consumed Ambassador's chooser. Real legal alternatives complete
their original payment/arrival once. Persistent controls/minimal bots are reused.
[Source and scope](SEMUTA_SOURCE_UPDATE_20260907.md#guild-advisor-arrival-and-matching-costs--26-october-2026).
Three disjoint source lanes and root integration pass **22 files,255/255**,
types/lint/build and **sixteen native engine/GameTable SSR/actual Semuta-callback
journeys** on unchanged source. Thirty-five new cases cover eight cost sources,
native Guild arrival/default/lock behavior, labelled legacy-format acceptance,
claim/pass, allowance, alternatives, source/stale rejection and four profiles.
Gather158/162 earns actual Planetologist/all14 Skills, E bribe1 and paid BG2+1;
Guild169/Junction164 earn a real pact or live World offer and preserve their
unused transport before actual paid1 replacements. Ambassador227 earns original
Fremen supply, token/entrant fees and mutual BG/Ecaz alliance, then its real
Polar alternate keeps token/ordinary allowances. Actual cache1 and dealt Karama
supply all45-card sources; no played force, stance, wallet, skill, pact, clock,
source or parent is installed.
Feedback removes an unused import and fixed reply/rate-window assertions. The
allied replacement's rejection exposes the actual source-stance defect; native
regressions prove its correction and the retained older receipt shape. Its frame
change justifies the related Guild boundary cases. Final frozen v3 report/logs:
`/home/quintine/.local/share/dune/checkpoints/20261026-semuta-incoming-matching-proof-v3/`;
scripts/journeys/HTML: adjacent `20261026-semuta-incoming-matching-runtime/`.
Broader modules, full modes and final rules/recovery/privacy/custody assurance
remain open; these results do not certify DOM/hydration, browser/mobile or
deployment. No saved-room/D1/server, reset/restart or recovery operation occurs.
## 26 October 2026 — Semuta on Spiritual Advisor and relocation costs
**Prototyped / Partial.** Existing terminal/advisor cost continuations now retain
+91
View File
@@ -2,6 +2,97 @@
7 September 2026. Read `docs/SEMUTA_DRUG_ENGINE_AUDIT.md` in full, inspected the physical card again, checked current capacity/recovery code, and freshly searched publisher sources. No project runtime edits.
## Guild advisor arrival and matching costs — 26 October 2026
**Prototyped / Partial.** Existing `karamaAdvisorFlipDiscard` now admits native
Planetologist gathering, Guild/Junction transport and Fremen Ambassador matching
costs. The [recorded matching contract](ADVISOR_MATCHING.md) remains authoritative:
one origin's prevention stops a whole uncommitted gather; transport prevention
retains its unused producer opportunity; Ambassador prevention retains its
already-consumed trigger and restores that benefit's chooser. This extends fresh
cost coverage without a new ruling, public start or mode/publication gate.
Private cost signatures conditionally bind the actual gather order/queue/index/
approvals, transport declaration/opportunity/denials or matching Ambassador/
token. Pure native validation checks the exact current selected packet. It
executes no payment, transfer, collection or arrival. Fresh claim/pass restores
the original response and applies its native denial once. The denied packet
stays blocked under its existing producer identity; real different routes or
packets remain available. Ambassador has no invented decline or trigger refund.
Earlier cost signature formats remain unchanged when these new sources are
absent. Existing persistent neutral controls/private choice and minimal profiles
serve the new sources.
The original advisor replacement test exposes a separate native defect: Guild
entry projection and live declaration/commit omit the board origin when deriving
arrival stance, treating an actual advisor as a fighter beside foreign forces.
The existing physical28/source-stance contract and shared occupancy rule already
permit advisor coexistence. The correction passes origin through the shared
entry quote and stamps fresh Advanced BG board declarations with optional
`advisorArrivalSource`. Commit revalidates that exact original source; permission/
rate adapters and conditional signatures retain it. Unstamped recorded orders
keep their original protocol and receipt bytes. The native Betrayal frame's
shape check admits this optional field under the same semantic validator.
No stored order is rewritten. Direct reserve defaults, fighter occupancy,
advisor locks and existing empty-arrival conversion keep their own rules.
Three disjoint [gather](../tests/semuta-advisor-gather-engine.test.ts),
[transport](../tests/semuta-advisor-transport-matching-engine.test.ts) and
[Ambassador](../tests/semuta-advisor-ambassador-matching-engine.test.ts) lanes plus
[native Guild regressions](../tests/guild-advisor-source-arrival-engine.test.ts)
and root integration pass **22 files,255/255**, types/lint/build and **sixteen
native engine/GameTable SSR/actual Semuta-callback journeys** on unchanged source.
Thirty-five new cases cover eight original cost sources, native arrival/default/
lock behavior, a labelled controlled legacy-format supplement, claim/pass,
allowance, genuine legal replacements, source/stale rejection and four minimal
profiles. The observed native frame change justifies the related Guild quote,
permission, rate, Betrayal and Secret Ally cases; it does not start a broad
save/privacy/custody campaign.
Gather158/162 uses original Advanced R/C/BG/A/E, exact CHOAM and all14 Skills from
the original undealt initializer. Real five-seat offers/assignments earn BG
Planetologist. E really bribes1; BG pays4 for Basin2 in turn1 and2 for OhGap1 in
turn2, retaining its original Arrakeen advisor beside A10. The two-origin gather
opens original first/second counters; actual first allowance changes no physical
state. Either denial preserves both groups and unused movement, then the real
same-type Basin1→OhGap replacement uses one normal movement.
Guild169/Junction164 uses original Advanced R/C/BG/A/G, exact CHOAM. BG's real
setup advisor and paid Basin2 provide both incoming-type directions. Guild earns
its actual next-turn Worm Nexus and reciprocal alliance. Junction instead earns
real lobby Homeworlds and high-Guild's current half-price offer. Costs stop before
permission/rate/payment. Either denied packet permits actual paid1 transfer to
empty Polar for fighters or Guild-occupied Tuek's for advisors. Only an actual
price difference opens a rate counter; city full1/half1 proceeds to original
income. The new source-stamp regression proves native quote/live allied advisor
arrival, while fighters still cannot cross into that ally. Direct reserve
shipping retains its original fighter default and temporary-visit contract.
Ambassador227 uses original six-seat R/C/Ecaz/BG/A/E, exact CHOAM+Ecaz. Actual
final-Traitor lottery earns Fremen supply, Ecaz pays1 for the Carthag token, BG
pays2 for Tuek's2, real Worm Nexus proposals earn the BG/Ecaz pact, and A pays1
to trigger that token. Ecaz really grants relocation to BG; both one-counter
opposite-type selections stop at matching. After denial the real fighter1→Polar
alternate keeps the used token and all ordinary allowances, then finishes its
original child once. Actual cache1 and originally dealt Karama supply every45-
card source. No played hand, force, stance, wallet, skill, pact, clock, receipt
or parent is installed. Controlled malformed/legacy copies are labelled
supplements, not genuine historical captures.
Feedback removes an unused import and assumptions about one manual pass per seat
or a mandatory rate window without a price difference. The actual allied-entry
failure then leads to the source fix rather than a different destination that
hides it. Final frozen v3 report binds2924 files to
`8ffd8a7292d297e9dae89dcf1dbda42aeb4aa01487cecf45ab83903d498adef0`.
Private report/logs:
`/home/quintine/.local/share/dune/checkpoints/20261026-semuta-incoming-matching-proof-v3/`;
scripts/journeys/HTML: adjacent `20261026-semuta-incoming-matching-runtime/`.
Wider grant/module combinations, complete modes and final rules/recovery/privacy/
custody assurance remain open. SSR/component callbacks do not certify DOM/
hydration, browser/mobile or deployed acceptance. No saved-room, D1, server,
reset/restart, deployment or recovery operation occurs.
## Spiritual Advisor and relocation costs — 26 October 2026
**Prototyped / Partial.** Existing `karamaTerminalDiscard` admits the original