Gifts Ungiven appears legal during upkeep through Teferi static #12

Closed
opened 2026-07-06 17:51:06 +00:00 by bstein · 1 comment
Owner

What happened

In deployed Draw-Go vs Storm g04, Storm cast Gifts Ungiven during upkeep while Draw-Go controlled Teferi, Time Raveler. If the replay phase is accurate, Teferi's static ability should prevent that instant-speed timing.

What should have happened

The bridge should omit or fail closed on opponent instant-speed spell actions that violate Teferi-style static timing locks, and the audit layer should flag any replay where such a spell resolves outside a legal sorcery window.

Category

  • kind: bridge/rules
  • severity: obvious

Context

  • correction target: ["forge_bridge", "priority_prompt_filtering", "replay_rules_audit"]
  • evidence: [{"frames": "91-100", "game id": "edge_1v1_storm__1_g1_2026070604", "level": 4, "local log": "artifacts/deployed_batteries/edge_case_0521_live_20260706T124234Z/logs/dashboard/edge-case-smoke-deployed-proof-20260706t101310z-edge-1v1-draw-go-vs-storm-g04-level-4/edge_1v1_storm__1_g1_2026070604/game.replay_events.ndjson", "run group": "edge-case-smoke-deployed-proof-20260706t101310z-edge-1v1-draw-go-vs-storm-g04-level-4", "summary": "Storm cast Gifts Ungiven during upkeep while Draw-Go controlled Teferi, Time Raveler."}]
  • feedback issue key: explicit:teferi_static_timing_lock_not_enforced_for_gifts_ungiven
  • recommended source files: ["bridge/forge-probe/src/main/java/dev/bstein/veles/forgeprobe/ForgeDecisionSupport.java", "bridge/forge-probe/src/main/java/dev/bstein/veles/forgeprobe/BridgeControllerStackChoices.java", "bridge/forge-probe/src/main/java/dev/bstein/veles/forgeprobe/ForgeVisibleStateSupport.java", "src/veles/forge_adapter.py", "src/veles/misplay_audit/audit_actions.py"]
  • root cause: teferi_static_timing_lock_not_enforced_for_gifts_ungiven
  • source findings file: reports/edge_case_atomic_eval/0.5.21_live/draw_go_storm_unique_feedback_findings_20260706.json
## What happened In deployed Draw-Go vs Storm g04, Storm cast Gifts Ungiven during upkeep while Draw-Go controlled Teferi, Time Raveler. If the replay phase is accurate, Teferi's static ability should prevent that instant-speed timing. ## What should have happened The bridge should omit or fail closed on opponent instant-speed spell actions that violate Teferi-style static timing locks, and the audit layer should flag any replay where such a spell resolves outside a legal sorcery window. ## Category - kind: bridge/rules - severity: obvious ## Context - correction target: ["forge_bridge", "priority_prompt_filtering", "replay_rules_audit"] - evidence: [{"frames": "91-100", "game id": "edge_1v1_storm__1_g1_2026070604", "level": 4, "local log": "artifacts/deployed_batteries/edge_case_0521_live_20260706T124234Z/logs/dashboard/edge-case-smoke-deployed-proof-20260706t101310z-edge-1v1-draw-go-vs-storm-g04-level-4/edge_1v1_storm__1_g1_2026070604/game.replay_events.ndjson", "run group": "edge-case-smoke-deployed-proof-20260706t101310z-edge-1v1-draw-go-vs-storm-g04-level-4", "summary": "Storm cast Gifts Ungiven during upkeep while Draw-Go controlled Teferi, Time Raveler."}] - feedback issue key: explicit:teferi_static_timing_lock_not_enforced_for_gifts_ungiven - recommended source files: ["bridge/forge-probe/src/main/java/dev/bstein/veles/forgeprobe/ForgeDecisionSupport.java", "bridge/forge-probe/src/main/java/dev/bstein/veles/forgeprobe/BridgeControllerStackChoices.java", "bridge/forge-probe/src/main/java/dev/bstein/veles/forgeprobe/ForgeVisibleStateSupport.java", "src/veles/forge_adapter.py", "src/veles/misplay_audit/audit_actions.py"] - root cause: teferi_static_timing_lock_not_enforced_for_gifts_ungiven - source findings file: reports/edge_case_atomic_eval/0.5.21_live/draw_go_storm_unique_feedback_findings_20260706.json
bstein added the
rules
bridge
battery-0.5.21
manual-review
draw-go-vs-storm
labels 2026-07-06 17:51:06 +00:00
Author
Owner

Verified in Cassandra 0.5.30.

Release proof: source bebd4c7 (Prepare Cassandra 0.5.30 feedback backlog closeout), Jenkins Veles #209 SUCCESS published version-only backend/frontend/sim-worker 0.5.30 images, Titan-IAC 1bf84977 deployed them, live /api/v1/app-config reports backend/frontend/sim_worker 0.5.30, /api/v1/ready is green, backend pod and both frontend pods are Running with 0 restarts, and VELES_SIM_IMAGE is registry.bstein.dev/veles/veles-sim-worker:0.5.30.

Local/source gate on the deployed source: bridge/runtime 42 tests OK; evaluator/audit/policy/API suite 504 tests OK; frontend maybeboard/compact-replay/prompt Playwright 22 tests passed; frontend build and git diff --check passed.

Issue-specific proof: Forge runtime coverage proves opponent Teferi, Time Raveler omits instant-speed Gifts Ungiven actions outside sorcery timing while preserving own-main legal windows. Jenkins #209 built and pushed the 0.5.30 sim image from the same bridge source. Closing.

Verified in Cassandra 0.5.30. Release proof: source bebd4c7 (Prepare Cassandra 0.5.30 feedback backlog closeout), Jenkins Veles #209 SUCCESS published version-only backend/frontend/sim-worker 0.5.30 images, Titan-IAC 1bf84977 deployed them, live /api/v1/app-config reports backend/frontend/sim_worker 0.5.30, /api/v1/ready is green, backend pod and both frontend pods are Running with 0 restarts, and VELES_SIM_IMAGE is registry.bstein.dev/veles/veles-sim-worker:0.5.30. Local/source gate on the deployed source: bridge/runtime 42 tests OK; evaluator/audit/policy/API suite 504 tests OK; frontend maybeboard/compact-replay/prompt Playwright 22 tests passed; frontend build and git diff --check passed. Issue-specific proof: Forge runtime coverage proves opponent Teferi, Time Raveler omits instant-speed Gifts Ungiven actions outside sorcery timing while preserving own-main legal windows. Jenkins #209 built and pushed the 0.5.30 sim image from the same bridge source. Closing.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: cassandra-alpha/feedback#12
No description provided.