{"apiVersion": "openeyes.nails.web.v1", "boundary": "go_live_launch_audit_review_completion_local_only", "collectionExecutionEnabled": false, "completionBoundary": {"advancesLocalGoLiveTracker": true, "collectionExecutionEnabled": false, "consumesGoLiveEvidence": true, "deployEnabled": false, "liveCollectionEnabled": false, "localStateMutations": false, "mode": "launch_audit_review_completion_local_files_only", "network": false, "preparesGoLiveReadinessConfirmationRequest": true, "productionMutations": false, "readsLocalFiles": true, "requiresExplicitStateRoot": false, "requiresExternalGoLiveEvidence": true, "requiresProcessStagingEnvironment": true, "runsGoLiveReadinessReview": true, "runsLaunchAuditReview": true, "secretMaterialReturned": false, "submitEnabled": false, "uploadEnabled": false, "writesLocalAuditState": false, "writesLocalFiles": true}, "completionContractPath": "/api/web/v1/plugins/nails/production-cutover:launch-audit-review-contract", "completionPath": "/api/web/v1/plugins/nails/production-cutover:launch-audit-review", "contract": {"additionalProperties": false, "contractVersion": 1, "methods": ["POST"], "name": "nails-production-cutover-launch-audit-review", "optionalFields": ["outputDir", "postCutoverImportConfirmed", "envMode", "replace", "compactOutputFiles"], "requiredFields": ["startBundle", "goLiveEvidence"], "schemaDigest": "6f8f66c505e46de1b5a1eb2aaa46f24894db6a6667f6749912d0192b95ed3eaa", "schemaId": "https://openeyes.local/plugins/nails/web/v1/launch-audit-review-completion-request.schema.json"}, "deployEnabled": false, "links": {"goLiveReadinessConfirmed": {"artifact": "<startBundle>/latest-go-live-readiness-confirmation-request.json", "network": false, "nextCommand": "scripts/nails_complete_go_live_readiness_confirmed.py"}, "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"}, "launchAuditReport": {"contractPath": "/api/web/v1/plugins/nails/production-cutover:launch-audit-report-contract", "method": "POST", "network": false, "path": "/api/web/v1/plugins/nails/production-cutover:launch-audit-report"}, "postCutoverImportConfirmed": {"contractPath": "/api/web/v1/plugins/nails/production-cutover:post-cutover-import-confirmed-contract", "localStateMutations": true, "method": "POST", "network": false, "path": "/api/web/v1/plugins/nails/production-cutover:post-cutover-import-confirmed"}}, "liveCollectionEnabled": false, "localStateMutations": false, "localWrapper": {"collectionExecutionEnabled": false, "commandTemplate": "rtk python scripts/nails_complete_go_live_launch_audit_review.py --start-bundle <startBundle> --go-live-evidence <goLiveEvidence> --output-dir <outputDir>", "deployEnabled": false, "explicitPostCutoverReviewCommandTemplate": "rtk python scripts/nails_complete_go_live_launch_audit_review.py --start-bundle <startBundle> --go-live-evidence <goLiveEvidence> --post-cutover-import-confirmed <post-cutover-import-confirmed.json> --output-dir <outputDir>", "liveCollectionEnabled": false, "localStateMutations": false, "network": false, "productionMutations": false, "script": "scripts/nails_complete_go_live_launch_audit_review.py", "steps": ["load latest post-cutover import confirmed completion", "consume operator-approved go-live evidence", "run local launch audit and go-live readiness review", "write safety-scannable launch audit review artifacts", "prepare go-live readiness confirmation request", "advance launch_audit_review"], "submitEnabled": false, "uploadEnabled": false}, "method": "GET", "network": false, "ok": true, "pluginId": "nails", "productionMutations": false, "route": "/api/web/v1/plugins/nails/production-cutover:launch-audit-review-contract", "schema": {"$id": "https://openeyes.local/plugins/nails/web/v1/launch-audit-review-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"}, "goLiveEvidence": {"description": "Path to the operator-approved go-live evidence JSON. The default template is prepared by the preceding post-cutover import confirmed completion.", "minLength": 1, "type": "string"}, "outputDir": {"description": "Optional empty local output directory for launch audit review completion artifacts. When supplied it must resolve inside the start bundle.", "minLength": 1, "type": "string"}, "postCutoverImportConfirmed": {"description": "Optional post-cutover import confirmed review path. Defaults to the latest post-cutover import confirmed completion output.", "minLength": 1, "type": "string"}, "replace": {"default": false, "description": "Allow replacing the launch_audit_review stage entry when advancing the local go-live tracker.", "type": "boolean"}, "startBundle": {"description": "Local go-live start bundle whose post-cutover import confirmation prepared a launch audit evidence request.", "minLength": 1, "type": "string"}}, "required": ["startBundle", "goLiveEvidence"], "title": "Nails Launch Audit Review Completion Request v1", "type": "object"}, "sideEffects": "local_launch_audit_review_and_readiness_request_files", "submitEnabled": false, "uploadEnabled": false}