chore: refresh metagame feeds - #62
Merged
Merged
Conversation
matthewevans
enabled auto-merge (squash)
April 19, 2026 07:22
andriypolanski
pushed a commit
to andriypolanski/phase
that referenced
this pull request
Jul 13, 2026
…R 603.7) (phase-rs#5720) Twinferno's "When you CAST YOUR NEXT instant or sorcery spell this turn, copy that spell." produced no delayed trigger at all — the copy was dropped outright, and its "You may choose new targets for the copy" sentence was left as an honest `orphaned_copy_retarget` residual. The orphan was the symptom, not the disease: the retarget clause was correctly refusing to bind to a copy that did not exist. `try_parse_when_next_event` dispatched on `alt((tag("when you next cast a "), tag("when you next cast an ")))`. Magic prints this one clause in two word orders and we only accepted the adverbial one: "when you NEXT CAST a[n] <spell> this turn" Galvanic Iteration, Doublecast "when you CAST YOUR NEXT <spell> this turn" Twinferno Add the possessive opening to that `alt`. The payload after either opening is the same "[type-phrase] spell [post-modifier]" shape, so `extract_when_next_spell_filter` and every downstream stage are untouched — this parameterizes the opening rather than proliferating a second parser for the same clause. Filed under phase-rs#62, whose premise this partly FALSIFIES: the task described Twinferno as a MODAL-nesting gap ("copy not lowered inside a modal delayed trigger"). It is not. Modes are irrelevant — the identical text outside a mode fails the same way, and the identical text in the adverbial word order inside a mode works. The gap is purely the opening's word order. Honest scope, measured rather than assumed: "cast your next" appears on 3 cards in the pool, but Flaming Fist Duskguard and Valiant Farewell print it inside a quoted boon with no " this turn, " delimiter, so they stay gapped and this fix does not claim them. The measured delta is 1 face. Full-pool dual export (35,396 faces), whole-face structural diff — every face's ENTIRE tree compared, not just the copy-retarget channel: faces with ANY structural change: 1 twinferno retargets=[] orphans=1 -> retargets=[MayChooseNewTargets] orphans=0 Zero regressions. Positive controls Galvanic Iteration and Doublecast unchanged. Pool-wide `orphaned_copy_retarget` residuals: 7 -> 5. Co-authored-by: matthewevans <matthewevans@users.noreply.github.com>
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.
Automated daily metagame feed refresh from MTGGoldfish.