chore(card-data): re-freeze draw-replacement corpus for Bard, King of Dale (HOB set unlock)#6222
chore(card-data): re-freeze draw-replacement corpus for Bard, King of Dale (HOB set unlock)#6222mcbradd wants to merge 1 commit into
Conversation
… Dale (HOB set unlock) Bard, King of Dale (The Hobbit, HOB phase-rs#144) entered the card pool at 2026-07-20T00:00Z, when the card-data job's weekly MTGJSON cache key (mtgjson-atomic-YYYY-WVV) rolled over at Monday 00:00 UTC and the fresh AtomicCards snapshot carried the newly previewed HOB cards, adding one row to the frozen Draw-replacement corpus. (The phase-rs#4365 release-date gate did not engage: GATED_SETS is unset in CI and HOB's MTGJSON releaseDate is 2026-08-14; the single-row failure reproduces locally with no gating configured.) 'If you would draw a card except the first one you draw in each of your draw steps, draw two cards instead.' is an individual-draw replacement per CR 121.2 (cards are drawn one at a time; fixed substitute count, no EventContextAmount), not a CR 121.2a instruction-count modifier. Same census shape and classification as the already-blessed Alhammarret's Archive and Teferi's Ageless Insight rows; engine-emitted draw_scope and census-derived scope agree (IndividualDraw). Baseline regenerated with scripts/draw_replacement_census.py --corpus --write; no parser or engine change. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Code Review
This pull request updates the draw replacement corpus in scripts/draw-replacement-corpus.tsv by adding an entry for 'bard, king of dale' as a mandatory draw replacement effect. There are no review comments, and I have no feedback to provide.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
|
Not enqueued — this branch is now an obsolete duplicate. The row itself is correct: Bard's current Oracle text is an individual-draw replacement under CR 121.2, and the CI Merging this behind branch produces the current |
What
Re-freezes the Plan 03 draw-replacement corpus baseline (
scripts/draw-replacement-corpus.tsv) with exactly one new row:One line, no parser or engine change. Regenerated with
scripts/draw_replacement_census.py --corpus --write;--corpus --checkpasses afterward (51 rows).Why every PR is red
The CI step "Draw replacement corpus freeze (Plan 03 / CR 121.2)" has failed on main and every PR since 2026-07-20T00:00Z. The trigger is wall-clock, not any merged commit: the card-data job caches
AtomicCards.jsonunder the ISO-week keymtgjson-atomic-$(date +%Y-W%V)(exact-match, no restore-keys — seeci.yml), so at Monday 00:00 UTC the key rolled to the new week and forced a fresh MTGJSON download that now carries The Hobbit (HOB) spoiler data, including Bard, King of Dale, whose draw-replacement row the frozen corpus had never seen.Tonight's merges are exonerated — including #6174, which touched only the swallow-detector. Note the #4365 release-date gate did not engage:
GATED_SETSis unset in CI (gating is a documented no-op when unset), and HOB's MTGJSON releaseDate is 2026-08-14 (isPartialPreview: true). The single-row failure reproduces locally with no gating configured. The gating gap is filed separately as #6221.Failing runs:
Why the row is correct (CR 121.2, not CR 121.2a)
Bard, King of Dale (The Hobbit, HOB #144): "If you would draw a card except the first one you draw in each of your draw steps, draw two cards instead." This is an individual-draw replacement per CR 121.2 (cards are drawn one at a time): fixed substitute count, no
EventContextAmountread — so it is not a CR 121.2a instruction-count modifier. Its census shape and classification are identical to the already-blessed precedent rows:Engine-emitted
draw_scopeand the census's independently derived scope agree (IndividualDraw) — a disagreement would have raisedClassificationError, not a diff row.This blesses PREVIEW text
HOB is
isPartialPreview: trueand releases 2026-08-14, so this row freezes spoiler-season text. If Bard's Oracle text changes before release, the exact-match freeze goes red again and forces a re-review — by design, that is the gate doing its job, not a regression. Current Scryfall preview text matches the parsed row exactly.Effect of merging
🤖 Generated with Claude Code