{"apiVersion": "openeyes.nails.web.v1", "boundary": "go_live_readiness_doctor_local_only", "collectionExecutionEnabled": false, "contract": {"additionalProperties": false, "contractVersion": 1, "methods": ["POST"], "name": "nails-production-cutover-go-live-readiness-doctor", "optionalFields": ["envMode", "compactOutputFiles", "stagingEnvOverride"], "rawTokenAccepted": false, "requiredFields": ["outputDir"], "schemaDigest": "deef8bb72057eab4f9fb4ec731d92962837b9d5d38e689f9e2a0476a3ee213bf", "schemaId": "https://openeyes.local/plugins/nails/web/v1/production-cutover-go-live-readiness-doctor-request.schema.json", "stagingEnvOverrideFields": ["defaultFolderPath", "libraryId", "maliangWebUrl", "pipelineId", "pipelineTokenSecret", "pipelineTokenSecretProject", "pipelineTokenSecretVersion", "sourceLabel", "submitEnabled"]}, "deployEnabled": false, "doctorBoundary": {"acceptsNonSecretStagingEnvOverride": true, "collectionExecutionEnabled": false, "deployEnabled": false, "liveCollectionEnabled": false, "localStateMutations": false, "mode": "go_live_readiness_doctor_local_files_only", "network": false, "productionMutations": false, "rawTokenAccepted": false, "readsProcessEnvironment": true, "secretMaterialReturned": false, "submitEnabled": false, "uploadEnabled": false, "writesLocalFiles": true, "writesLocalState": false}, "doctorChecks": ["real_maliang_staging_environment", "provider_authorization_evidence", "real_provider_collection_return", "staging_runner_receipts", "production_cutover_and_release_receipts"], "doctorContractPath": "/api/web/v1/plugins/nails/production-cutover:go-live-readiness-doctor-contract", "doctorPath": "/api/web/v1/plugins/nails/production-cutover:go-live-readiness-doctor", "links": {"externalEvidencePacket": {"contractPath": "/api/web/v1/plugins/nails/production-cutover:go-live-external-evidence-packet-contract", "method": "POST", "network": false, "path": "/api/web/v1/plugins/nails/production-cutover:go-live-external-evidence-packet"}, "goLiveReadinessReport": {"contractPath": "/api/web/v1/plugins/nails/production-cutover:go-live-readiness-report-contract", "method": "POST", "network": false, "path": "/api/web/v1/plugins/nails/production-cutover:go-live-readiness-report", "requiresFilledExternalEvidence": true}, "stagingHandoff": {"contractPath": "/api/web/v1/plugins/nails/production-cutover:staging-handoff-contract", "method": "POST", "network": false, "path": "/api/web/v1/plugins/nails/production-cutover:staging-handoff", "requiresRealStagingEnvironment": true}}, "liveCollectionEnabled": false, "localStateMutations": false, "localWrapper": {"collectionExecutionEnabled": false, "commandTemplate": "rtk python scripts/nails_go_live_readiness_doctor.py --output-dir <outputDir> --env-mode process", "deployEnabled": false, "liveCollectionEnabled": false, "localStateMutations": false, "network": false, "productionMutations": false, "rawTokenAccepted": false, "script": "scripts/nails_go_live_readiness_doctor.py", "secretMaterialReturned": false, "stagingEnvOverrideAccepted": true, "submitEnabled": false, "uploadEnabled": false}, "method": "GET", "network": false, "ok": true, "outputArtifacts": ["go-live-readiness-doctor.json", "summary.json", "README.md", "provider-crawl-handoff/provider-authorization-evidence-template.json"], "pluginId": "nails", "productionMutations": false, "route": "/api/web/v1/plugins/nails/production-cutover:go-live-readiness-doctor-contract", "schema": {"$id": "https://openeyes.local/plugins/nails/web/v1/production-cutover-go-live-readiness-doctor-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; response content is unchanged.", "type": "boolean"}, "envMode": {"default": "process", "description": "Use process MALIANG_NAILS_* environment by default; fixture mode keeps deterministic local examples.", "enum": ["process", "fixture"], "type": "string"}, "outputDir": {"description": "Local empty output directory for the readiness doctor bundle.", "minLength": 1, "type": "string"}, "stagingEnvOverride": {"additionalProperties": false, "description": "Optional non-secret staging target override for this doctor run. Use secret-ref fields for credentials; raw pipeline tokens are intentionally not part of this schema.", "properties": {"defaultFolderPath": {"minLength": 1, "type": "string"}, "libraryId": {"minLength": 1, "type": "string"}, "maliangWebUrl": {"description": "Real non-fixture Maliang Nails Web API URL.", "minLength": 1, "type": "string"}, "pipelineId": {"minLength": 1, "type": "string"}, "pipelineTokenSecret": {"description": "Secret Manager reference/name only. Raw pipeline tokens are not accepted by this Web API route.", "minLength": 1, "type": "string"}, "pipelineTokenSecretProject": {"minLength": 1, "type": "string"}, "pipelineTokenSecretVersion": {"minLength": 1, "type": "string"}, "sourceLabel": {"minLength": 1, "type": "string"}, "submitEnabled": {"type": "boolean"}}, "type": "object"}}, "required": ["outputDir"], "title": "Nails Production Cutover Go-Live Readiness Doctor Request v1", "type": "object"}, "secretMaterialReturned": false, "sideEffects": "local_go_live_readiness_doctor_files_only", "submitEnabled": false, "uploadEnabled": false}