---
{
  "id": "platform.form.operation-acceptance-contract",
  "topic": "form",
  "title": "Form operation acceptance contract",
  "locale": "en",
  "version": "2026-08-03",
  "summary": "A Form operation is accepted only after one intended write and server-backed live readback of the requested fields.",
  "content": "Operation acceptance contract: target the exact requested Form and never substitute another resource family. Validate arguments without creating a temporary resource. Execute the intended create operation once; retries in the same turn with the same target name must replay the original result rather than create another resource.\n\nAfter a successful create or update, use the returned resource ID for a live server readback. Verify title, formId, field count, labels, types, required flags, and options. The response is complete only when the readback matches the request and reports verificationSource=live_read. If any requested field is absent or mismatched, report partial completion and identify the mismatch. Never create a second resource merely to validate a schema or verify the first one.\n\nTool output and the live Action Registry override this card. A successful write response without live readback proves only that a skeleton exists; it does not satisfy the operation.\n",
  "aliases": [
    "operation acceptance",
    "completion verification",
    "create and read back",
    "live readback",
    "no duplicate resource"
  ],
  "tags": [
    "form",
    "operation-acceptance",
    "live-readback",
    "idempotency"
  ],
  "relatedActions": [
    "arinova.form.create_form",
    "arinova.form.get_form"
  ],
  "relatedActionPrefixes": [],
  "url": "https://docs.arinova.ai/en/kb/form/operation-acceptance-contract/"
}
---

Operation acceptance contract: target the exact requested Form and never substitute another resource family. Validate arguments without creating a temporary resource. Execute the intended create operation once; retries in the same turn with the same target name must replay the original result rather than create another resource.

After a successful create or update, use the returned resource ID for a live server readback. Verify title, formId, field count, labels, types, required flags, and options. The response is complete only when the readback matches the request and reports verificationSource=live_read. If any requested field is absent or mismatched, report partial completion and identify the mismatch. Never create a second resource merely to validate a schema or verify the first one.

Tool output and the live Action Registry override this card. A successful write response without live readback proves only that a skeleton exists; it does not satisfy the operation.
