{"apiInputWorkflow": {"authorizationStep": {"contractPath": "/api/web/v1/plugins/nails/online-pilot:authorization-dry-run-contract", "id": "authorizationDryRun", "method": "POST", "network": false, "path": "/api/web/v1/plugins/nails/online-pilot:authorization-dry-run", "requiredFields": ["approvalEvidence", "submitReviewPacketDigest", "externalExecutionRunbookDigest", "apiInputWorkflowDigest", "apiInputWorkflowVerificationDigest", "authorizationRequirementsDigest", "approvalEvidencePolicyDigest"], "sourceFields": {"apiInputWorkflowDigest": "maliang-exports:submit-request.apiInputWorkflowDigest", "apiInputWorkflowVerificationDigest": "maliang-exports:api-input-workflow-verify.verificationDigest", "approvalEvidencePolicyDigest": "online-pilot:evidence-packet.approvalEvidencePolicyDigest", "authorizationRequirementsDigest": "online-pilot:evidence-packet.authorizationRequirementsDigest", "externalExecutionRunbookDigest": "maliang-exports:submit-request.externalExecutionRunbookDigest", "submitReviewPacketDigest": "maliang-exports:submit-request.submitReviewPacket.packetDigest"}}, "externalExecutionStep": {"bodySource": "submitRequest.request.body", "boundary": "external_maliang_nails_environment_required", "excludedFromLocalRequestPreview": ["Authorization"], "externalNetworkRequired": true, "headerSource": "submitRequest.request.headers plus external Authorization", "id": "maliangNailsSubmit", "localNetwork": false, "localSubmitEnabled": false, "method": "POST", "pathSource": "submitRequest.request.path", "requiredHeaders": ["Authorization", "Content-Type", "Idempotency-Key", "X-Maliang-Source-Label"]}, "kind": "maliang.nails.api_input_workflow", "localPreparationSteps": [{"bodyFields": [], "contractPath": "/api/web/v1/plugins/nails/maliang-exports:token-check-contract", "id": "token", "method": "GET", "network": false, "path": "/api/web/v1/plugins/nails/maliang-exports:token-check", "requiresStateRoot": false}, {"bodyFields": ["stateRoot", "payloadDigest"], "contractPath": "/api/web/v1/plugins/nails/maliang-exports:preflight-contract", "id": "preflight", "method": "POST", "network": false, "path": "/api/web/v1/plugins/nails/maliang-exports:preflight", "requiresStateRoot": true}, {"bodyFields": ["stateRoot", "payloadDigest"], "contractPath": "/api/web/v1/plugins/nails/maliang-exports:submit-plan-contract", "id": "submitPlan", "method": "POST", "network": false, "path": "/api/web/v1/plugins/nails/maliang-exports:submit-plan", "requiresStateRoot": true}, {"bodyFields": ["stateRoot", "payloadDigest", "authorizationPacketDigest", "authorizationPacket"], "contractPath": "/api/web/v1/plugins/nails/maliang-exports:submit-request-contract", "id": "submitRequest", "method": "POST", "network": false, "path": "/api/web/v1/plugins/nails/maliang-exports:submit-request", "requiresStateRoot": true}], "postSubmitEvidenceSteps": [{"bodyFields": ["stateRoot", "payloadDigest"], "contractPath": "/api/web/v1/plugins/nails/maliang-exports:status-contract", "id": "status", "method": "POST", "network": false, "path": "/api/web/v1/plugins/nails/maliang-exports:status", "requiresStateRoot": true}, {"bodyFields": ["stateRoot", "payloadDigest"], "contractPath": "/api/web/v1/plugins/nails/maliang-exports:receipts-contract", "id": "receipts", "method": "POST", "network": false, "path": "/api/web/v1/plugins/nails/maliang-exports:receipts", "requiresStateRoot": true}], "safetyGates": ["payload_validated", "submit_review_packet_digest_bound", "external_execution_runbook_digest_bound", "api_input_workflow_digest_bound", "api_input_workflow_verification_digest_bound", "authorization_packet_verified_before_external_submit", "authorization_header_excluded_from_local_preview"], "standardEndpointOrder": ["token", "preflight", "submit", "status", "receipts"], "workflowVersion": 1}, "apiInputWorkflowRequest": {"bodyFields": [], "contractPath": "/api/web/v1/plugins/nails/maliang-exports:api-input-workflow-contract", "digestField": "apiInputWorkflowDigest", "method": "GET", "network": false, "path": "/api/web/v1/plugins/nails/maliang-exports:api-input-workflow", "requiresStateRoot": false, "responseFields": ["apiInputWorkflow", "apiInputWorkflowDigest", "standardEndpointOrder"]}, "apiInputWorkflowVerifyRequest": {"body": {"expectedDigest": "<maliang-exports:submit-request.apiInputWorkflowDigest>"}, "bodyFields": ["expectedDigest"], "contractPath": "/api/web/v1/plugins/nails/maliang-exports:api-input-workflow-verify-contract", "digestField": "apiInputWorkflowDigest", "expectedDigest": "<maliang-exports:submit-request.apiInputWorkflowDigest>", "method": "POST", "network": false, "path": "/api/web/v1/plugins/nails/maliang-exports:api-input-workflow-verify", "verifiedField": "verified"}, "apiVersion": "openeyes.nails.web.v1", "checks": ["preflight", "payload", "idempotency_header", "source_label_header", "authorization_excluded", "external_execution_boundary", "online_pilot_authorization_packet_digest", "online_pilot_authorization_packet_verified", "submit_review_packet_digest", "external_execution_runbook_digest"], "contract": {"additionalProperties": false, "contractVersion": 1, "name": "nails-maliang-exports-submit-request", "optionalFields": ["payloadDigest", "authorizationPacketDigest", "authorizationPacket"], "requiredFields": ["stateRoot"], "schemaDigest": "40ed5173b69af008323576ea9f25915c239f144c1b9fd3dfa335f9425ccc4e4c", "schemaId": "https://openeyes.local/plugins/nails/web/v1/maliang-exports-submit-request.schema.json"}, "method": "GET", "network": false, "ok": true, "pluginId": "nails", "preflightPath": "/api/web/v1/plugins/nails/maliang-exports:preflight", "route": "/api/web/v1/plugins/nails/maliang-exports:submit-request-contract", "schema": {"$id": "https://openeyes.local/plugins/nails/web/v1/maliang-exports-submit-request.schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": {"authorizationPacket": {"description": "Optional full authorization packet produced by online-pilot:authorization-dry-run; when supplied, its digest and submitReviewPacketDigest are verified against this submit request.", "type": "object"}, "authorizationPacketDigest": {"description": "Optional online pilot authorization packet digest produced by online-pilot:authorization-dry-run; this is only linked as a review gate reference and is never sent as Maliang auth material.", "pattern": "^[a-f0-9]{64}$", "type": "string"}, "payloadDigest": {"description": "Optional payload digest to prepare for external submit; when omitted, the latest local Maliang export record is used.", "pattern": "^[a-f0-9]{64}$", "type": "string"}, "stateRoot": {"description": "Local state root that contains state/plugins/nails/maliang.", "minLength": 1, "type": "string"}}, "required": ["stateRoot"], "title": "Nails Maliang Exports Submit Request v1", "type": "object"}, "stateNamespace": "state/plugins/nails/maliang", "submitEnabled": false, "submitPlanPath": "/api/web/v1/plugins/nails/maliang-exports:submit-plan", "submitRequestContract": {"bodySource": "validated maliang-pipeline-import payload", "excludedHeaders": ["Authorization"], "externalExecutionRunbook": {"digestAlgorithm": "canonical_sha256_without_runbookDigest", "digestField": "externalExecutionRunbookDigest", "kind": "maliang.nails.external_execution_runbook", "policyDigestField": "approvalEvidencePolicyDigest", "requiredEvidenceSource": "online-pilot:evidence-packet"}, "gateReferences": ["authorizationPacketDigest", "authorizationPacket"], "headers": ["Content-Type", "Idempotency-Key", "X-Maliang-Source-Label"], "method": "POST", "network": false, "pathSource": "maliang.submitPath", "reviewPacket": {"digestSource": ["requestDigest", "payloadDigest", "idempotencyKey", "submitPath"], "kind": "maliang.nails.submit_review_packet", "linkedFields": ["authorizationPacketDigest"], "packetVersion": 1}, "submitEnabled": false}, "submitRequestPath": "/api/web/v1/plugins/nails/maliang-exports:submit-request", "uploadEnabled": false}