32 lines
1.5 KiB
Markdown
32 lines
1.5 KiB
Markdown
# 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`, provide a non-empty
|
|
`decision_set_id`, 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 an existing
|
|
repository-relative path and a lowercase SHA-256 hash matching the referenced
|
|
file. The validator checks shape, identity, and evidence integrity; 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.
|