# Owner Decision Intake 输入文件:`coverage/owner-decisions.json` 模板:`coverage/owner-decision-intake.template.json` 验证器:`python3 scripts/validate_owner_decision_intake.py` 当前状态:`coverage/owner-decisions.json` 尚未提供,验证报告应保持 `blocked`。模板文件是唯一允许复制的输入起点;不要直接修改 `context-lock.json` 或 release gate 报告。 ## Required Shape The input must use schema `owner-decision-intake.v1`, match the locked `context_id`, and contain exactly one decision for each of the six blocker IDs: `manifest_seed_unassigned`, `accepted_entries_missing`, `official_oracle_missing`, `configuration_resources_missing`, `browser_matrix_unverified`, `license_closure_incomplete`. Each decision requires `decision` (`approve`, `reject`, or `defer`), non-empty `owner`, non-empty `reviewer`, a rationale, an evidence list, and an explicit `new_context_required` boolean. Evidence entries require a repository-relative path and SHA-256 hash. The validator checks shape and identity only; it never creates a context, changes `context-lock.json`, promotes an entry, or refreshes the release gate. All six decisions must be `approve` and accompanied by a reviewed new context input before K8 release refresh can be opened. Missing, partial, deferred, rejected, duplicate, stale-context, or hash-invalid input remains blocked.