Add deductive printing-tag backfill: AI-weight votes for entailed printings - #11
Merged
Merged
Conversation
…ntings Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016i9S7LQsCL3FGaih3ZTRBJ
…printing-tag-backfill # Conflicts: # docs/features/printing-tags.md
…printing-tag-backfill # Conflicts: # docs/features/printing-tags.md
WilfordGrimley
marked this pull request as ready for review
July 14, 2026 14:31
WilfordGrimley
pushed a commit
that referenced
this pull request
Jul 18, 2026
Adds a Disposition column recording what actually shipped for each selected finding, and checks the boxes for everything built on claude/audit-build-pass. #11 stays unselected (process note in CLAUDE.md instead of a code fix); #2/#3 are hedge-only, with real verification still pending from the owner.
6 tasks
WilfordGrimley
added a commit
that referenced
this pull request
Jul 18, 2026
Fixes upstream-links honesty (1,6-9): desktop-tool download/wiki/source links now use shared UpstreamDesktopTool* constants with copy that says they're upstream's, not this fork's - confirmed not diverged (no ProxyPrints strings in desktop-tool/, no backend-API coupling). The broken per-platform asset-fetch mechanism is gone in favor of linking straight to GitHub Releases. Adds one-line "confirm before ordering" hedges to the PringlePrints and NotMPC steps (2,3) - real verification of those flows is still owner work, tracked separately. Drops "fresh" from the questionFeed subline (4) since it's not additive with total/contested; total===fresh on a real response now only fires a console.warn as a version-skew signal, never renders. Adds ProxyPrints credit alongside (not replacing) the chilli_axe footer line (5). Adds a lean-tooltip and a one-time legend to attribute chips (10) so a strong fill can't read as a confirmed fact - "community + machine votes lean yes/no (N%) - not confirmed". Gives the deckbuilder confirm badge a visible "Confirm?" label (12) instead of a bare "?" with only a screen-reader aria-label. #11 (privacy-policy date) wasn't selected for a code fix - CLAUDE.md gets a process line instead ("policy text changes update the Last-updated date"). docs/audits/ui-content-audit.md on PR #56's branch got its own commit marking every row's disposition. Co-authored-by: Claude <noreply@anthropic.com>
WilfordGrimley
added a commit
that referenced
this pull request
Jul 18, 2026
* Add UI content-accuracy audit findings table (docs/audits/ui-content-audit.md) Survey-only, HOLD - not built. 12 findings as a markdown table (location/current text/why wrong/proposed text/severity 1-5, where 5 is reserved for a machine suggestion presented indistinguishably from confirmed fact), with a per-row Selected checkbox for the review pass, summary counts at top, and a "checked, nothing found" section for completeness. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014dB7mGPQyoML2Ri5ZrprdK * Mark audit finding dispositions after the build pass Adds a Disposition column recording what actually shipped for each selected finding, and checks the boxes for everything built on claude/audit-build-pass. #11 stays unselected (process note in CLAUDE.md instead of a code fix); #2/#3 are hedge-only, with real verification still pending from the owner. --------- Co-authored-by: Claude <noreply@anthropic.com>
This was referenced Jul 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Phase 2 of the deductive printing-tag backfill (Phase 1 census discussed in
chat, not a separate PR). Casts
source=aiCardPrintingTagvotes forcards whose printing is logically entailed by existing catalog data - see
docs/features/printing-tags.md's new "Stage 4" section for the fulldesign writeup (two confidence tiers, Scryfall
printings_countcross-verification, eligibility exclusions, idempotence/resume, the live
gate check).
cardpicker/deductive_backfill.py- selection queries (D1/D2), batchedwrite, live gate check.
cardpicker/management/commands/deductive_backfill_printing_tags.py---tier d1|d2|all --limit N --dry-run --batch-size.PRINCIPLE held throughout: these are
VoteSource.AIvotes (weight0.5), never a direct status/
inferred_canonical_cardwrite - the hardhuman-backed gate in
resolve_weighted_consensusmeans they can neverresolve a card by themselves.
Current numbers (live prod, read-only census)
D1 = 26,962, D2 = 1,202 (of 207,123 eligible / 218,128 total cards), after
excluding cards with a resolved "Custom" tag or non-English
language.Every D1 candidate cross-checked against Scryfall's own
printings_countmetadata field (0 false positives out of 27,424 pre-exclusion).
Verification
edge and the
printings_countcross-check), vote row shape, idempotenceon re-run, and a deliberately-adversarial test that bypasses the normal
eligibility filter to prove the gate detector actually catches a
resolved card, not just trivially passes.
passed / 4 failed - the same 4 pre-existing secret/fixture-dependent
failures documented in Vote-system Stage 3: printing-preferred search consumption #9/Reindex Card into ES on printing/tag consensus transitions #10, no new failures.
Not done in this PR (by design)
The real production write (
--tier allfor real, inscreen/tmux, perthe task spec) is a deliberate follow-up after merge + deploy - this PR is
code + tests + a read-only census only. Holding for review before
merge.
🤖 Generated with Claude Code
https://claude.ai/code/session_016i9S7LQsCL3FGaih3ZTRBJ