results() observes readiness and returns BatchResults. Call
isAvailable() before iterating. Its items() traversal is lazy and one-pass;
a second traversal of the same object throws. Request another results()
snapshot for a later read.
Fireworks’ explicit control-plane adapter currently reports Unsupported and
throws before fetching result files because its output-record codec is not yet
qualified.
Pending while processing and becomes Unavailable if the job ends without
another output source.
OpenAI can emit cancellation errors with custom_id: null. Their key() is
null; the native record remains in provenance(). Do not assign such rows to
an input key without separate evidence.
BatchItemResult::provenance() retains the native record, artifact identity,
and any native record ID. A synthetic envelope used to reuse an existing
InferenceResponse decoder is marked as such; it does not claim that a live
HTTP inference call occurred for each row.
xAI can publish partial pages before a job finishes. A later results() call
may return keys seen earlier. Upsert by the caller key, not by a decoded
response UUID, and do not treat an exhausted current page as proof that no
future outcomes will appear. A final result snapshot likewise does not prove
that every expected key has a retained artifact; reconcile with the saved
expected count and job progress. Provider retention can make artifacts
unavailable after execution has ended. For xAI, expire_time (or
expires_at) marks the point after which results are no longer accessible;
a completed job can therefore report Unavailable without changing its
execution status.