Task 2.3: prevent infinite CI hangs with 300s hard timeout Task 3.2: non-blocking Stage 9 logs mma_tier_usage after Tier 3 completes Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
32 lines
1.3 KiB
TOML
32 lines
1.3 KiB
TOML
role = "tier3-worker"
|
|
docs = ["conductor/workflow.md", "tests/visual_sim_mma_v2.py"]
|
|
prompt = """
|
|
Make two additions to tests/visual_sim_mma_v2.py:
|
|
|
|
CHANGE 1 — Task 2.3: Add pytest timeout to prevent infinite CI hangs.
|
|
Add @pytest.mark.timeout(300) decorator to the test_mma_complete_lifecycle function.
|
|
Also add 'timeout' to the existing pytest.mark.integration decorator line (keep both marks).
|
|
|
|
CHANGE 2 — Task 3.2: Add tier_usage assertion after the existing Stage 8 check.
|
|
After the existing assertion on tier3_content, add a new polling stage:
|
|
|
|
Stage 9: Wait for mma_status == 'done' and mma_tier_usage Tier 3 non-zero.
|
|
|
|
def _tier3_usage_nonzero(s):
|
|
usage = s.get('mma_tier_usage', {})
|
|
t3 = usage.get('Tier 3', {})
|
|
return t3.get('input', 0) > 0 or t3.get('output', 0) > 0
|
|
|
|
ok, status = _poll(client, timeout=30, label="wait-tier3-usage",
|
|
condition=_tier3_usage_nonzero)
|
|
# Non-blocking: if tier_usage isn't wired yet, just log and continue
|
|
tier_usage = status.get('mma_tier_usage', {})
|
|
print(f"[SIM] Tier usage: {tier_usage}")
|
|
if not ok:
|
|
print("[SIM] WARNING: mma_tier_usage Tier 3 still zero after 30s — may not be wired to hook API yet")
|
|
|
|
Add this before the final print("[SIM] MMA complete lifecycle simulation PASSED.") line.
|
|
|
|
Use exactly 1-space indentation for Python code.
|
|
"""
|