Enable Basic Nexus Kull and native reactions
Verify and publish checkpoint container / container (push) Successful in 11m12s

This commit is contained in:
Quintine committed 2026-10-30 18:26:05 +11:00
1 parent 5b66628399
commit 95ebd7f976
15 files changed
+388 -21

No files matched your search

+5 -3
View File
@@ -45,8 +45,8 @@ void test('fresh admission accepts exactly native classic CHOAM, physical CHOAM/
assert.equal(initialized.nexusKullPreview, true);
assert.ok(initialized.deck.some(card => card.id === 'ix-kull-wahad'));
assert.deepEqual(initialized.spiceDeck.map(card => JSON.stringify(card)).sort(),
spiceDeck().map(card => JSON.stringify(card)).sort());
assert.equal(initialized.spiceDeck.some(card => 'sandtrout' in card), false);
spiceDeck(true).map(card => JSON.stringify(card)).sort());
assert.equal(initialized.spiceDeck.filter(card => 'sandtrout' in card).length, 1);
for (const corrupt of [
(g: Game) => { g.expansions = ['choam']; },
(g: Game) => { g.nexusCards = undefined; },
@@ -312,7 +312,9 @@ void test('independent canonical descriptors and unique live custody govern fuel
]) {
const offer = reload(f.game); change(offer);
const card = offer.players[0].hand[0].id;
assert.equal(viewGame(offer, f.choam).kullReaction!.plays.some(play => play.card.id === card), false);
// The now-enabled native Ixian replacement profile rejects the corrupt
// physical inventory before any Kull view is projected.
assert.throws(() => viewGame(offer, f.choam));
reject(offer, f.choam, { type: 'kullDecision', event: f.event, source: 'nexus', card });
const declared = applyAction(f.game, f.choam, { type: 'kullDecision', event: f.event, source: 'nexus', card: f.fuel });
const corrupt = reload(declared); change(corrupt);