Skip to content

AI crews a Vehicle with every creature it controls, then declares no attackers #7521

Description

@cuinhellcat

Observed on phase-rs.dev (AI game). Turn-13 state dump available on request.

Turn 12 (AI): tapped its 5 lands + Veloheart Bike ({T}: Add one mana of any color) for 6 mana and cast Autarch Mammoth — objects[66].mana_spent_source_snapshots lists the Bike (id 65) as one of the six sources. The Mammoth ETB made a 3/3 Elephant token. It then crewed the already-tapped Bike for Crew 2, leaving Hazard of the Dunes (4/4), Autarch Mammoth (5/5) and the Elephant (3/3) all tapped — 12 power for a cost of 2 — and declared no attackers.

This is not a one-off. Every AI turn in the dump's checkpoints:

AI turn crew_activated_this_turn attackers declared its creatures at end of turn
8 [65] none all tapped
10 [33, 65] none all tapped
12 [65] none all tapped

Hazard of the Dunes (4/4, reach + trample) is tapped in every checkpoint since turn 8 and has never attacked or blocked.

Net effect: the AI ends its own turn with no untapped creature, so it has no blockers during my turn — and the Vehicle stops being a creature at cleanup, so it cannot block either.

Likely gap: CrewTimingPolicy (crates/phase-ai/src/policies/crew_timing.rs) judges whether to crew — crew_has_exact_combat_use replays subsets and penalises a crew with no attack/block use. But verdict returns crew_timing_na as soon as creature_ids is non-empty (line 75), so the crew subset itself is never scored: nothing prefers a minimal subset, and nothing weighs the opportunity cost of the creatures being tapped. CR 702.122a only requires total power >= N.

Not verified: the checkpoints are end-of-turn only, so the step order inside turn 12 is reconstructed, not logged; and I cannot tell from the dump whether crew_activated_this_turn records one entry per activation or per object.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions