{"apiInputWorkflowVerificationDigestSource": {"digestAlgorithm": "canonical_sha256_of_api_input_workflow_verification_evidence", "field": "verificationDigest", "network": false, "path": "/api/web/v1/plugins/nails/maliang-exports:api-input-workflow-verify"}, "apiVersion": "openeyes.nails.web.v1", "approvalEvidenceOptionalFields": ["evidenceDigest", "providerQualityHandoffDigest", "providerQualityReportVerificationDigest", "providerDataQualityEvidenceDigest", "providerAdapterCapabilitiesDigest"], "approvalEvidencePolicy": {"acceptedStatuses": ["approved"], "artifact": "approvalEvidencePolicy", "digestField": "approvalEvidencePolicyDigest", "evidenceDigest": {"bindsStableReviewArtifactContent": true, "digestAlgorithm": "sha256", "optionalForLegacyEvidence": true, "pattern": "^[a-f0-9]{64}$"}, "network": false, "optionalFields": ["evidenceDigest", "providerQualityHandoffDigest", "providerQualityReportVerificationDigest", "providerDataQualityEvidenceDigest", "providerAdapterCapabilitiesDigest"], "policyVersion": 1, "productionMutations": false, "providerQualityOptionalDigests": {"appliesTo": "real_model_visual_eval/canonical_reference_digest when design-fusion canonical reference evidence binds a providerQualityHandoff", "digestAlgorithm": "sha256", "fields": ["providerQualityHandoffDigest", "providerQualityReportVerificationDigest", "providerDataQualityEvidenceDigest", "providerAdapterCapabilitiesDigest"], "network": false, "pattern": "^[a-f0-9]{64}$"}, "referenceUri": {"allowedSchemes": ["oss", "gs"], "localPathForbidden": true, "mustBeStableReviewArtifact": true, "queryOrFragmentForbidden": true, "secretBearingValuesForbidden": true}, "requiredFields": ["criterionId", "evidenceId", "referenceUri", "reviewerRole", "status"], "reviewerRole": {"personalContactForbidden": true, "placeholderForbidden": true}}, "approvalEvidencePolicySource": {"digestAlgorithm": "canonical_sha256_of_approval_evidence_policy", "field": "approvalEvidencePolicyDigest", "path": "/api/web/v1/plugins/nails/online-pilot:evidence-packet"}, "approvalEvidenceRequiredFields": ["criterionId", "evidenceId", "referenceUri", "reviewerRole", "status"], "authorizationDryRunContractPath": "/api/web/v1/plugins/nails/online-pilot:authorization-dry-run-contract", "authorizationDryRunPath": "/api/web/v1/plugins/nails/online-pilot:authorization-dry-run", "authorizationRequirementsDigestSource": {"digestAlgorithm": "canonical_sha256_of_authorization_queue_template_policy_and_gate_requirement_coverage", "field": "authorizationRequirementsDigest", "path": "/api/web/v1/plugins/nails/online-pilot:evidence-packet"}, "boundary": "authorization_refs_only_no_external_execution", "contract": {"additionalProperties": false, "contractVersion": 1, "name": "nails-online-pilot-authorization-dry-run", "optionalFields": ["authorizationRequirementsDigest", "approvalEvidencePolicyDigest", "apiInputWorkflowVerificationDigest", "nextGateRequestsDigest"], "requiredFields": ["approvalEvidence", "submitReviewPacketDigest", "externalExecutionRunbookDigest", "apiInputWorkflowDigest"], "schemaDigest": "eb9bfb6a59e9a02406b7333fc7c75bd7620729e83e1c912161d3383c660290c8", "schemaId": "https://openeyes.local/plugins/nails/web/v1/online-pilot-authorization-dry-run-request.schema.json"}, "deployEnabled": false, "evidencePacketContractPath": "/api/web/v1/plugins/nails/online-pilot:evidence-packet-contract", "evidencePacketPath": "/api/web/v1/plugins/nails/online-pilot:evidence-packet", "method": "GET", "network": false, "nextGateRequestsDigestSource": {"digestAlgorithm": "canonical_sha256_of_next_gate_requests", "field": "nextGateRequestsDigest", "path": "/api/web/v1/plugins/nails/online-pilot:evidence-packet"}, "ok": true, "pluginId": "nails", "productionMutations": false, "readinessReportPath": "/api/web/v1/plugins/nails/online-pilot:readiness-report", "requiredEvidenceCount": 15, "route": "/api/web/v1/plugins/nails/online-pilot:authorization-dry-run-contract", "schema": {"$id": "https://openeyes.local/plugins/nails/web/v1/online-pilot-authorization-dry-run-request.schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": {"apiInputWorkflowDigest": {"description": "Stable apiInputWorkflowDigest from maliang-exports:submit-request; binds approvals to one exact Maliang Web API input workflow.", "pattern": "^[a-f0-9]{64}$", "type": "string"}, "apiInputWorkflowVerificationDigest": {"description": "Optional verificationDigest from maliang-exports:api-input-workflow-verify; when supplied, it binds the authorization packet to a replayed local verification of the exact Maliang Web API workflow.", "pattern": "^[a-f0-9]{64}$", "type": "string"}, "approvalEvidence": {"items": {"additionalProperties": false, "properties": {"criterionId": {"minLength": 1, "type": "string"}, "evidenceDigest": {"description": "Optional sha256 digest of the stable external review artifact referenced by referenceUri.", "pattern": "^[a-f0-9]{64}$", "type": "string"}, "evidenceId": {"minLength": 1, "type": "string"}, "providerAdapterCapabilitiesDigest": {"pattern": "^[a-f0-9]{64}$", "type": "string"}, "providerDataQualityEvidenceDigest": {"pattern": "^[a-f0-9]{64}$", "type": "string"}, "providerQualityHandoffDigest": {"description": "Optional digest carried only by canonical reference evidence that is bound to provider quality handoff verification.", "pattern": "^[a-f0-9]{64}$", "type": "string"}, "providerQualityReportVerificationDigest": {"pattern": "^[a-f0-9]{64}$", "type": "string"}, "referenceUri": {"description": "Stable non-secret URI for the external review artifact.", "minLength": 1, "type": "string"}, "reviewerRole": {"description": "Role label only; do not include personal contact data.", "minLength": 1, "type": "string"}, "status": {"enum": ["approved"], "type": "string"}}, "required": ["criterionId", "evidenceId", "referenceUri", "reviewerRole", "status"], "type": "object"}, "type": "array"}, "approvalEvidencePolicyDigest": {"description": "Optional approvalEvidencePolicyDigest from online-pilot:evidence-packet; when supplied, it must match the current approval evidence policy.", "pattern": "^[a-f0-9]{64}$", "type": "string"}, "authorizationRequirementsDigest": {"description": "Optional authorizationRequirementsDigest from online-pilot:evidence-packet; when supplied, it must match the current required evidence catalog.", "pattern": "^[a-f0-9]{64}$", "type": "string"}, "externalExecutionRunbookDigest": {"description": "Stable externalExecutionRunbookDigest from the unsigned maliang-exports:submit-request preview; binds approvals to one exact external execution runbook.", "pattern": "^[a-f0-9]{64}$", "type": "string"}, "nextGateRequestsDigest": {"description": "Optional nextGateRequestsDigest from online-pilot:evidence-packet; when supplied, it must match the current external gate request plan.", "pattern": "^[a-f0-9]{64}$", "type": "string"}, "submitReviewPacketDigest": {"description": "Stable submitReviewPacket.packetDigest from maliang-exports:submit-request; binds this authorization packet to one exact submit intent.", "pattern": "^[a-f0-9]{64}$", "type": "string"}}, "required": ["approvalEvidence", "submitReviewPacketDigest", "externalExecutionRunbookDigest", "apiInputWorkflowDigest"], "title": "Nails Online Pilot Authorization Dry Run Request v1", "type": "object"}, "submitEnabled": false, "uploadEnabled": false}