{"apiVersion": "openeyes.nails.web.v1", "boundary": "go_live_post_cutover_import_confirmed_completion_local_only", "collectionExecutionEnabled": false, "completionBoundary": {"advancesLocalGoLiveTracker": true, "collectionExecutionEnabled": false, "confirmsPostCutoverImport": true, "deployEnabled": false, "liveCollectionEnabled": false, "localStateMutations": true, "mode": "post_cutover_import_confirmed_completion_local_state_write_only", "network": false, "preparesFillableGoLiveEvidence": true, "preparesLaunchAuditEvidenceRequest": true, "productionMutations": false, "queriesWrittenPostCutoverState": true, "readsLocalFiles": true, "requiresExplicitStateRoot": true, "requiresExternalGoLiveEvidenceAfterCompletion": true, "requiresProcessStagingEnvironment": true, "secretMaterialReturned": false, "stateRootMustBeInsideStartBundle": true, "submitEnabled": false, "uploadEnabled": false, "writesLocalAuditState": true, "writesLocalFiles": true}, "completionContractPath": "/api/web/v1/plugins/nails/production-cutover:post-cutover-import-confirmed-contract", "completionPath": "/api/web/v1/plugins/nails/production-cutover:post-cutover-import-confirmed", "contract": {"additionalProperties": false, "contractVersion": 1, "methods": ["POST"], "name": "nails-production-cutover-post-cutover-import-confirmed", "optionalFields": ["outputDir", "productionCutoverExecutionReview", "envMode", "replace", "compactOutputFiles"], "requiredFields": ["startBundle", "stateRoot"], "schemaDigest": "f35abd324f9a75c47971f507139d355eb9f6b637e0b42ebcd8deb9324bc1a917", "schemaId": "https://openeyes.local/plugins/nails/web/v1/post-cutover-import-confirmed-completion-request.schema.json"}, "deployEnabled": false, "links": {"launchAuditReview": {"artifact": "<startBundle>/latest-post-cutover-import-confirmed-completion.json", "network": false, "nextCommand": "scripts/nails_complete_go_live_launch_audit_review.py"}, "postCutoverImportConfirmedWrite": {"contractPath": "/api/web/v1/plugins/nails/production-cutover:post-cutover-import-confirmed-write-contract", "localStateMutations": true, "method": "POST", "network": false, "path": "/api/web/v1/plugins/nails/production-cutover:post-cutover-import-confirmed-write"}, "productionCutoverExecution": {"contractPath": "/api/web/v1/plugins/nails/production-cutover:production-cutover-execution-contract", "method": "POST", "network": false, "path": "/api/web/v1/plugins/nails/production-cutover:production-cutover-execution"}}, "liveCollectionEnabled": false, "localStateMutations": true, "localWrapper": {"collectionExecutionEnabled": false, "commandTemplate": "rtk python scripts/nails_complete_go_live_post_cutover_import_confirmed.py --start-bundle <startBundle> --state-root <stateRoot> --output-dir <outputDir>", "deployEnabled": false, "explicitReviewCommandTemplate": "rtk python scripts/nails_complete_go_live_post_cutover_import_confirmed.py --start-bundle <startBundle> --state-root <stateRoot> --production-cutover-execution-review <production-cutover-execution-review.json> --output-dir <outputDir>", "liveCollectionEnabled": false, "localStateMutations": true, "network": false, "productionMutations": false, "script": "scripts/nails_complete_go_live_post_cutover_import_confirmed.py", "steps": ["load latest production cutover execution completion", "write confirmed local post-cutover audit-state record under explicit state root", "query the written post-cutover state digest", "write post-cutover import confirmed review and safety-scannable stage report", "prepare launch audit evidence request and fillable go-live evidence", "advance post_cutover_import_confirmed"], "submitEnabled": false, "uploadEnabled": false}, "method": "GET", "network": false, "ok": true, "pluginId": "nails", "productionMutations": false, "route": "/api/web/v1/plugins/nails/production-cutover:post-cutover-import-confirmed-contract", "schema": {"$id": "https://openeyes.local/plugins/nails/web/v1/post-cutover-import-confirmed-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"}, "outputDir": {"description": "Optional empty local output directory for post-cutover import confirmed completion artifacts. When supplied it must resolve inside the start bundle.", "minLength": 1, "type": "string"}, "productionCutoverExecutionReview": {"description": "Optional production cutover execution review report path. Defaults to the latest production cutover execution completion output.", "minLength": 1, "type": "string"}, "replace": {"default": false, "description": "Allow replacing the post_cutover_import_confirmed stage entry when advancing the local go-live tracker.", "type": "boolean"}, "startBundle": {"description": "Local go-live start bundle whose production cutover execution review prepared a post-cutover import confirmation request.", "minLength": 1, "type": "string"}, "stateRoot": {"description": "Explicit local audit state root for the confirmed post-cutover import write. It must resolve inside the start bundle.", "minLength": 1, "type": "string"}}, "required": ["startBundle", "stateRoot"], "title": "Nails Post-Cutover Import Confirmed Completion Request v1", "type": "object"}, "sideEffects": "local_post_cutover_audit_state_write_and_launch_audit_request_files", "submitEnabled": false, "uploadEnabled": false}