{"spec_id":"smart-reap","title":"Smart Reap — Diagnose, Capture, and Resume Stuck Tasks","summary":"*Format: [specs/TEMPLATE.md](TEMPLATE.md)*","potential_value":0.0,"actual_value":1.0,"estimated_cost":0.0,"actual_cost":1.0,"value_gap":0.0,"cost_gap":1.0,"estimated_roi":0.0,"actual_roi":1.0,"idea_id":"pipeline-reliability","process_summary":"Runner liveness check before reaping — query runner registry, skip if alive; Timeout extension for live runners — extend deadline by max_age_minutes, max 2 extensions; Provider-crash capture — read last 4kB of task log, classify crash type; Structured diagnosis in task context — write reap_diagnosis sub-object; Resume task when partial output >= 20% — create continuation task with partial work","pseudocode_summary":null,"implementation_summary":"api/app/services/smart_reap_service.py (is_runner_alive(), can_extend(), partial output); api/app/services/smart_reaper_service.py (runner liveness, reap_diagnosis); api/app/routers/agent_smart_reap_routes.py (smart reap endpoints)","created_by_contributor_id":null,"updated_by_contributor_id":null,"created_at":"2026-04-09T03:10:09.024098Z","updated_at":"2026-04-09T03:10:09.024098Z","content_path":"specs/smart-reap.md","content_hash":"0fa7699aecd8fb82","workspace_id":"coherence-network"}