Files
linuxcncWebWASM/docs/linuxcnc-web-wasm-owner-decision-intake.md

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.