fix(conformance): mill ZoneTransfer annotations emit affectorId#218
fix(conformance): mill ZoneTransfer annotations emit affectorId#218
Conversation
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add sourceForgeCardId to CardMilled event (same pattern as CardSurveiled/CardDestroyed). Source resolved from stack's resolving spell at zone-change time. Wire through affectorSourceFromEvents. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Test Results 227 files ±0 227 suites ±0 2m 0s ⏱️ -23s Results for commit 87a7abd. ± Comparison against base commit c58f0b2. This pull request removes 1 and adds 2 tests. Note that renamed tests count towards both. |
CI Report — GateTests: 816/816 passed (189 skipped) Coverage: 10.5% (615/5852 lines)
Slow tests (>3s): 1
|
|
@claude please review this ralph PR |
|
Claude finished @delebedev's task in 1m 16s —— View job Code Review — fix(conformance): mill ZoneTransfer annotations emit affectorId
The change is small and focused. The mechanical intent is correct — mill annotations now carry Architectural deviation from the documented pattern
The Correctness risk: triggered millIf a replacement effect or triggered ability is on top of the stack when the Library→GY zone change fires (e.g. a "whenever a card is put into a graveyard from a library" trigger), In practice this probably doesn't happen at zone-change time (triggers are queued, not immediately pushed), but it's a latent hazard that the Stale docstring
This should be updated to mention mill (and destroy, which was already wired). TestsThe new tests are solid. Splitting the old The Verdict: Approve with suggested follow-up. The fix works for the common case (a mill spell on the stack), tests pass 58/58, and it matches the |
Closes #176
Summary
sourceForgeCardIdtoCardMilledevent (same pattern asCardSurveiled/CardDestroyed)bridge.getGame().stack.peek()affectorSourceFromEvents— mill annotations now carry the source spell instanceIdTest plan
CategoryFromEventsTest— 58/58 pass, including newaffectorSourceReturnsMillSourceCardtestnullfor mill → now asserts source card🤖 Generated with Claude Code