Last reviewed 2026-09-05Skill version 0.1.0Provisional
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.
How does the evidence correlate with this operation?
Strategy
Assurance
Keys
Required
resource_id
strong
file_id from $action.result.id
no
resource_id
weak
parent_id from $input.parent_id
no
fingerprint
weak
name from $input.name; parent_id from $input.parent_id
no
Which evidence does the contract require?
Minimum evidence level E2. An independent channel is required. Minimum channels: 1.
Channel
Level
Independence
Verifier
Description
file_readback
E2
provider readback
http
Read 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_events
E3
provider event
webhook
The 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?
Condition
Meaning
Path
Operator
Expected
Evidence
file_present
The provider holds the file with the identifier of the upload answer.
$observed.file_readback.id
eq
$action.result.id
file_readback
file_name_matches
The name of the file equals the requested name.
$observed.file_readback.name
eq
$input.name
file_readback
file_in_requested_parent
The 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_id
file_readback
file_created_in_window
The provider created the file after the operation started.
$observed.file_readback.createdTime
time_after
$operation.created_at
file_readback
folder_gained_a_child
At 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.count
gte
1
folder_child_events
Which conditions give CONTRADICTED?
Condition
Class
Reason
Path
Operator
Expected
file_in_wrong_parent
wrong subject
The file sits in a different folder than the intent named.
$observed.file_readback.parents[0]
ne
$input.parent_id
file_name_differs
wrong subject
The file carries a different name than the intent named.
$observed.file_readback.name
ne
$input.name
file_predates_operation
pre existing state
The file is older than the operation. It proves nothing.
$observed.file_readback.createdTime
time_before
$operation.created_at
file_moved_to_trash
other
The file is in the trash. Ask a person before you act again.
$observed.file_readback.trashed
eq
true
duplicate_file_in_folder
duplicate side effect
The child list of the folder changed more than once since the operation started. Do not retry the upload.
$observed.folder_child_events.count
gt
1
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 member
Value
Initial delay
1000 ms
Poll interval
5000 ms
Backoff
exponential factor 2, max 60000 ms
Maximum attempts
40
Timeout
900000 ms
Stale read window
20000 ms
On timeout
UNVERIFIABLE (evidence_unavailable_before_timeout), escalated to a person