No. Google Docs API returns a success response when it accepts the request. The document then holds one of 3 states. Only at_write_revision is terminal success. Provely proves text_replaced and update_applied as separate promises.
| Fact | Value |
|---|---|
| Skill version | 0.1.0 |
| Publisher | Built and signed by Provely. |
| Certification | Provisional (score 49 of 100) |
| Last conformance run | 2026-09-05T12:00:00Z: 22 of 22 cases passed, 0 critical false VERIFIED |
| Provider API versions | v1.20260902 |
| Default provider API version | v1.20260902 |
| Compiled | 2026-09-05T12:00:00Z by compiler 0.1.0 |
| Manifest hash | ab666762d202e381 |
| Manifest hash check | the document hashes to the value the manifest states |
| Signature | valid, key provely-skill-2026-09, trusted by this build |
What does this page prove?
| Claim | Proven by | Evidence | Status |
|---|---|---|---|
| A batch update that landed is not one that reached its promise. This level reads the text runs of every tab against the confirmed text. | google_docs.document.text_replaced | E2 | proven |
| The document that the person named holds the revision that this update produced. This level does not prove what the update changed. | google_docs.document.update_applied | E2 | proven |
| An outcome outside Google Docs API, such as a bank credit or a person who read a message | not proven | no E5 channel | not proven |
| The agent report that the action worked | never counts | E0 | not proven |
Which completion levels does the Google Docs 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.
| Level | Contract | Promise | Evidence | Certification |
|---|---|---|---|---|
text_replaced | google_docs.document.text_replaced v1.0.0 | A batch update that landed is not one that reached its promise. This level reads the text runs of every tab against the confirmed text. | E2 | Provisional |
update_applied | google_docs.document.update_applied v1.0.0 | The document that the person named holds the revision that this update produced. This level does not prove what the update changed. | E2 | Provisional |
What is the Google Docs API lifecycle?
Which states can a google_docs.document be in?
| State | Class | Verdict | Meaning | Source |
|---|---|---|---|---|
at_base_revision | transitional | PENDING | The document holds the revision that the agent read before the write. The published sentence states that an unchanged revision identifier means an unchanged document. | google_docs.docs.write_control |
at_write_revision | terminal success | VERIFIED | The document holds the revision that this batch update produced. The published schema states that a required revision identifier inside a response is the revision of the document after the request was applied. | google_docs.docs.write_control |
at_later_revision | terminal neutral | FAILED | The document holds a revision that this batch update did not produce. A second batch update or another collaborator wrote after it. Docs reports no failure for that world. | google_docs.docs.write_control |
In google_docs.document under provider API version v1.20260902, at_write_revision is the only state that means terminal success. Every other state gives PENDING, FAILED, or UNVERIFIABLE.
Source: google_docs.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.
| Strategy | Assurance | Keys | Required | Window |
|---|---|---|---|---|
resource_id | strong | document_id from $action.result.documentId | yes | none |
resource_id | strong | write_revision_id from $action.result.writeControl.requiredRevisionId | no | none |
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 Google Docs API is E1 and never terminal success.
| Channel | Level | Independence | Verifier | Deterministic | Typical latency |
|---|---|---|---|---|---|
document_readback | E2 | provider readback | http | yes | 400 ms |
Which ways can a Google Docs API action look done and not be?
| Contract | Case | Rule | Verdict |
|---|---|---|---|
| google_docs.document.text_replaced | wrong subject | The agent changed a different document than the intent named. | CONTRADICTED |
| google_docs.document.text_replaced | observed state | The document holds a revision that this write did not produce. A second batch update or another person wrote after it. The Docs API states no idempotency key, so do not write again. Ask a person. | CONTRADICTED |
| google_docs.document.text_replaced | observed state | The read carries no revision identifier. The published description states that the member needs edit access. Check the credential of the verifier. | PENDING |
| google_docs.document.update_applied | wrong subject | The agent changed a different document than the intent named. | CONTRADICTED |
| google_docs.document.update_applied | observed state | The document holds a revision that this write did not produce. A second batch update or another person wrote after it. The Docs API states no idempotency key, so do not write again. Ask a person. | CONTRADICTED |
| google_docs.document.update_applied | observed state | The read carries no revision identifier. The published description states that the member needs edit access. Check the credential of the verifier. | PENDING |
What did the last conformance run show?
| Dimension | Score | Maximum |
|---|---|---|
| Documentation | 12 | 20 |
| Schema alignment | 14 | 15 |
| Lifecycle certainty | 20 | 20 |
| Evidence strength | 12 | 20 |
| Causal correlation | 15 | 15 |
| Sandbox conformance | 10 | 10 |
| Raw score | 83 | 100 |
| Score after the caps | 49 | 100 |
The raw score is 83. 2 hard caps apply, so the score is 49 and the level is Provisional.
| Reason | Highest score it allows |
|---|---|
| 16 uncertainty records are open. The lowest cap is 49. | 49 |
| 2 mandatory cases are missing. Example: google_docs.document.text_replaced:terminal_failure. | 74 |
| Contract | Raw score | Score after the caps | Certification |
|---|---|---|---|
google_docs.document.text_replaced | 82.13 | 49 | Provisional |
google_docs.document.update_applied | 84 | 49 | Provisional |
The weakest contract is google_docs.document.text_replaced. 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 22 of 22 cases with 0 critical false VERIFIED. One critical false VERIFIED rejects a skill.
| Case class | Passed | Total |
|---|---|---|
| duplicate side effect | 2 | 2 |
| error after execution | 2 | 2 |
| error before execution | 2 | 2 |
| evidence unavailable | 2 | 2 |
| pre existing state | 2 | 2 |
| stale readback | 2 | 2 |
| still transitional | 2 | 2 |
| terminal success | 2 | 2 |
| timeout after commit | 2 | 2 |
| version mismatch | 2 | 2 |
| wrong subject | 2 | 2 |
The conformance artifact digest is 45a9e667907800e3. 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. 16 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.
| Source | Kind | Retrieved | Excerpt |
|---|---|---|---|
| google_docs.docs.batch | docs | 2026-09-09 | authored |
| google_docs.docs.versions | docs | 2026-09-09 | authored |
| google_docs.docs.write_control | docs | 2026-09-09 | authored |
| google_docs.openapi | openapi | 2026-09-09 | trimmed |
How do I verify a Google Docs API action?
Verify a Google Docs API action with Provely
- Begin the operation.Call
beginwith the contractgoogle_docs.document.text_replacedand the input. Keep the operation id. - Make the Google Docs API call you make today.Send the request with the correlation metadata that
beginreturned. - Submit the acknowledgement.Call
action_resultwith the Google Docs API response. This is evidence level E1. It is not completion. - Verify.Call
verify. The runtime readsdocument_readbackand evaluates the contract. - 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 text_replaced level prove the update_applied level?
No. A batch update that landed is not one that reached its promise. This level reads the text runs of every tab against the confirmed text. The document that the person named holds the revision that this update produced. This level does not prove what the update changed. Use google_docs.document.update_applied to prove update_applied.
What does the agent say while Google Docs API reports at_base_revision?
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 Google Docs API API versions does the skill support?
v1.20260902. An operation on another version returns UNVERIFIABLE with the reason version_unsupported. The runtime never guesses.
Does Provely need write access to Google Docs API?
No. The agent keeps its write key. The verifier reads with a separate read-only credential where Google Docs API permits it, and it never shares that credential with the agent.