Format run failed with incomplete_assembly: continue it, do not re-run
incomplete_assembly means a Sume Format run hit its time limit mid-generation. Continue with previous_run_id; finished clips are not regenerated.

incomplete_assembly is a Sume Format error that means the run reached its time limit while generation jobs were still unfinished, so the delivered media is not everything it paid for. The documented fix is to continue the run with previous_run_id. The finished clips are on the thread and are not regenerated.
What the error carries
details.pending_job_count and details.pending_jobs[] name what was left. The partial ledger is on output when your output_schema allows it. A failure never has a primary_output_url; it is null, so a check for it means a deliverable exists.
| Error code | Documented action |
|---|---|
incomplete_assembly | Continue the run with previous_run_id |
primary_output_missing | Continue the run to fill the gap, or retry |
agent_reported_failure | Read details.reason; continue or re-fire with a new key |
provider_unavailable | Retry with a new Idempotency-Key; finished clips are not regenerated |
format_run_failed | Compare billable amount with the cap on the receipt |
A handling loop
On a failed receipt, read error.code. For incomplete_assembly, post a new run with the old run id, an instruction such as finishing the pending items, the same output_schema and primary_output_key, and a fresh cap. Wait for previous_run_id to be terminal, which it is, since the first run failed. If the second turn fails the same way, look at pending_jobs[] for a specific job that stalls rather than looping.
A continuation shares the thread but gets its own receipt, cap and webhook, so alert on each one separately.
- Cap the number of continuations per order, so a stuck job does not drain a budget.
- Keep the first run id in your record; the second turn lists all artifacts.
- Distinguish transient
provider_unavailablefrom this code.
What to tell your users
Show a partial state, not an error screen: the finished clips are real, and a continuation is under way. Because the first run's artifacts stay on the thread, a status page can list them while the second turn completes. If the continuation also fails, hand the case to a person with both run receipts attached.
Limits
A continuation can fail again, and each one can spend up to its own cap. The docs do not promise an outcome, only that finished clips are kept. If a specific job keeps stalling, change the input or the brief rather than repeating.
Related posts
More in Formats
- Format run input 400: 64 top-level keys, 2 MiB, objects only
A Sume Format run rejects input that is not an object, has over 64 top-level keys, or exceeds 2 MiB. Group nested keys and check size before you send.
- Media URLs in a Format run input count: 30 files, 10 videos, 10 audio
Media links inside a Format run's input share one budget with attachments: 30 files, at most 10 videos and 10 audio, counted by file extension, else 400.
- Format run instruction: 8000 characters accepted, about 4000 carried
A Sume Format run instruction accepts 8,000 characters, but only the first ~4,000 reach the agent as prompt text. Put long data in input, carried whole.
- Which schema shaped my Format run? output_schema.source explained
Every Sume Format receipt names the schema that shaped output. source is default, action_default or request_override. Here is how each is chosen and checked.
Written by Sume