Actual Behavior
Run uv run pytest -q tests/test_subject_turns.py after reproducing a failed, canceled, or skipped subject attempt and resubmitting its original idempotency key. The later submission is deduplicated against the unsuccessful run, so the external issue or pull request cannot make progress. A timed-out subject behaves the same way after its runtime is released.
Desired Behavior
A stable subject submission should remain idempotent while work is active or successful, but it should be retryable after an unsuccessful attempt no longer owns a runtime.
Acceptance Criteria
Actual Behavior
Run
uv run pytest -q tests/test_subject_turns.pyafter reproducing a failed, canceled, or skipped subject attempt and resubmitting its original idempotency key. The later submission is deduplicated against the unsuccessful run, so the external issue or pull request cannot make progress. A timed-out subject behaves the same way after its runtime is released.Desired Behavior
A stable subject submission should remain idempotent while work is active or successful, but it should be retryable after an unsuccessful attempt no longer owns a runtime.
Acceptance Criteria