Reference
Errors, recovery and diagnostic evidence
Interpret failures within their endpoint scope and recover without confusing request admission, delivery and completed work.
Diagnose the failing boundary first
- Identify whether the failure concerns sign-in, transfer, ingest, processing, chat delivery or browser control.
- Record the endpoint and HTTP status without credentials.
- Read the response body within that endpoint’s contract.
- Inspect the current owned revision, conversation or task state.
- Retry only the appropriate read, transfer or control operation.
The platform does not have one universal error envelope. Some endpoints return data/error, some return error/message, and successful chat uses event lines.
HTTP success, a delivered frame and an accepted control establish different facts. Keep each failure beside the state it actually affects.
Upload and ingest failures
| Failure | Interpretation | Recovery |
|---|---|---|
| Unsupported MIME, size or duration | The upload dialog rejected the selected file. | Choose compatible source media. Renaming the file does not convert it. |
| Could not read video metadata | Browser metadata validation failed. | Check the source codec/container and browser playback support. |
| Storage authorization failure | The caller or object path did not pass storage policy. | Check the authenticated owner and existing provisional video row. |
| cleanup-failed | Transfer stopped, but provisional-row cleanup did not finish. | Use cleanup retry before starting another attempt. |
| Ingest 400 | JSON, required unique_key or field validation failed. | Correct the request fields. Do not send source bytes to this route. |
| Ingest 403 | Account identity or video authority was refused. | Restore the correct account or ownership. |
| Ingest 202 pending | The revision request was accepted. | Observe processing; do not treat pending as completed. |
| 409 duplicate_request | Usage admission already recorded this request. | Inspect the existing revision or task before requesting fresh work. |
Processing and publication failures
| Symptom | Check |
|---|---|
| One module failed | Read that module and the latest revision. Overall progress alone cannot prove success. |
| Partial output exists | Check partial_failed or failed outcomes and the output review requirements. |
| Status GET 503 | The application could not read video or stage status. Retry the read with backoff. |
| Progress seems unchanged | A stage can be queued or working. Stale snapshots and active work are different from terminal failure. |
| Revision is superseded | Follow the intended current revision. Superseded is not successful publication. |
| Video is processed but unavailable to viewers | Check publication and authorized source access separately. |
Do not use an internal processing-service token or worker endpoint to bypass a failed owner workflow. Those controls are outside the integration contract.
Chat transport and context failures
| Response or symptom | Meaning or check |
|---|---|
| 400 invalid session_id / invalid_request | Correct the session identity, JSON object and endpoint-specific fields. |
| 403 session not available | Check the session owner and video versus Assistant scope. |
| 401 or refused account credentials | Resolve fresh account credentials through the authorized sign-in flow. |
| 429 usage_limit_exceeded | Read current operation limits and reset guidance. |
| 503 usage_service_unavailable | Admission could not be established. Retain request identity and back off. |
| Unexpected stream parsing error | Confirm application/x-ndjson and buffer incomplete UTF-8/lines. Do not parse chunks as complete JSON. |
| Missing scene or identity evidence | Clarify the request or review video metadata. A model cannot guarantee a missing identity. |
| HTTP stream ended during a task | Inspect the browser workflow separately. stream_done is not agent completion. |
A source-context lookup failure can leave some fields unavailable. Preserve available authored facts and avoid turning an uncertain answer into a verified identity.
Browser controls and external site failures
| Symptom | Recovery boundary |
|---|---|
| Socket disconnected | Refresh account credentials, reconnect to the owned session and replay from the durable cursor. |
| No active critical point | Restore the current decision. Do not fabricate a point ID or repeat an old reply. |
| Selection rejected | Read the rejection reason and current prompt. Sent locally does not mean accepted. |
| Remote browser expired | Allow checkpoint recovery or the offered fresh-confirmation path. Exact DOM state is not guaranteed. |
| CAPTCHA, site challenge or access denial | Inspect the task’s bounded refusal. No bypass or guaranteed site workaround is promised. |
| Payment or sensitive-data handoff | Finish the required external action yourself. It is not proof the transaction completed. |
| Cancel request timed out | Read the current terminal/unfinished state before reporting cancellation. |
| Unfinished task uses capacity | A waiting task can consume an account slot without holding a worker lease. |
Do not resend commands solely to make a status appear successful. Recovery must preserve the raw task restrictions and the current decision’s authority.
Collect useful evidence without private data
- Environment and application/backend origin.
- Endpoint, HTTP status and non-sensitive error code.
- Video, revision, conversation or workflow identity when appropriate.
- Request identity and the last durable cursor.
- The affected stage, current decision type and terminal outcome.
- A redacted screenshot showing the interface state.
Remove bearer tokens, refresh tokens, grants, credential-bearing socket URLs, passwords, personal details and private chat content before sharing evidence.
Include whether you observed source contract behavior, a mock integration or a real deployment. A source read is not proof of a real partner installation.
Physical mobile keyboard behavior, each private partner flow and every cross-worker recovery topology need their own verification. Previous bounded embed proof does not cover them all.