=== prepare_slide_prompts (out-dir = deck root) === Error: Slide job file already exists: /tmp/ppt-state-test2/mydeck/prompts/slide_01.json (use --force) Exit: 1 === slide_jobs.json content === { "run_status": "blocked", "deck_name": "mydeck", "selected_backend": "builtin", "sample_generation_method": null, "max_concurrent_slides": 6, "slides": [ { "slide_id": "slide_01", "number": 1, "title": "Test Title", "job": "prompts/slide_01.json", "out": "origin_image/slide_01.png", "input_images": [], "requires_context_images": false, "status": "dispatched", "dispatch": { "agent_id": "worker-001", "agent_nickname": "slide-bot", "prompt": "prompts/slide_01.json", "prompt_sha256": "30e26c0f9b9aba6d63c2b60287fa6a2f7b14038abc8799e72e291c755ff0dd23", "dispatched_at": "2026-07-14T11:08:06Z" }, "result": null, "blocker": null }, { "slide_id": "slide_02", "number": 2, "title": "Body", === record_slide_dispatch === slide_01 must be pending before dispatch; got dispatched Exit: 1 === slide_job_status === deck_dir=/private/tmp/ppt-state-test2/mydeck run_status=blocked selected_backend=builtin max_concurrent_slides=6 active_dispatches=slide_01 dispatch_slots_available=5 dispatchable_slides=- blocked: slide_02 dispatched: slide_01 Exit: 0 === record_slide_blocker === slide_02 -> blocked Exit: 0 === slide_job_status --json (after dispatch + blocker) === { "deck_dir": "/private/tmp/ppt-state-test2/mydeck", "run_status": "blocked", "slide_count": 2, "selected_backend": "builtin", "max_concurrent_slides": 6, "active_dispatches": [ "slide_01" ], "dispatch_slots_available": 5, "dispatchable_slides": [], "counts": { "dispatched": 1, "blocked": 1 }, "slides": { "blocked": [ "slide_02" ], "dispatched": [ "slide_01" ] } } Exit: 0