Prove that Drive holds a file resource for this upload. The record exists with the intended name in the intended folder. It does not prove that the content of the file arrived.

Contract identity.
FactValue
Contract idgoogle_drive.file.created
Version1.0.0
Hash97a09e09358cb2d0
Completion levelcreated
PublisherBuilt and signed by Provely.
CertificationProvisional
SkillGoogle Drive API 0.1.0
Valid for provider API versionsv3.20260901

What is the intent?

Upload the file into the folder.

What is the subject and the action?

MemberValue
Subject typegoogle_drive.file
Subject identityfile_id = $action.result.id
Canonical effectstorage.file_upload
Provider operationPOST /drive/v3/files
Idempotencynone, retry is not safe

How does the evidence correlate with this operation?

StrategyAssuranceKeysRequired
resource_idstrongfile_id from $action.result.idno
resource_idweakparent_id from $input.parent_idno
fingerprintweakname from $input.name; parent_id from $input.parent_idno

Which evidence does the contract require?

Minimum evidence level E2. An independent channel is required. Minimum channels: 1.

ChannelLevelIndependenceVerifierDescription
file_readbackE2provider readbackhttpRead the file from the provider. A condition path is $observed.file_readback.md5Checksum. Drive writes size as a string with the format int64, so a condition compares a string.
folder_child_eventsE3provider eventwebhookThe notifications of a channel that watches the parent folder, since the operation started. The webhook verifier returns {events, count, latest, earliest, types, duplicates_dropped}. A Drive notification carries an empty body, so a count states how many times the child list changed.

Which conditions must all hold for VERIFIED?

ConditionMeaningPathOperatorExpectedEvidence
file_presentThe provider holds the file with the identifier of the upload answer.$observed.file_readback.ideq$action.result.idfile_readback
file_name_matchesThe name of the file equals the requested name.$observed.file_readback.nameeq$input.namefile_readback
file_in_requested_parentThe first parent of the file equals the requested folder. Drive states that a file has one parent folder only.$observed.file_readback.parents[0]eq$input.parent_idfile_readback
file_created_in_windowThe provider created the file after the operation started.$observed.file_readback.createdTimetime_after$operation.created_atfile_readback
folder_gained_a_childAt least one notification says that the child list of the parent folder changed since the operation started. The duplicate guard reads the same channel, so a workspace with no notification channel cannot verify and cannot miss a second upload either.$observed.folder_child_events.countgte1folder_child_events

Which conditions give CONTRADICTED?

ConditionClassReasonPathOperatorExpected
file_in_wrong_parentwrong subjectThe file sits in a different folder than the intent named.$observed.file_readback.parents[0]ne$input.parent_id
file_name_differswrong subjectThe file carries a different name than the intent named.$observed.file_readback.namene$input.name
file_predates_operationpre existing stateThe file is older than the operation. It proves nothing.$observed.file_readback.createdTimetime_before$operation.created_at
file_moved_to_trashotherThe file is in the trash. Ask a person before you act again.$observed.file_readback.trashedeqtrue
duplicate_file_in_folderduplicate side effectThe child list of the folder changed more than once since the operation started. Do not retry the upload.$observed.folder_child_events.countgt1

Which observed states map to a verdict before completion?

The contract declares no verdict map. The completion block decides.

How long does the runtime observe?

Timing memberValue
Initial delay1000 ms
Poll interval5000 ms
Backoffexponential factor 2, max 60000 ms
Maximum attempts40
Timeout900000 ms
Stale read window20000 ms
On timeoutUNVERIFIABLE (evidence_unavailable_before_timeout), escalated to a person

Where do these rules come from?

  • google_drive.openapi#/paths/~1drive~1v3~1files/post: google_drive.openapi, retrieved 2026-09-09
  • google_drive.openapi#/paths/~1drive~1v3~1files/post/responses/200: google_drive.openapi, retrieved 2026-09-09
  • google_drive.docs.uploads#upload-file-data/the-first-request-of-a-resumable-upload: google_drive.docs.uploads, retrieved 2026-09-09
  • google_drive.docs.uploads#upload-file-data/the-three-upload-types: google_drive.docs.uploads, retrieved 2026-09-09
  • google_drive.openapi#/components/schemas/File/properties/id: google_drive.openapi, retrieved 2026-09-09
  • google_drive.openapi#/paths/~1drive~1v3~1files~1{fileId}/get/responses/200: google_drive.openapi, retrieved 2026-09-09
  • google_drive.openapi#/components/schemas/File/properties/name: google_drive.openapi, retrieved 2026-09-09
  • google_drive.openapi#/paths/~1drive~1v3~1files/post/requestBody: google_drive.openapi, retrieved 2026-09-09
  • google_drive.openapi#/components/schemas/File/properties/parents: google_drive.openapi, retrieved 2026-09-09
  • google_drive.openapi#/components/schemas/File/properties/createdTime: google_drive.openapi, retrieved 2026-09-09
  • google_drive.events#/events/drive.file.update.children: google_drive.events, retrieved 2026-09-09
  • google_drive.docs.push#push-notifications/the-changed-members: google_drive.docs.push, retrieved 2026-09-09
  • google_drive.openapi#/paths/~1drive~1v3~1files~1{fileId}~1watch/post: google_drive.openapi, retrieved 2026-09-09

Can google_drive.file.created return VERIFIED from the action response alone?

No. The minimum evidence level is E2. The action response is E1. The completion conditions read file_readback and folder_child_events.

What happens after the timeout?

The verdict is UNVERIFIABLE with the reason evidence_unavailable_before_timeout. The operation goes to a person for review.