Skip to content

Add Yare#3748

Queued
jaso0n0818 wants to merge 5 commits into
phase-rs:mainfrom
jaso0n0818:card/yare
Queued

Add Yare#3748
jaso0n0818 wants to merge 5 commits into
phase-rs:mainfrom
jaso0n0818:card/yare

Conversation

@jaso0n0818

Copy link
Copy Markdown
Contributor

Summary

Adds engine support for Yare.

Files changed

  • crates/engine/src/parser/oracle_effect/subject.rs
  • crates/engine/src/game/coverage.rs
  • crates/engine/tests/integration/yare_extra_blockers.rs
  • crates/engine/tests/integration/main.rs

CR references

  • CR 509.1a + CR 509.1b — extra blocking permissions
  • CR 608.2c — anaphoric "That creature" sub-ability chain

Track

Non-developer

LLM

Model: claude-4.6-sonnet-medium-thinking
Thinking: medium

Verification

  • ./scripts/check-parser-combinators.sh — clean
  • cargo test -p engine --lib yare_spell_extra_blockers_up_to_two_this_turn — pass
  • cargo test -p engine --test integration yare_extra_blockers — pass

Gate A

$ ./scripts/check-parser-combinators.sh
(exit 0 — no violations)

Anchored on

  • crates/engine/src/parser/oracle_effect/subject.rs:5187 — existing can block two additional creatures this combat handler
  • crates/engine/src/game/combat.rs:5612extra_blockers_allows_blocking_two_attackers runtime validation pattern

Tier: Standard

Scope Expansion

None.

Validation Failures

None.

CI Failures

None.

Parse "can block up to N additional creatures" spell grants as
ExtraBlockers and mark parameterized ExtraBlockers statics supported in
coverage. Includes parser and discriminating combat validation tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
@jaso0n0818 jaso0n0818 requested a review from matthewevans as a code owner June 18, 2026 21:03
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@github-actions github-actions Bot added the needs-maintainer AI-contribution PR requires human triage (Non-dev track or unresolved gaps) label Jun 18, 2026
@matthewevans matthewevans added the feature Larger-scoped feature label Jun 18, 2026
@matthewevans matthewevans added enhancement New feature or request and removed feature Larger-scoped feature labels Jun 18, 2026
@matthewevans matthewevans self-assigned this Jun 18, 2026

@matthewevans matthewevans left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved after maintainer fmt-only fixup and re-check: the Yare extra-blockers parser/runtime regression is at the existing ExtraBlockers seam, the required enhancement label is present, and GitHub checks are green at 61daf32a9e9b9858d5cafe177041e3498f7ae309.

@matthewevans matthewevans added this pull request to the merge queue Jun 18, 2026
@matthewevans matthewevans removed their assignment Jun 18, 2026
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Jun 18, 2026
# Conflicts:
#	crates/engine/src/game/coverage.rs
@matthewevans matthewevans removed the needs-maintainer AI-contribution PR requires human triage (Non-dev track or unresolved gaps) label Jun 18, 2026
@matthewevans matthewevans self-assigned this Jun 18, 2026

@matthewevans matthewevans left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

VERDICT: approve

Conflict resolution is limited to keeping both data-carrying coverage statics, CI is green, and the current head is labeled enhancement.

@matthewevans matthewevans added this pull request to the merge queue Jun 18, 2026
@matthewevans matthewevans removed their assignment Jun 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants