Implement Advanced Ecaz Loyalty with public card inspection

Before genuine Advanced Ecaz Traitor dealing, randomly set aside one of the five
native Ecaz cards face up for the game. Store its owner and exact identity once;
exclude it from the initial deck, Tleilaxu Face Dancer setup and Nexus replacement
universes. Do not change leader custody or add choices, payment or Karama windows.
Absent markers preserve older already-dealt saves without taking held cards away.
Validate owner, timing and distinct physical custody before actions, normalization
and projection. Expose a detached public card identity, never private deck order.

Show the named card, portrait and enlarged Traitor inspection above the table.
A dedicated Loyalty context explains public set-aside custody and cannot-call
rules; browser review caught and fixed the generic held-Traitor guidance.
Add internal help, checklist, shared Advanced faction text and source documentation.
The official page8 requirement and page16 noKarama entry support the effect;
relative pre-Traitor prediction/skill sequencing is an explicit composition.
Gated Skills/Ecaz and Moritani assassination/Ecaz are not certified.

Twelve new cases plus related regressions cover candidate selection, immutable
invalid-state rejection,2..6 genuine deals, Basic/noEcaz, completed Tleilaxu setup,
Harkonnen/Tleilaxu Nexus draws, full physical census, detached public views, all4
legal AI setups, JSON continuation, legacy custody and public rendering.
Independent review found no material issue after genuine setup/legacy test fixes
and the focused inspector correction.50 related focused cases pass. A mistyped
filename filter failed closed before the corrected union ran successfully.
Types, lint, all 5012 offline tests, production build and 49 HTTP tests
pass on stable source. Earlier type/lint findings were corrected before this run.

Six genuine faction-game samples finish with no rejected actions and repeated
JSON restoration: CHOAM Basic1054/Advanced225 actions, Ecaz Basic91/Advanced245,
combined Basic476/Advanced704. Existing physical Treachery/force custody checks
pass; focused Loyalty tests cover expansion Traitor census. These bounded legal
samples are not strength calibration or complete expansion acceptance.

Browser QA created a fresh Ecaz/Easy Harkonnen ready lobby and initialized its
Advanced setup before dealing using backup and CAS. Bindikk Narvi was public
before choices and remained excluded through actual human Traitor/force setup,
Storm and refresh. The saved human Traitor is Beast Rabban; a pointer action just
after viewport reset differed from its intended Feyd target, so exact-target
pointer acceptance across viewport changes is not claimed. Ordinary source
bindings remain name/ID-specific. One hand card,12spice,14reserves and the pending
Storm dial restore; both public projections agree and saved seat records match.
The Loyalty inspector shows correct card-specific guidance; Escape restores focus.
At390px its panel has no horizontal overflow,16px text and44/48px controls; the
expanded scroll body fits342px. Internal help opens its complete checklist topic.
Normal viewport restored. Screenshot capture timed out; full visual, long-inspector
keyboard and broader module acceptance remain open.

All 1539 pre-existing rooms, 3259 human seat records and
auxiliary rows remain unchanged. SQLite integrity and foreign keys pass.
Only isolated QA/HTTP fixtures add rooms. No server restart, database reset,
migration, recurring automation, AI strategy change or mode/publication gate change.

Private evidence: 20260921-gameplay-review.
Verified source tree: 881bf1912665350086d80be664d479a1b2724146da6ccc9576790c07e0449ee6
This commit is contained in:
Quintine committed 2026-09-21 12:43:37 +10:00
1 parent c2f24fc546
commit de26aaf029
18 files changed
+490 -32

No files matched your search

+18 -18
View File
@@ -6,29 +6,29 @@ gated.** Prototypes do not open completion or publication gates.
## Current checkpoint and work
Latest delivered checkpoint: `e3cfd82`, [private-hand browsing](HAND_BROWSING.md).
Types, lint, **4,996 offline tests** and production build passed. Search, category
filters, all sort orders, an auction acquisition under an active filter, keyboard
scrolling, internal help, tab reset and refresh passed browser checks. All 1,538
opening rooms, 3,258 seats and auxiliary rows stayed unchanged; the isolated QA
game brought the baseline to 1,539 rooms and 3,259 human seat records. Screenshot
capture timed out; full visual acceptance remains open. The healthy server was
reused. Prior checkpoints include `14a7800` for draw counts, `537da4a` for force
inspection and `2b071a4` for Nexus offers.
Latest delivered checkpoint: `c2f24fc`, [public faction sheets](FACTION_SHEETS.md).
Types, lint, **5,000 offline tests** and production build passed. Public table
inspection, all twelve gallery entries, Basic/Advanced preview, keyboard and
mobile layouts, internal help and refresh passed bounded browser checks. All
1,539 opening rooms, 3,259 human seats and auxiliary rows stayed unchanged.
Screenshot capture timed out; full visual acceptance remains open. The healthy
server was reused. Prior checkpoints include `e3cfd82` for hand browsing,
`14a7800` for draw counts and `537da4a` for force inspection.
Current work: [public faction sheets](FACTION_SHEETS.md) adds a table inspector
and twelve-faction internal gallery with Basic/Advanced preview. Shared guidance
fills Richese’s missing overview, centralizes Ecaz/Moritani and corrects stale
CHOAM/Ecaz summaries from existing contracts. Public ID and mode are the only
inspector inputs; no private state or game action is involved. Focused rendering
checks accompany independent review, browser verification and saved preservation.
Full printed-sheet text and all remaining rules still require completion.
Current work: [Ecaz Loyalty](ECAZ_LOYALTY.md) selects one native Traitor Card
before genuine Advanced dealing, keeps it publicly set aside through setup and
Nexus replacement draws, and adds enlarged inspection and internal guidance.
Focused custody, public-view, all-profile legal setup and JSON checks accompany
independent review, browser checks, final check/build/HTTP and saved preservation.
Legacy dealt games remain unchanged; combined Skills/assassination rosters and
complete faction acceptance remain gated.
The separate Bureaucrat/Emperor gift question is pending.
The `8f7a62c` policy checkpoint removed usage checks/cutoffs and deferred AI
refinement until feature completion, followed by three adjacent 75% targets.
A bounded remaining-effect audit found that the reviewed faction/Nexus candidates
still cross recorded pending rulings. Continue independent features rather than
cross recorded pending rulings, with the independent Loyalty setup omission now
being connected. Continue independent features rather than
inventing answers. The [platform audit](AUTOPILOT.md#platform-audit-20-september-2026)
found no supported Sites scheduler or Durable Object provisioning contract.
Durable unattended bot resumption remains blocked on that capability; current
@@ -89,7 +89,7 @@ These links define bounded working behavior, not complete module certification.
| Area | Current connected work and evidence |
| --- | --- |
| Base/Advanced setup | [Genuine setup](ADVANCED_SETUP_TEST_SEAM.md), [Advanced study](AI_ADVANCED_SETUP_CALIBRATION_20260907.md), [Fremen cancellation](FREMEN_MOVEMENT_KARAMA_RULES.md), [Atreides full-plan audit](ATREIDES_FULL_PLAN_TIMING.md). Earlier Basic-then-flip fixtures do not establish current setup coverage. |
| Expansion factions | [Ixians/Tleilaxu](IX_PROTOTYPE.md) and [all seven faction selections](EXPANSION_FACTIONS_PROTOTYPE.md): genuine setup, Ecaz six-force placement, separate optional card variants, private controls and saved per-lot Ixian/Richese decline. Actual special-lot exchange remains pending. |
| Expansion factions | [Ixians/Tleilaxu](IX_PROTOTYPE.md) and [all seven faction selections](EXPANSION_FACTIONS_PROTOTYPE.md): genuine setup, Ecaz six-force placement and [Advanced Loyalty](ECAZ_LOYALTY.md), separate optional card variants, private controls and saved per-lot Ixian/Richese decline. Actual special-lot exchange remains pending. |
| Leader Skills | [Common lifecycle](LEADER_SKILLS_RUNTIME.md), [known skilled capture](LEADER_SKILLS_CAPTURE.md), [Mentat question preview](MENTAT_QUESTION.md), [Bureaucrat payments](BUREAUCRAT_PAYMENTS.md), five battle disciplines, [Planetologist](PLANETOLOGIST_RULES.md), [Suk Graduate](SUK_GRADUATE_RULES.md), [Rihani and other battle effects](LEADER_BATTLE_EFFECTS.md), [Smuggler shipment](SMUGGLER_SHIPMENT.md), [No-Field](SMUGGLER_NO_FIELD.md) and [battle collection](SMUGGLER_BATTLE.md), [Sandmaster routes](SANDMASTER_MOVEMENT.md) and [worm rides](SANDMASTER_WORM.md), [Banker spending](SPICE_BANKER_RUNTIME.md), [Diplomat defense](DIPLOMAT_DEFENSE.md). Remaining bands and combinations are explicit in those contracts. |
| Discoveries | [Prototype](DISCOVERY_PROTOTYPE.md): genuine setup, Great Maker, seven cards/eight tokens, inspection and stash rewards, nested sites, signed later free entry, carried Ornithopter, sole Cistern, bounded Jacurutu income, Testing Station and Shrine. Orgiz and contested/mixed cases remain pending. |
| Nexus/Homeworlds | [Decision index](RULE_DECISIONS.md) links each integrated faction family, native/borrowed effects, physical custody, private choices, payments and transport. [CHOAM Collection trade](NEXUS_CHOAM_SECRET_ALLY.md) and [Emperor extra revival](NEXUS_EMPEROR_SECRET_ALLY_RUNTIME.md) are connected; CHOAM inspection and Emperor purchase remain pending. A source audit or helper alone is not a completed effect. |