Chase the audit's leads: verify, implement, or reject

Every lead in AUDIT.md, traced to the running source and then settled.

Ceremonial Dagger DESTROYS the joker to its right at blind select
(card.lua:2945) and skips Eternals. The card says so; what it cannot say
is WHICH of your jokers is about to die. JCA.dagger_victim names it in
the tooltip -- "WILL DESTROY Baron at the next blind" -- while there is
still time to reorder, and stays quiet when the neighbour is Eternal.

Four jokers that scored 0 against all 150 now have partners, all verified
in card.lua rather than recalled:
* Burglar + Ramen: Ramen decays per discarded card and is DESTROYED at x1
  (SMODS.destroy_cards). Burglar zeroes discards, so it never decays and
  never dies. Same for Burglar + Green Joker, which is only punished by
  discarding.
* Trading Card + Erosion: Erosion pays per card MISSING from the deck,
  and Trading Card permanently destroys the card it discards.
* Chaos the Clown + Flash Card: a free reroll every shop, and a joker
  that grows per reroll. Both were inert.

Erosion is the mirror of card_gen, so it now clashes with every joker
that permanently adds a card: DNA, Marble, Certificate.

Rejected, with the reasoning recorded so nobody "fixes" it later:
Card Sharp and Supernova reward replaying a hand and Obelisk punishes it,
but neither destroys the other's precondition -- the player's hand choice
does. That is an opposed incentive, not an opposed effect. The clash list
only earns trust while every entry is mechanical.

The audit's own silent-check was wrong: it flagged Square Joker, which
has been paired with Four Fingers all along, and I duplicated that pair
before the suite caught it. Silence now means no tags AND no famous pair.

711 pass locally, 10 in-game.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
funman300
2026-07-14 12:36:01 -07:00
parent 96a00d0d0c
commit 8ce5619273
5 changed files with 158 additions and 64 deletions
+12 -19
View File
@@ -11,11 +11,11 @@ does not get redone from scratch every session.
| | |
|---|---|
| Jokers in the database | 150 |
| Famous pairs | 32 |
| Clashes | 22 |
| Famous pairs | 36 |
| Clashes | 25 |
| Cautions | 15 |
| Themes | 29 |
| Jokers in no famous pair | 108 |
| Jokers in no famous pair | 102 |
## Jokers the advisor is silent about
@@ -25,8 +25,8 @@ answer for some of them -- but it should be a decision, not an accident.
| | count |
|---|---|
| Silent, reviewed, staying that way | 20 |
| Silent, but a lead worth chasing | 12 |
| Silent, reviewed, staying that way | 25 |
| Silent, but a lead worth chasing | 0 |
| **Silent and never looked at** | **0** |
### Leads worth chasing
@@ -34,22 +34,13 @@ answer for some of them -- but it should be a decision, not an accident.
Unverified. Check each against the Lovely dump before acting on it -- a wrong
synergy is worse than a missing one.
- **`j_baseball`** — xMult per Uncommon joker owned. We have no rarity tag, and adding one for a single payoff may not earn its keep.
- **`j_card_sharp`** — xMult when the hand type was already played this round -- it rewards repeating one hand, which is exactly what Obelisk punishes. Clash?
- **`j_ceremonial`** — positional like Blueprint: it DESTROYS the joker to its right. JCA.copy_source already reads board order -- the same machinery could warn "will destroy your Baron" before it eats something irreplaceable.
- **`j_chaos`** — free reroll each shop; see j_flash
- **`j_erosion`** — +Mult per card BELOW 52 in the deck, so it is the inverse of card_gen: DNA/Marble/Certificate permanently shrink it. Likely CLASHES, and possibly a synergy with anything that destroys cards (Trading Card).
- **`j_flash`** — +Mult per shop reroll. Chaos the Clown grants a free reroll each shop, which would give both of them a reason to exist (Chaos is inert today).
- **`j_green_joker`** — +Mult per hand, -Mult per discard: Burglar removes discards entirely. Same shape as the existing Burglar + Mystic Summit pair.
- **`j_obelisk`** — resets on your most-played hand, so it fights every hand-type build. Has a CAUTION already; the pairwise clashes may be worth adding.
- **`j_ramen`** — xMult decays per card discarded, so Burglar (zero discards all run) stops the decay dead. Likely a famous pair.
- **`j_ring_master`** — Showman allows duplicates in the pool. Enables copy/duplicate strategies, but we have no tag for "shop pool" effects and inventing one for a single joker is probably not worth it.
- **`j_square`** — +Chips on exactly-4-card hands; Four Fingers makes 4-card flushes and straights playable. Needs a tag that does not exist yet.
- **`j_supernova`** — Mult scales with times the hand was played; see j_card_sharp
### 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_card_sharp`** — REJECTED as a clash with Obelisk. Card Sharp rewards replaying a hand and Obelisk punishes replaying your MOST played hand -- but neither destroys the other precondition; the player's hand choice does. That is an opposed incentive, not an opposed effect. Flagging it would dilute the clash signal, which only earns trust while every entry is mechanical.
- **`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
@@ -62,12 +53,14 @@ synergy is worse than a missing one.
- **`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_mystic_summit`** — already paired with Burglar (zero discards, max Mult)
- **`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
@@ -127,5 +120,5 @@ mis-tagged, the error is spread across the whole database.
| `j_four_fingers` | 12 |
| `j_seance` | 12 |
Jokers with **no** partner scoring >= 2 anywhere in the game: 30
Jokers with **no** partner scoring >= 2 anywhere in the game: 25