Prototype Leader Skills setup, battle disciplines and capture
Connect all fourteen physical skills and private setup to five card-role battle modifiers, public posture, Harkonnen skilled capture, death return and optional own-leader revival through controls, legal AI and persisted room actions. Nine skill effects and combined-mode/publication acceptance remain unfinished. Captured replacement entitlement and foreign ghola integration stay guarded. Fresh publisher/designer research supports skilled-capture publicity through its unique known physical card; this is recorded as a component inference. Independent review found and fixed Voice/must-use-leader and invalid saved assignment/offer cases. A pre-existing Discovery privacy assertion confused card ID prefixes; the corrected deterministic physical-pair scenario was independently reviewed. The first broad run was 4410/4411; corrected final verification passes types/lint, all 4411 offline tests, build and 43 HTTP tests. Final durations: check 149741ms, build 6659ms, integration 28274ms. Source fingerprint: aef655ac1ebc0eb2f64294e13d3d27337167312cf8ab17568a166ee9c39f6a85. Private final report: 20260913-leader-skills/checks-final/report.json. Three seeded prototype games completed with no rejected bot candidates. Browser setup/card inspection/refresh passed. Another user-reported power outage stopped the server; backup and necessary restart restored the same private seat. All 292 games at restart and their original application records remain unchanged; 33 isolated HTTP-test rooms bring the current total to 325. No database reset. Efficiency: one shared setup/lifecycle implementation supports five connected role effects; selective existing agents handled catalog/UI/tests/research and independent reviews. One repeated broad check was required by the reproduced ID-prefix assertion failure. Aggregate goal counter rose from 65529766 to 67313673 through this checkpoint (1783907), including inherited context and coordination; this is not a billing or savings estimate. Full goal remains active.
This commit is contained in:
1 parent
369371671f
commit
6e6fecc9d4
28 files changed
+4196
-38
No files matched your search
@@ -0,0 +1,121 @@
|
||||
# Leader Skills first functional prototype
|
||||
|
||||
13 September 2026. This is **Prototyped**, with **Partial** rules coverage.
|
||||
Normal mode starts and publication remain gated. The [source contract](LEADER_SKILLS_RULES.md)
|
||||
contains all fourteen physical cards; the [capture interpretation](LEADER_SKILLS_CAPTURE.md)
|
||||
records the fresh publisher/designer search requested by the user.
|
||||
|
||||
## Connected boundary
|
||||
|
||||
Genuine Basic or Advanced setup supports two through six base factions. Starting
|
||||
Treachery Cards, including Harkonnen's extra card, precede simultaneous private
|
||||
two-card skill offers. Every faction selects one physical skill and an eligible
|
||||
own leader, returns the other card to the shuffled deck, and publicly assigns
|
||||
the selected card before traitor choices. No reduced or duplicate skill deck is
|
||||
substituted. Expansion rosters and other optional modules remain separate work.
|
||||
|
||||
Human controls show each permitted card's normal and battle text, select its
|
||||
leader, choose battle posture, and handle an optional own-leader revival draw.
|
||||
An undrawn revival offer shows no preview; drawing obliges a selection. All four
|
||||
AI profiles follow the same private offers and legal actions, prioritizing the
|
||||
five connected disciplines and hiding the assigned leader for battle. This
|
||||
simple policy is not calibrated skill strategy.
|
||||
|
||||
Warmaster, Master of Assassins, Swordmaster of Ginaz, Killer Medic and
|
||||
Prana-Bindu Adept apply +1 to another selected leader from a face-up native
|
||||
trainer, or +3 to the surviving assigned leader. They use the physical card's
|
||||
actual weapon or defense role, including a legally supplied Portable Snooper.
|
||||
They do not grant +4 or change printed strength, leader bounty or Zoal's source
|
||||
value. Existing traitor, explosion and Stone Burner precedence is preserved.
|
||||
Cheap Hero receives the normal +1 through ordinary leader substitution; this
|
||||
is a general-rule inference, without a separately located explicit skill FAQ.
|
||||
|
||||
A face-up assigned disc cannot enter a plan. Concealing it while selecting
|
||||
another leader gives no skill bonus. Later Voice or card use can remove the
|
||||
last alternative: the mandatory remaining skilled disc then moves behind the
|
||||
shield automatically, without replaying battle powers. A surviving assignment
|
||||
returns face up after battle. Death returns its physical card exactly once.
|
||||
An own Ghola revival during unfinished battle preparation retains that stage
|
||||
through the new private draw and public posture choice.
|
||||
|
||||
Harkonnen capture keeps the card attached to its original leader and publicly
|
||||
shows the current captor. Only the captive's lower battle effect can apply;
|
||||
neither faction receives its normal effect while captured. A surviving used
|
||||
captive returns with the same card. Execution returns the card to the deck;
|
||||
that unique formerly public card makes this skilled leader's identity inferable.
|
||||
Other captures retain the existing privacy behavior. This narrow publicity
|
||||
interpretation follows the physical component procedure, not an express
|
||||
publisher instruction to announce a name.
|
||||
|
||||
## Missing and guarded work
|
||||
|
||||
The other nine cards have readable inventory entries but **missing effects**:
|
||||
Bureaucrat, Spice Banker, Diplomat, Mentat, Suk Graduate, Rihani Decipherer,
|
||||
Sandmaster, Smuggler and Planetologist. They are not completed features.
|
||||
|
||||
Captured-card replacement entitlement remains unresolved. The prototype rejects
|
||||
own-leader revival while its original skill is captured, before beginning a
|
||||
paid revival or consuming the Ghola/special-Karama action. This is an explicit
|
||||
unsupported boundary, not a ruling that the physical game forbids that revival.
|
||||
Foreign gholas, expansion rosters and combined optional modules remain gated.
|
||||
Before enabling them, add response-driven automatic revival continuation
|
||||
coverage; the current before/after revival observer does not certify deferred
|
||||
Tleilaxu response chains. The other source-contract timing questions also remain
|
||||
open. Skill-specific movement, payments, information, rescues and retreats need
|
||||
their own connected controls and saved choices.
|
||||
|
||||
## Local prototype entry and evidence
|
||||
|
||||
Create a new base-faction local lobby, select its seats and mark them ready.
|
||||
Keep its browser cookie. Use the existing backup and atomic version-check tool:
|
||||
|
||||
```sh
|
||||
node --import tsx tools/start-prototype.ts --profile leader-skills \
|
||||
--db PATH_TO_LOCAL_D1_SQLITE --room EIGHT_CHARACTER_CODE \
|
||||
--version CURRENT_LOBBY_VERSION --out /private/new-prototype-checkpoint
|
||||
```
|
||||
|
||||
Only that fresh named lobby is initialized; every other room and all seats stay
|
||||
intact. Refresh to continue through ordinary authenticated actions. No HTTP
|
||||
endpoint dispatches the initializer; do not restart or reset the database.
|
||||
|
||||
Focused tests cover physical inventory, setup ordering, private views, all five
|
||||
bonuses, Voice legality, capture and return, death, revival and JSON restoration.
|
||||
SQLite tests use production room actions across restarted stores and concurrent
|
||||
selection: one choice commits, the selected card has one owner, the rejected
|
||||
card returns once, and private offers remain owner-only. The local prototype
|
||||
writer is separately checked for stale/redeal rejection and preserved seats.
|
||||
|
||||
Two seeded four-player simulations (20260913 Basic; 20260914 Advanced) completed
|
||||
through genuine setup in 265 and 211 accepted actions with no rejected bot
|
||||
candidates. They used Easy, Medium, Hard and Brutal, checked physical skills and
|
||||
forces, and restored JSON views at fourteen sampled boundaries in total.
|
||||
These were first-batch runs before the later capture and Voice review fixes;
|
||||
their private report fingerprints the exact files exercised. They do not prove
|
||||
all fourteen effects, Harkonnen capture or every interaction was played.
|
||||
|
||||
A later Advanced run including Harkonnen (seed 20260915) completed in 360
|
||||
accepted actions, four turns and ten sampled JSON restores, with no rejected
|
||||
bot candidates. It exercised the current controller/Voice integration. Exact
|
||||
captured-card outcomes are proved by the focused capture scenarios, rather
|
||||
than inferred from this sample game's completion.
|
||||
|
||||
Browser room `REF6YHN7` was created normally with a human Atreides and Medium
|
||||
Harkonnen, then initialized through the backed-up local tool. The human inspected
|
||||
both effect bands, assigned Master of Assassins to Thufir Hawat, selected a
|
||||
private traitor and reached Storm. Refresh retained that assignment, the AI's
|
||||
Swordmaster on Feyd-Rautha, the same Snooper hand and the pending Storm dial.
|
||||
Visual inspection caught two squeezed columns in the table sidebar; single-column
|
||||
cards restore readable text. This was a focused desktop setup/recovery journey,
|
||||
not a complete human game or mobile acceptance.
|
||||
|
||||
The second reported power outage stopped the development server. All 292 rooms
|
||||
were present with a clean SQLite integrity/foreign-key check; the 291 opening
|
||||
rooms matched their hashes. A new online backup preceded the necessary server
|
||||
start. The same browser seat then restored both skills, Snooper, private Thufir
|
||||
traitor, ten spice and its pending Storm decision. No database reset or old
|
||||
game restoration was performed.
|
||||
|
||||
Checkpoint-wide check/build/HTTP results and the final source fingerprint are
|
||||
recorded in the commit and private verification report. Full module and combined
|
||||
game acceptance remain unfinished.
|
||||
Reference in new issue
Block a user