{"productionTouched":false,"databaseTouched":false,"databaseReadAllowed":false,"databaseWriteAllowed":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,"approvalValidationOnly":true,"rehearsalStarted":false,"executionAllowedByThisEndpoint":false,"requiredPreShellEvidenceReviewReadiness":"ready-for-final-pre-shell-owner-review","requiredOwnerReply":"I approve running the disposable Contact Capture execution results migration rehearsal now.","requiredMigrationPath":"db/migrations/005_contact_capture_execution_results.sql","requiredValidationCommand":"npm run validate:contact-capture-execution-results-schema","requiredDatabaseUrlEnvName":"CONTACT_CAPTURE_REHEARSAL_DATABASE_URL","targetTable":"contact_capture_execution_results","endpoints":[{"method":"GET","path":"/contact-capture/execution-results-migration-rehearsal-shell-run-approval-policy"},{"method":"POST","path":"/contact-capture/execution-results-migration-rehearsal-shell-run-approval-plan"}],"requiredEvidence":["ready pre-shell evidence review reference and fingerprint","owner run request reference and fingerprint","shell instruction reference and fingerprint","fresh owner reply reference and received-at timestamp","exact required owner reply phrase","local-dev or disposable-test-db target alias","database URL environment variable name only","exact migration path and local validation command","approval-validation-only and separate-shell-session confirmations","no command, database, migration, adapter, production, credential, raw storage, owner-reply bypass, or notification effects"],"blockedActions":["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 or staging","call live services","access credentials or tokens","store raw payloads","send completion notifications","skip the fresh owner reply"],"stopConditions":["Stop if pre-shell evidence review is missing or not ready.","Stop if the owner reply does not match the required phrase exactly.","Stop if the target is not local-dev or disposable-test-db.","Stop if a database URL value is present instead of an environment variable name.","Stop if production, staging, live services, credentials, tokens, raw payloads, or notifications are requested.","Stop if anyone expects this endpoint to execute shell commands or database work."],"nextStep":"Validate the fresh owner reply locally, then run any actual commands only in a separate Strict Control shell with the database URL kept outside the app."}