{"productionTouched":false,"databaseTouched":false,"databaseReadAllowed":false,"databaseWriteAllowed":false,"databaseUrlValueAllowed":false,"migrationApplyAllowed":false,"commandExecutionAllowed":false,"runtimeAdapterSwitchAllowed":false,"durableResultWriteAllowed":false,"networkExecutionAllowed":false,"googleContactsReadAllowed":false,"googleContactsWriteAllowed":false,"n8nExecutionAllowed":false,"contactsAgentExecutionAllowed":false,"credentialAccessAllowed":false,"tokenAccessAllowed":false,"telegramSendAllowed":false,"emailSendAllowed":false,"completionNotificationSent":false,"rawContactStorageAllowed":false,"rawExecutionPayloadStorageAllowed":false,"rawShellTranscriptStorageAllowed":false,"ownerDecisionHandoffOnly":true,"requestOnly":true,"ownerDecisionRecorded":false,"implementationStarted":false,"implementationAllowedByThisEndpoint":false,"executionAllowedByThisEndpoint":false,"requiredConsistencyReadiness":"ready-for-durable-result-storage-owner-decision","requiredImplementationRequestReadiness":"ready-for-durable-result-storage-implementation-request","requiredTargetEnvironment":"local-dev","endpoints":[{"method":"GET","path":"/contact-capture/execution-results-migration-rehearsal-storage-owner-decision-handoff-policy"},{"method":"POST","path":"/contact-capture/execution-results-migration-rehearsal-storage-owner-decision-handoff-plan"}],"requiredEvidence":["storage request consistency readiness is ready-for-durable-result-storage-owner-decision","storage request handoff readiness and fingerprint","durable result storage implementation request readiness and fingerprint","storage plan reference, storage plan fingerprint, and case reference","target adapter and feature flag remain the same as the consistency evidence","target environment remains local-dev","confirmation that this endpoint does not record owner decision or start implementation","confirmation that database, migration, runtime switching, live services, raw storage, production, and notifications remain blocked"],"ownerDecisionDraftRules":["draft payload ownerDecision is pending","draft payload ownerDecisionReference is blank until the owner supplies a fresh reference","draft payload is for POST /contact-capture/durable-result-storage-implementation-owner-decision-plan only","draft payload keeps allowImplementationStart, database, migration, runtime, live-service, raw-storage, production, and notification flags false","the handoff endpoint must not post the draft automatically"],"blockedActions":["record owner decisions","post the owner decision draft automatically","start implementation","execute shell commands","accept or store database URL values","connect to a database","read from or write to a database","apply migrations","switch runtime adapters","write durable results","touch production","call live services","access credentials or tokens","store raw contact values, raw execution payloads, or raw shell transcripts","send Telegram, email, or completion notifications"],"stopConditions":["Stop if the consistency check is not ready-for-durable-result-storage-owner-decision.","Stop if the handoff or implementation request reference is missing.","Stop if target environment is not local-dev.","Stop if the handoff would record approval, start implementation, or post the owner-decision payload automatically.","Stop if raw values, secrets, database URL values, production, live services, database effects, migrations, adapter switching, durable writes, or notifications are requested."],"nextStep":"Prepare a pending owner-decision draft from the ready consistency check. Do not record the owner decision, start implementation, migrate, write, switch, execute, or notify from this endpoint."}