{"apiVersion": "openeyes.nails.web.v1", "boundary": "go_live_nails_web_smoke_completion_local_only", "collectionExecutionEnabled": false, "completionBoundary": {"advancesLocalGoLiveTracker": true, "collectionExecutionEnabled": false, "deployEnabled": false, "externalNetworkEvidenceRequired": true, "liveCollectionEnabled": false, "localStateMutations": false, "mode": "nails_web_cloud_run_smoke_completion_local_files_only", "network": false, "preparesReleaseCockpitReview": true, "productionMutations": false, "readsLocalFiles": true, "registersSmokeEvidence": true, "requiresExplicitStateRoot": false, "requiresExternalNailsWebSmokeEvidence": true, "requiresGoLiveReadinessConfirmedCompletion": true, "runsExternalSmoke": false, "sanitizesSmokeEvidence": true, "secretMaterialReturned": false, "submitEnabled": false, "uploadEnabled": false, "writesLocalAuditState": false, "writesLocalFiles": true}, "completionContractPath": "/api/web/v1/plugins/nails/production-cutover:nails-web-cloud-run-smoke-contract", "completionPath": "/api/web/v1/plugins/nails/production-cutover:nails-web-cloud-run-smoke", "contract": {"additionalProperties": false, "contractVersion": 1, "methods": ["POST"], "name": "nails-production-cutover-nails-web-cloud-run-smoke", "optionalFields": ["outputDir", "replace", "compactOutputFiles"], "requiredFields": ["startBundle", "nailsWebSmokeEvidence"], "schemaDigest": "8b311024f3a4a017ae6f2edc365b5cc1e49a4e7397979fc5ec70f3d2fbcba6f5", "schemaId": "https://openeyes.local/plugins/nails/web/v1/nails-web-cloud-run-smoke-completion-request.schema.json"}, "deployEnabled": false, "externalNetworkEvidenceRequired": true, "links": {"goLiveReadinessConfirmed": {"contractPath": "/api/web/v1/plugins/nails/production-cutover:go-live-readiness-confirmed-contract", "localStateMutations": true, "method": "POST", "network": false, "path": "/api/web/v1/plugins/nails/production-cutover:go-live-readiness-confirmed"}, "releaseCockpitReview": {"artifact": "<startBundle>/latest-nails-web-cloud-run-smoke-completion.json", "network": false, "nextCommand": "scripts/nails_complete_go_live_release_cockpit_review.py"}}, "liveCollectionEnabled": false, "localStateMutations": false, "localWrapper": {"collectionExecutionEnabled": false, "commandTemplate": "rtk python scripts/nails_complete_go_live_nails_web_smoke.py --start-bundle <startBundle> --nails-web-smoke-evidence <nailsWebSmokeEvidence> --output-dir <outputDir>", "deployEnabled": false, "externalNetworkEvidenceRequired": true, "externalSmokeCommandTemplate": "infra/gcp/scripts/smoke_nails_web_cloud_run.sh --output <nails-web-smoke.json>", "liveCollectionEnabled": false, "localStateMutations": false, "network": false, "productionMutations": false, "runsExternalSmoke": false, "script": "scripts/nails_complete_go_live_nails_web_smoke.py", "steps": ["load latest go-live readiness confirmed completion", "validate and sanitize external Nails Web Cloud Run smoke evidence", "register sanitized smoke evidence into the local go-live tracker", "write safety-scannable smoke completion artifacts", "advance nails_web_cloud_run_smoke", "prepare release cockpit review command"], "submitEnabled": false, "uploadEnabled": false}, "method": "GET", "network": false, "ok": true, "pluginId": "nails", "productionMutations": false, "route": "/api/web/v1/plugins/nails/production-cutover:nails-web-cloud-run-smoke-contract", "schema": {"$id": "https://openeyes.local/plugins/nails/web/v1/nails-web-cloud-run-smoke-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"}, "nailsWebSmokeEvidence": {"description": "Path to the redacted deployed Nails Web Cloud Run smoke report produced by the external smoke command.", "minLength": 1, "type": "string"}, "outputDir": {"description": "Optional empty local output directory for smoke registration artifacts. When supplied it must resolve inside the start bundle.", "minLength": 1, "type": "string"}, "replace": {"default": false, "description": "Allow replacing the nails_web_cloud_run_smoke stage entry when advancing the local go-live tracker.", "type": "boolean"}, "startBundle": {"description": "Local go-live start bundle whose go-live readiness confirmation is complete.", "minLength": 1, "type": "string"}}, "required": ["startBundle", "nailsWebSmokeEvidence"], "title": "Nails Web Cloud Run Smoke Completion Request v1", "type": "object"}, "sideEffects": "local_sanitized_nails_web_smoke_evidence_registration", "submitEnabled": false, "uploadEnabled": false}