No. OpenAI Platform API returns a success response when it accepts the request. The batch then holds one of 8 states. Only completed is terminal success. Provely proves all_requests_succeeded, completed and succeeded as separate promises.

Skill facts from the signed manifest.
FactValue
Skill version0.1.0
PublisherBuilt and signed by Provely.
CertificationProvisional (score 49 of 100)
Last conformance run2026-09-05T12:00:00Z: 41 of 41 cases passed, 0 critical false VERIFIED
Provider API versionsspec_2_3_0
Default provider API versionspec_2_3_0
Compiled2026-09-05T12:00:00Z by compiler 0.1.0
Manifest hash43f3e094fd9eea85
Manifest hash checkthe document hashes to the value the manifest states
Signaturevalid, key provely-skill-2026-09, trusted by this build

What does this page prove?

ClaimProven byEvidenceStatus
A batch that reaches the status completed is not a batch in which every request succeeded. This level reads request_counts and refuses a batch with a failed count above zero.openai.batch.all_requests_succeededE2 + E3proven
The provider ran the batch and the results are ready. This level does not prove that every request inside the batch succeeded. Read openai.batch.all_requests_succeeded for that promise.openai.batch.completedE2 + E3proven
The job reached the status succeeded and the member fine_tuned_model holds a name. The level does not prove that the model answers a request. No published operation states that.openai.fine_tuning_job.succeededE2 + E3proven
An outcome outside OpenAI Platform API, such as a bank credit or a person who read a messagenot provenno E5 channelnot proven
The agent report that the action workednever countsE0not proven

Which completion levels does the OpenAI Platform API skill expose?

Each level is one promise with one contract. An agent picks the level that matches the promise it makes. It cannot upgrade a level. Read the completion level definition.

LevelContractPromiseEvidenceCertification
all_requests_succeededopenai.batch.all_requests_succeeded v1.0.0A batch that reaches the status completed is not a batch in which every request succeeded. This level reads request_counts and refuses a batch with a failed count above zero.E2 + E3Provisional
completedopenai.batch.completed v1.0.0The provider ran the batch and the results are ready. This level does not prove that every request inside the batch succeeded. Read openai.batch.all_requests_succeeded for that promise.E2 + E3Provisional
succeededopenai.fine_tuning_job.succeeded v1.0.0The job reached the status succeeded and the member fine_tuned_model holds a name. The level does not prove that the model answers a request. No published operation states that.E2 + E3Provisional

What is the OpenAI Platform API lifecycle?

Which states can a openai.batch be in?

StateClassVerdictMeaningSource
validatingtransitionalPENDINGThe input file is being validated before the batch can begin.openai.openapi
in_progresstransitionalPENDINGThe input file was successfully validated and the batch is currently being run.openai.openapi
finalizingtransitionalPENDINGThe batch has completed and the results are being prepared.openai.openapi
completedterminal successVERIFIEDThe batch has been completed and the results are ready. The status states nothing about the requests inside the batch. Read request_counts.openai.openapi
failedterminal failureFAILEDThe input file has failed the validation process.openai.openapi
expiredterminal failureFAILEDThe batch was not able to be completed within the 24-hour time window. The provider cancelled the unfinished requests.openai.openapi
cancellingtransitionalPENDINGThe batch is being cancelled. The change may take up to 10 minutes.openai.openapi
cancelledterminal neutralFAILEDA person or an agent cancelled the batch. The provider reports no failure.openai.openapi

In openai.batch under provider API version spec_2_3_0, completed is the only state that means terminal success. Every other state gives PENDING, FAILED, or UNVERIFIABLE.

Source: openai.openapi · retrieved 2026-09-09

Which states can a openai.fine_tuning_job be in?

StateClassVerdictMeaningSource
validating_filestransitionalPENDINGThe provider is checking the training file and the validation file. The job has not started.openai.openapi
queuedtransitionalPENDINGThe provider accepted the job. No training has started.openai.openapi
runningtransitionalPENDINGThe provider is training the model. The members fine_tuned_model, finished_at, and trained_tokens are null while the job runs.openai.openapi
succeededterminal successVERIFIEDThe training finished. The member fine_tuned_model names the new model, and the member finished_at records the time.openai.openapi
failedterminal failureFAILEDThe training did not finish. The member error states the code, the message, and the invalid parameter.openai.openapi
cancelledterminal neutralFAILEDA person or an agent cancelled the job. The provider reports no failure.openai.openapi

In openai.fine_tuning_job under provider API version spec_2_3_0, succeeded is the only state that means terminal success. Every other state gives PENDING, FAILED, or UNVERIFIABLE.

Source: openai.openapi · retrieved 2026-09-09

How does Provely tie the evidence to this exact operation?

A matching state that already existed must not verify. Every contract names the correlation keys that bind the evidence to the operation, and the idempotency key that stops a duplicate side effect.

StrategyAssuranceKeysRequiredWindow
resource_idstrongbatch_id from $action.result.idyesnone
fingerprintweakinput_file_id from $input.input_file_id; endpoint from $input.endpointno600000 ms
resource_idstrongfine_tuning_job_id from $action.result.idyesnone
fingerprintweaktraining_file from $input.training_fileno600000 ms
The skill reads the channels below. It prefers the ones furthest from the action.
In words
  • E0 agent assertion: never sufficient.
  • E1 action response: the provider acknowledged the request.
  • E2 provider readback: the runtime read the resource back.
  • E3 provider event: the provider reported the change.
  • E4 independent system: a system outside the action path agrees.
  • E5 external outcome: the result is observable in the world.

Which evidence channels does the skill read?

The runtime prefers the channel that is more independent from the action path. Read the evidence level definition. An acknowledgement from OpenAI Platform API is E1 and never terminal success.

ChannelLevelIndependenceVerifierDeterministicTypical latency
batch_action_responseE1same responseaction_resultyesnot stated
batch_completed_eventsE3provider eventwebhookno5000 ms
batch_readbackE2provider readbackhttpyes400 ms
fine_tuning_job_action_responseE1same responseaction_resultyesnot stated
fine_tuning_job_readbackE2provider readbackhttpyes400 ms
fine_tuning_job_succeeded_eventsE3provider eventwebhookno5000 ms

Which ways can a OpenAI Platform API action look done and not be?

ContractCaseRuleVerdict
openai.batch.all_requests_succeededwrong subjectThe batch reads a different input file than the intent named.CONTRADICTED
openai.batch.all_requests_succeededwrong subjectThe batch calls a different endpoint than the intent named.CONTRADICTED
openai.batch.all_requests_succeededpre existing stateThe batch is older than the operation. It proves nothing.CONTRADICTED
openai.batch.all_requests_succeededpartial completionThe batch finished, and requests inside it failed. Do not retry the batch: the requests that succeeded would run a second time. Ask a person.CONTRADICTED
openai.batch.all_requests_succeededobserved stateThe batch finished, and requests inside it failed. A retry would run the requests that succeeded a second time. Ask a person.CONTRADICTED
openai.batch.all_requests_succeededobserved stateThe provider ended the batch without results. Read the errors of the input file.FAILED
openai.batch.all_requests_succeededobserved stateA person or an agent cancelled the batch. Ask a person before a new batch runs.CONTRADICTED
openai.batch.all_requests_succeededobserved stateThe batch has not reached a terminal status. The runtime observes again later.PENDING
openai.batch.completedwrong subjectThe batch reads a different input file than the intent named.CONTRADICTED
openai.batch.completedwrong subjectThe batch calls a different endpoint than the intent named.CONTRADICTED
openai.batch.completedpre existing stateThe batch is older than the operation. It proves nothing.CONTRADICTED
openai.batch.completedobserved stateThe provider ended the batch without results. Read the errors of the input file.FAILED
openai.batch.completedobserved stateA person or an agent cancelled the batch. Ask a person before a new batch runs.CONTRADICTED
openai.batch.completedobserved stateThe batch has not reached a terminal status. The runtime observes again later.PENDING
openai.fine_tuning_job.succeededwrong subjectThe job trained on a different file than the intent named.CONTRADICTED
openai.fine_tuning_job.succeededpre existing stateThe fine-tuning job is older than the operation. It proves nothing.CONTRADICTED
openai.fine_tuning_job.succeededobserved stateThe training did not finish. The member error of the job states the cause.FAILED
openai.fine_tuning_job.succeededobserved stateA person or an agent cancelled the fine-tuning job. Ask a person before a second run starts.CONTRADICTED
openai.fine_tuning_job.succeededobserved stateThe job has not reached a terminal status. The training may take hours, so the runtime observes again later.PENDING

What did the last conformance run show?

The six confidence dimensions of the signed manifest.
DimensionScoreMaximum
Documentation1420
Schema alignment13.8815
Lifecycle certainty2020
Evidence strength1620
Causal correlation1515
Sandbox conformance1010
Raw score88.88100
Score after the caps49100

The raw score is 88.88. 2 hard caps apply, so the score is 49 and the level is Provisional.

Why the score is capped.
ReasonHighest score it allows
15 uncertainty records are open. The lowest cap is 49.49
3 mandatory cases are missing. Example: openai.batch.all_requests_succeeded:duplicate_side_effect.74
The score and the level of each contract.
ContractRaw scoreScore after the capsCertification
openai.batch.all_requests_succeeded89.1249Provisional
openai.batch.completed88.6449Provisional
openai.fine_tuning_job.succeeded88.7549Provisional

The weakest contract is openai.batch.all_requests_succeeded. It scores 49 and reaches Provisional. The package level is Provisional, because a package level never rises above its weakest contract. Read the level of the contract you use.

The last conformance run on 2026-09-05T12:00:00Z passed 41 of 41 cases with 0 critical false VERIFIED. One critical false VERIFIED rejects a skill.

The conformance result by case class.
Case classPassedTotal
error after execution33
error before execution33
evidence unavailable33
pre existing state33
stale readback33
still transitional33
terminal failure33
terminal success33
timeout after commit33
version mismatch33
webhook duplicate33
webhook out of order33
wrong subject33
wrong terminal state22

The conformance artifact digest is 5d615bdc87a754e5. The harness signs the run, so a reader can check that these numbers come from that run.

What remains uncertain?

The level is Provisional because of it. 15 uncertainty records are open. The lowest cap is 49. Provely does not guess a rule that a source does not state.

Where do these facts come from?

Every claim above cites a source assertion in the skill provenance. The compiler records the source, its hash, and the retrieval date. A page never states a provider rule without one.

SourceKindRetrievedExcerpt
openai.docs.batchdocs2026-09-09authored
openai.docs.fine_tuningdocs2026-09-09authored
openai.docs.versionsdocs2026-09-09authored
openai.docs.webhooksdocs2026-09-09authored
openai.eventsevent sample2026-09-09authored
openai.openapiopenapi2026-09-09trimmed

How do I verify a OpenAI Platform API action?

Verify a OpenAI Platform API action with Provely

  1. Begin the operation.Call begin with the contract openai.batch.all_requests_succeeded and the input. Keep the operation id.
  2. Make the OpenAI Platform API call you make today.Send the request with the correlation metadata that begin returned.
  3. Submit the acknowledgement.Call action_result with the OpenAI Platform API response. This is evidence level E1. It is not completion.
  4. Verify.Call verify. The runtime reads batch_action_response, batch_completed_events, batch_readback, fine_tuning_job_action_response, fine_tuning_job_readback and fine_tuning_job_succeeded_events and evaluates the contract.
  5. Report the verdict exactly as returned.VERIFIED comes with a signed receipt. PENDING comes with the operation id. CONTRADICTED and UNVERIFIABLE are not success.

Questions developers ask

Does the all_requests_succeeded level prove the succeeded level?

No. A batch that reaches the status completed is not a batch in which every request succeeded. This level reads request_counts and refuses a batch with a failed count above zero. The job reached the status succeeded and the member fine_tuned_model holds a name. The level does not prove that the model answers a request. No published operation states that. Use openai.fine_tuning_job.succeeded to prove succeeded.

What does the agent say while OpenAI Platform API reports validating, in_progress, finalizing and cancelling?

It says: "The action is accepted but not yet verified. Operation: <id>." The verdict is PENDING. The runtime observes again on the contract timing policy.

Which OpenAI Platform API API versions does the skill support?

spec_2_3_0. An operation on another version returns UNVERIFIABLE with the reason version_unsupported. The runtime never guesses.

Does Provely need write access to OpenAI Platform API?

No. The agent keeps its write key. The verifier reads with a separate read-only credential where OpenAI Platform API permits it, and it never shares that credential with the agent.