{"apiVersion": "openeyes.nails.web.v1", "auditBoundary": {"deployEnabled": false, "mode": "staging_execution_packet_audit_local_files_only", "network": false, "productionMutations": false, "readsLocalFiles": true, "secretMaterialReturned": false, "submitEnabled": false, "uploadEnabled": false, "writesLocalFiles": true, "writesLocalState": false}, "auditContractPath": "/api/web/v1/plugins/nails/production-cutover:staging-execution-packet-audit-contract", "auditPath": "/api/web/v1/plugins/nails/production-cutover:staging-execution-packet-audit", "boundary": "staging_execution_packet_audit_local_only", "contract": {"additionalProperties": false, "contractVersion": 1, "methods": ["POST"], "name": "nails-production-cutover-staging-execution-packet-audit", "optionalFields": ["outputDir", "realEvidenceManifest", "envMode", "compactOutputFiles"], "requiredFields": ["startBundle"], "schemaDigest": "8490f496cc73a092c52d89db9a2a6e2d296b22d7f3d3423bc44a42da37651ece", "schemaId": "https://openeyes.local/plugins/nails/web/v1/production-cutover-staging-execution-packet-audit-request.schema.json"}, "deployEnabled": false, "links": {"nextGoLiveReadinessReport": {"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, "requiresReadyForStagingExecution": true}, "refreshExternalEvidencePacket": {"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"}}, "localWrapper": {"commandTemplate": "rtk python scripts/nails_audit_staging_execution_packet.py --start-bundle <startBundle> --output-dir <outputDir> --env-mode process", "deployEnabled": false, "network": false, "productionMutations": false, "script": "scripts/nails_audit_staging_execution_packet.py", "submitEnabled": false, "uploadEnabled": false}, "method": "GET", "network": false, "ok": true, "outputArtifacts": ["summary.json", "staging-execution-packet-audit.json", "README.md"], "pluginId": "nails", "productionMutations": false, "route": "/api/web/v1/plugins/nails/production-cutover:staging-execution-packet-audit-contract", "schema": {"$id": "https://openeyes.local/plugins/nails/web/v1/production-cutover-staging-execution-packet-audit-request.schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": {"compactOutputFiles": {"default": false, "description": "Write compact JSON audit artifacts when true.", "type": "boolean"}, "envMode": {"default": "process", "description": "Process mode audits the operator environment; fixture mode keeps deterministic local smoke tests.", "enum": ["process", "fixture"], "type": "string"}, "outputDir": {"description": "Optional empty local output directory for this audit. When supplied it must resolve inside the start bundle.", "minLength": 1, "type": "string"}, "realEvidenceManifest": {"description": "Optional filled real-evidence manifest path. Defaults to <startBundle>/real-evidence-manifest.json when present.", "minLength": 1, "type": "string"}, "startBundle": {"description": "Local go-live start bundle directory generated by production-cutover:go-live-external-evidence-packet or scripts/nails_start_go_live_execution.py.", "minLength": 1, "type": "string"}}, "required": ["startBundle"], "title": "Nails Production Cutover Staging Execution Packet Audit Request v1", "type": "object"}, "sideEffects": "local_staging_packet_audit_files_only", "sourceStartBundle": {"alternativeScript": "scripts/nails_start_go_live_execution.py", "contractPath": "/api/web/v1/plugins/nails/production-cutover:go-live-external-evidence-packet-contract", "network": false, "path": "/api/web/v1/plugins/nails/production-cutover:go-live-external-evidence-packet", "productionMutations": false}, "submitEnabled": false, "uploadEnabled": false}