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.
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_snapshotslists 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:
crew_activated_this_turn[65][33, 65][65]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_usereplays subsets and penalises a crew with no attack/block use. Butverdictreturnscrew_timing_naas soon ascreature_idsis 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_turnrecords one entry per activation or per object.