68 lines
4.2 KiB
JSON
68 lines
4.2 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"$id": "urn:jobjakt:p10-entry-final:proposal:1",
|
|
"title": "Evidence-only Phase10 entry proposal; never an approval",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": ["schemaVersion", "workstreamId", "authority", "candidateCommit", "acceptedBranch", "applicationFixCommit", "packageHeadRule", "entryDecision", "eligibleForAutomaticExecution", "cleanupScope", "pdfDecisions", "outstandingBlockerIds", "deferralRequests", "requiredDecisions", "testEvidence", "publication", "productionDecision", "generatedUtc"],
|
|
"properties": {
|
|
"schemaVersion": { "const": 1 },
|
|
"workstreamId": { "const": "P10-ENTRY-FINAL" },
|
|
"authority": { "const": "EVIDENCE_ONLY_NOT_OWNER_APPROVAL" },
|
|
"candidateCommit": { "$ref": "#/definitions/commit" },
|
|
"acceptedBranch": { "const": "test/pre-phase10-ux-acceptance" },
|
|
"applicationFixCommit": { "$ref": "#/definitions/commit" },
|
|
"packageHeadRule": { "const": "Resolve final clean published envelope HEAD independently; bind it, the candidate snapshot, exact scope, policy and artifact hashes in protected approval. No self-referential commit claim." },
|
|
"entryDecision": { "const": "NO-GO" },
|
|
"eligibleForAutomaticExecution": { "const": false },
|
|
"productionDecision": { "const": "NO-GO" },
|
|
"cleanupScope": {
|
|
"type": "object", "additionalProperties": false,
|
|
"required": ["disposition", "inventory", "proposedFirstAction", "approvedRemovalCandidates", "implementationPermission"],
|
|
"properties": {
|
|
"disposition": { "const": "ASSESSMENT_ONLY_NO_REMOVALS_APPROVED" },
|
|
"inventory": { "type": "string", "minLength": 1 },
|
|
"proposedFirstAction": { "type": "string", "minLength": 1 },
|
|
"approvedRemovalCandidates": { "type": "array", "maxItems": 0 },
|
|
"implementationPermission": { "const": false }
|
|
}
|
|
},
|
|
"pdfDecisions": {
|
|
"type": "object", "additionalProperties": false,
|
|
"required": ["originalCorpus", "actualAccentClippingFix", "unchangedRevisedOracle", "proposedBaselineDiagnostic", "metricDisposition", "humanVisual", "actualPrinting"],
|
|
"properties": {
|
|
"originalCorpus": { "const": "PASS" },
|
|
"actualAccentClippingFix": { "const": "PASS_AUTOMATED_FINITE_CORPUS" },
|
|
"unchangedRevisedOracle": { "const": "FAIL" },
|
|
"proposedBaselineDiagnostic": { "const": "PASS_OWNER_APPROVED_S01_Y_METRIC" },
|
|
"metricDisposition": { "const": "OWNER_APPROVED_S01_METRIC_ONLY" },
|
|
"humanVisual": { "const": "OWNER_APPROVED_FOR_DEVELOPMENT" },
|
|
"actualPrinting": { "const": "NOT_TESTED" }
|
|
}
|
|
},
|
|
"outstandingBlockerIds": { "$ref": "#/definitions/strings" },
|
|
"deferralRequests": {
|
|
"type": "array", "items": {
|
|
"type": "object", "additionalProperties": false, "required": ["id", "scope", "sourceAuthority", "state"],
|
|
"properties": { "id": { "type": "string" }, "scope": { "type": "string" }, "sourceAuthority": { "type": "string" }, "state": { "const": "REQUESTED_NOT_GRANTED_OR_EXECUTABLE" } }
|
|
}
|
|
},
|
|
"requiredDecisions": {
|
|
"type": "array", "minItems": 1, "items": {
|
|
"type": "object", "additionalProperties": false, "required": ["id", "action", "state", "authority"],
|
|
"properties": { "id": { "type": "string" }, "action": { "type": "string" }, "state": { "const": "PENDING" }, "authority": { "enum": ["EXPLICIT_OWNER_REFERENCE_DISPOSITION", "EXTERNAL_PROTECTED_OWNER_OR_OPERATOR_DECISION"] } }
|
|
}
|
|
},
|
|
"testEvidence": { "$ref": "#/definitions/strings" },
|
|
"publication": {
|
|
"type": "object", "additionalProperties": false, "required": ["status", "candidateRemoteCommit", "observedUtc", "finalHeadMustBeRechecked"],
|
|
"properties": { "status": { "const": "VERIFIED_CANDIDATE_SNAPSHOT" }, "candidateRemoteCommit": { "$ref": "#/definitions/commit" }, "observedUtc": { "type": "string", "format": "date-time" }, "finalHeadMustBeRechecked": { "const": true } }
|
|
},
|
|
"generatedUtc": { "type": "string", "format": "date-time" }
|
|
},
|
|
"definitions": {
|
|
"commit": { "type": "string", "pattern": "^[a-f0-9]{40}$" },
|
|
"strings": { "type": "array", "items": { "type": "string", "minLength": 1 }, "uniqueItems": true }
|
|
}
|
|
}
|