Files
JokerComboAdvisor/AUDIT.md
T
funman300 4a86a3e1ff Give Perkeo its consumable wants; make theme fragility a decision
Perkeo duplicates a RANDOM held consumable (card.lua:2788), so Spectral
and Planet supply feed it exactly like Tarot supply always did - and the
spectral_gen theme gains the third member it needed (the Seance +
Perkeo negative-spectral archetype, now discoverable three ways).

The other five two-member themes (diamonds, hearts, four_kind, gold_gen,
stone_gen) are vanilla reality: no third joker exists. They get
FRAGILE_OK verdicts in audit.lua, rendered in AUDIT.md, and the audit
now fails on a fragile theme with no verdict - or a stale verdict for a
theme that grew - the same discipline as the silent-joker list.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 19:46:41 -07:00

5.6 KiB

Synergy database audit

Generated by lua audit.lua --write. Do not edit by hand.

test.lua is the gate (it fails on what is broken). This is the map: it reports what is merely suspicious, and records what we already decided so the analysis does not get redone from scratch every session.

Totals

Jokers in the database 150
Famous pairs 37
Clashes 24
Cautions 17
Themes 31
Jokers in no famous pair 101

Jokers the advisor is silent about

These give nothing but engine roles (Mult/Chips/xMult) and want nothing, so they score at most the generic +1 against any joker in the game. That is a legitimate answer for some of them -- but it should be a decision, not an accident.

count
Silent, reviewed, staying that way 24
Silent, but a lead worth chasing 0
Silent and never looked at 0

Leads worth chasing

Unverified. Check each against the Lovely dump before acting on it -- a wrong synergy is worse than a missing one.

Reviewed, and deliberately silent

  • j_baseball — xMult per Uncommon joker owned. A rarity tag would have exactly one payoff, and every giver would be "is uncommon" -- noise, not synergy.
  • j_cavendish — the reward for Gros Michel dying, not a partner
  • j_ceremonial — RESOLVED: it destroys the joker to its right at blind select (card.lua:2945), skipping Eternals. JCA.dagger_victim now names the joker about to die, in the tooltip, while there is still time to reorder.
  • j_chicot — disables the boss blind; no joker interaction
  • j_credit_card — lets you go negative; a money buffer, not a combo
  • j_diet_cola — sell for a Double Tag; tags are outside our model
  • j_glass — wants GLASS cards, and no vanilla joker creates them. Same trap as Steel Joker: enhance_gen is too coarse a tag to use here.
  • j_gros_michel — self-destructs; the trap is a CAUTION
  • j_half — +Mult on small hands; no joker cares
  • j_ice_cream — decays; the trap is a CAUTION
  • j_joker — plain +Mult; interacts with nothing
  • j_loyalty_card — xMult every 6 hands; no joker interaction
  • j_luchador — sell to disable a boss; no joker interaction
  • j_misprint — random +Mult; interacts with nothing
  • j_mr_bones — death insurance; no joker interaction
  • j_obelisk — The trap is real but it is a CAUTION ("resets on your most played hand"), not a set of pairwise clashes. See j_card_sharp.
  • j_popcorn — decays; the trap is a CAUTION
  • j_red_card — +Mult per skipped booster; no joker interaction
  • j_ride_the_bus — scales on face-free hands; the traps are CLASHES
  • j_ring_master — Showman allows duplicates in the shop pool. We have no tag for pool effects, and one joker does not justify inventing one.
  • j_steel_joker — wants STEEL cards. The only enhance_gen givers make Gold (Midas) and Stone (Marble), so tagging it enhance_gen would invent a synergy that does not exist. No vanilla joker creates Steel cards. Leave it alone.
  • j_stuntman — big chips, -2 hand size; the trap is a CAUTION
  • j_supernova — REJECTED as an Obelisk clash for the same reason as j_card_sharp
  • j_throwback — xMult per skipped blind; no joker interaction

Tag health

A tag with one member can never fire (it takes two jokers to make a synergy). A tag with two is fragile: drop either joker and the theme dies.

tag givers wanters jokers theme?
card_gen 3 2 5 yes
clubs 3 4 4 yes
copy_target 10 3 13 yes
diamonds 2 2 2 yes
discards_up 2 9 11 yes
enhance_gen 2 2 4 yes
faces 1 9 10 yes
flush 5 4 6 yes
four_kind 2 1 2 yes
gold_gen 1 1 2 yes
hand_size 3 4 7 yes
hands_up 1 2 3 yes
hearts 2 2 2 yes
joker_gen 1 3 4 yes
money 15 3 17 yes
pair 3 3 3 yes
planet 3 4 4 yes
probability 1 7 8 yes
retrig_faces 1 10 11 yes
retrig_held 1 4 5 yes
retrig_low 1 11 12 yes
retrig_scoring 4 17 21 yes
sell_value 2 2 4 yes
spades 2 3 3 yes
spectral_gen 2 3 3 yes
stone_gen 1 1 2 yes
straight 7 6 8 yes
suit_flex 1 12 13 yes
tarot_gen 6 2 7 yes
three_kind 4 3 4 yes
two_pair 3 3 3 yes

Fragile by design

Two-member themes reviewed and accepted: vanilla has no third joker to add.

  • diamonds — Greedy Joker and Rough Gem are the only Diamond payoffs in vanilla.
  • four_kind — DNA enables it, The Family pays it; no other vanilla joker cares.
  • gold_gen — Midas Mask makes Gold, Golden Ticket cashes it - the whole economy.
  • hearts — Lusty Joker and Bloodstone are the only Heart payoffs in vanilla.
  • stone_gen — Marble adds Stones, Stone Joker counts them; Vampire eats them rather than wanting them.

Load-bearing jokers

The jokers that appear in the most scoring relationships. If one of these is mis-tagged, the error is spread across the whole database.

joker partners scoring >= 2
j_dusk 17
j_hanging_chad 17
j_selzer 17
j_smeared 17
j_splash 17
j_to_the_moon 16
j_bootstraps 15
j_bull 15
j_seance 13
j_four_fingers 12
j_sock_and_buskin 12
j_blueprint 11

Jokers with no partner scoring >= 2 anywhere in the game: 24