{"apiVersion": "openeyes.nails.web.v1", "boundary": "go_live_production_cutover_execution_completion_local_only", "collectionExecutionEnabled": false, "completionBoundary": {"advancesLocalGoLiveTracker": true, "collectionExecutionEnabled": false, "deployEnabled": false, "liveCollectionEnabled": false, "localStateMutations": false, "mode": "production_cutover_execution_completion_local_files_only", "network": false, "preparesPostCutoverImportConfirmationRequest": true, "preparesPostCutoverImportPreview": true, "productionMutations": false, "readsLocalFiles": true, "requiresExternalProductionCutoverExecutionReceipt": true, "requiresOperatorReviewBeforeLocalStateWrite": true, "requiresProcessStagingEnvironment": true, "secretMaterialReturned": false, "submitEnabled": false, "uploadEnabled": false, "verifiesExternalExecutionReceipt": true, "writesLocalAuditState": false, "writesLocalFiles": true}, "completionContractPath": "/api/web/v1/plugins/nails/production-cutover:production-cutover-execution-contract", "completionPath": "/api/web/v1/plugins/nails/production-cutover:production-cutover-execution", "contract": {"additionalProperties": false, "contractVersion": 1, "methods": ["POST"], "name": "nails-production-cutover-production-cutover-execution", "optionalFields": ["outputDir", "productionAuthorizationReview", "envMode", "replace", "compactOutputFiles"], "requiredFields": ["startBundle", "externalExecutionReceipt"], "schemaDigest": "8f3e499ba139852c470596839ebbefe99942cdc956af199a987dd3409208d81d", "schemaId": "https://openeyes.local/plugins/nails/web/v1/production-cutover-execution-completion-request.schema.json"}, "deployEnabled": false, "links": {"executionReceiptVerify": {"contractPath": "/api/web/v1/plugins/nails/production-cutover:execution-receipt-verify-contract", "method": "POST", "network": false, "path": "/api/web/v1/plugins/nails/production-cutover:execution-receipt-verify"}, "postCutoverImportConfirmed": {"artifact": "<startBundle>/latest-production-cutover-execution-completion.json", "network": false, "nextCommand": "scripts/nails_complete_go_live_post_cutover_import_confirmed.py"}, "productionAuthorization": {"contractPath": "/api/web/v1/plugins/nails/production-cutover:production-authorization-contract", "method": "POST", "network": false, "path": "/api/web/v1/plugins/nails/production-cutover:production-authorization"}}, "liveCollectionEnabled": false, "localStateMutations": false, "localWrapper": {"collectionExecutionEnabled": false, "commandTemplate": "rtk python scripts/nails_complete_go_live_production_cutover_execution.py --start-bundle <startBundle> --external-execution-receipt <external-production-cutover-execution-receipt.json> --output-dir <outputDir>", "deployEnabled": false, "explicitReviewCommandTemplate": "rtk python scripts/nails_complete_go_live_production_cutover_execution.py --start-bundle <startBundle> --external-execution-receipt <external-production-cutover-execution-receipt.json> --production-authorization-review <production-authorization-review.json> --output-dir <outputDir>", "liveCollectionEnabled": false, "localStateMutations": false, "network": false, "productionMutations": false, "script": "scripts/nails_complete_go_live_production_cutover_execution.py", "steps": ["load latest production authorization completion", "verify the external production cutover execution receipt", "prepare a non-mutating post-cutover import preview", "write production cutover execution review and safety-scannable stage report", "prepare post-cutover import confirmation request", "advance production_cutover_execution_review"], "submitEnabled": false, "uploadEnabled": false}, "method": "GET", "network": false, "ok": true, "pluginId": "nails", "productionMutations": false, "route": "/api/web/v1/plugins/nails/production-cutover:production-cutover-execution-contract", "schema": {"$id": "https://openeyes.local/plugins/nails/web/v1/production-cutover-execution-completion-request.schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": {"compactOutputFiles": {"default": false, "description": "Write compact JSON artifacts when true.", "type": "boolean"}, "envMode": {"default": "process", "description": "Use process-provided MALIANG_NAILS_* staging environment signals. Fixture mode is intentionally not accepted.", "enum": ["process"], "type": "string"}, "externalExecutionReceipt": {"description": "Required local path to the real external production cutover execution receipt returned after the external execution.", "minLength": 1, "type": "string"}, "outputDir": {"description": "Optional empty local output directory for production cutover execution completion artifacts. When supplied it must resolve inside the start bundle.", "minLength": 1, "type": "string"}, "productionAuthorizationReview": {"description": "Optional production authorization review report path. Defaults to the latest production authorization completion output.", "minLength": 1, "type": "string"}, "replace": {"default": false, "description": "Allow replacing the production_cutover_execution_review stage entry when advancing the local go-live tracker.", "type": "boolean"}, "startBundle": {"description": "Local go-live start bundle whose production authorization completion prepared an external cutover execution request.", "minLength": 1, "type": "string"}}, "required": ["startBundle", "externalExecutionReceipt"], "title": "Nails Production Cutover Execution Completion Request v1", "type": "object"}, "sideEffects": "local_production_cutover_execution_review_and_post_cutover_import_request_files", "submitEnabled": false, "uploadEnabled": false}