{"productionTouched":false,"databaseTouched":false,"inputMode":"ocr-text-only","rawImageUploadAllowed":false,"rawImageStorageAllowed":false,"rawProviderPayloadStorageAllowed":false,"liveOcrAllowed":false,"ocrExecutionAllowed":false,"n8nExecutionAllowed":false,"googleContactsReadAllowed":false,"googleContactsWriteAllowed":false,"completionNotificationAllowed":false,"outputContract":{"planEndpoint":"/contact-capture/ocr-field-extraction-plan","previewEndpoint":"/contact-capture/preview","reviewEndpoint":"/contact-capture/operator-review-correction-plan","nextApprovalEndpoint":"/contact-capture/duplicate-read-approval-packet-plan"},"requiredInputs":["ocrText","sourceReference","operatorName"],"requiredOperatorChecks":["Compare each extracted field against the business card image or QR source.","Correct name splitting, company, title, phone type, email type, and website placement before dedupe.","Confirm at least displayName plus one phone or email before requesting duplicate lookup approval.","Do not send a completion notification from field extraction output."],"fieldOrder":["displayName","givenName","familyName","organization","title","phones","emails","websites","addresses","notes"],"stopConditions":["Raw image bytes would be uploaded or stored by this endpoint.","Raw OCR provider payload would be stored by this endpoint.","OCR provider execution, credential access, or token lookup would start.","n8n, Contacts Agent, Google Contacts read/write, or production workflow execution would start.","A Telegram/email/user completion notification would be sent before verified write evidence exists."],"nextStep":"Submit already extracted OCR text, review fieldRows with the operator, then continue to correction and duplicate-read approval planning."}