311 lines
10 KiB
JSON
311 lines
10 KiB
JSON
{
|
|
"blocked_count": 6,
|
|
"blockers": [
|
|
{
|
|
"count": 6249,
|
|
"evidence": [
|
|
{
|
|
"path": "coverage/release-evidence-index.json",
|
|
"status": "present"
|
|
},
|
|
{
|
|
"path": "coverage/manifest.jsonl",
|
|
"status": "present"
|
|
}
|
|
],
|
|
"evidence_check": "verified",
|
|
"id": "manifest_seed_unassigned",
|
|
"owner": "manifest-feature-ownership",
|
|
"reason": "manifest seed entries still have no feature owner",
|
|
"remediation": "assign an accountable feature owner to every needs_owner manifest seed and regenerate the evidence index",
|
|
"review_owner": "release-closure-owner",
|
|
"review_trigger": "manifest mapping changes or the release closure is regenerated",
|
|
"status": "blocked",
|
|
"status_check": "verified"
|
|
},
|
|
{
|
|
"count": 0,
|
|
"evidence": [
|
|
{
|
|
"path": "coverage/release-evidence-index.json",
|
|
"status": "present"
|
|
},
|
|
{
|
|
"path": "coverage/release-candidate-gate.report.json",
|
|
"status": "present"
|
|
}
|
|
],
|
|
"evidence_check": "verified",
|
|
"id": "accepted_entries_missing",
|
|
"owner": "release-acceptance-owner",
|
|
"reason": "no manifest entry is accepted for release",
|
|
"remediation": "complete acceptance evidence for eligible entries; do not promote blocked or derived entries by relabeling",
|
|
"review_owner": "release-gate-owner",
|
|
"review_trigger": "any entry changes to accepted or the acceptance policy changes",
|
|
"status": "blocked",
|
|
"status_check": "verified"
|
|
},
|
|
{
|
|
"count": 1,
|
|
"evidence": [
|
|
{
|
|
"path": "coverage/compatibility-matrix.report.json",
|
|
"status": "present"
|
|
},
|
|
{
|
|
"path": "coverage/kinematics-oracle.report.json",
|
|
"status": "present"
|
|
},
|
|
{
|
|
"path": "coverage/workspace-recovery.report.json",
|
|
"status": "present"
|
|
}
|
|
],
|
|
"evidence_check": "verified",
|
|
"id": "official_oracle_missing",
|
|
"owner": "upstream-oracle-owner",
|
|
"reason": "locked source has no official kinematics/recovery oracle root",
|
|
"remediation": "add the locked official kinematics and recovery oracle inputs, then rerun the native/WASM comparison",
|
|
"review_owner": "kinematics-recovery-reviewer",
|
|
"review_trigger": "the locked source gains or changes an official oracle root",
|
|
"status": "blocked",
|
|
"status_check": "verified"
|
|
},
|
|
{
|
|
"count": 997,
|
|
"evidence": [
|
|
{
|
|
"path": "coverage/compatibility-matrix.report.json",
|
|
"status": "present"
|
|
},
|
|
{
|
|
"path": "coverage/configuration-regression.report.json",
|
|
"status": "present"
|
|
}
|
|
],
|
|
"evidence_check": "verified",
|
|
"id": "configuration_resources_missing",
|
|
"owner": "configuration-closure-owner",
|
|
"reason": "configuration startup/resource gaps remain",
|
|
"remediation": "resolve missing and unindexed configuration resources and unregistered startup references without dropping rows",
|
|
"review_owner": "configuration-regression-reviewer",
|
|
"review_trigger": "configuration graph or startup preflight counts change",
|
|
"status": "blocked",
|
|
"status_check": "verified"
|
|
},
|
|
{
|
|
"count": 1,
|
|
"evidence": [
|
|
{
|
|
"path": "coverage/compatibility-matrix.report.json",
|
|
"status": "present"
|
|
},
|
|
{
|
|
"path": "context-lock.json",
|
|
"status": "present"
|
|
}
|
|
],
|
|
"evidence_check": "verified",
|
|
"id": "browser_matrix_unverified",
|
|
"owner": "browser-compatibility-owner",
|
|
"reason": "Chromium/Firefox/Safari minimum versions remain TBD",
|
|
"remediation": "pin minimum Chromium, Firefox and Safari versions in the locked browser matrix and execute the required checks",
|
|
"review_owner": "release-gate-owner",
|
|
"review_trigger": "browser minimums or cross-origin isolation policy changes",
|
|
"status": "blocked",
|
|
"status_check": "verified"
|
|
},
|
|
{
|
|
"count": 1,
|
|
"evidence": [
|
|
{
|
|
"path": "coverage/license-closure.report.json",
|
|
"status": "present"
|
|
},
|
|
{
|
|
"path": "coverage/license-source-index.jsonl",
|
|
"status": "present"
|
|
},
|
|
{
|
|
"path": "docs/linuxcnc-web-wasm-license-decision.md",
|
|
"status": "present"
|
|
}
|
|
],
|
|
"evidence_check": "verified",
|
|
"id": "license_closure_incomplete",
|
|
"owner": "implementation-license-owner",
|
|
"reason": "57 Web/WASM entries have no approved SPDX/NOTICE assignment",
|
|
"remediation": "approve SPDX/NOTICE metadata for all 57 Web/WASM implementation entries; upstream declarations do not substitute for it",
|
|
"review_owner": "license-audit-reviewer",
|
|
"review_trigger": "implementation license metadata or source-root ownership changes",
|
|
"status": "blocked",
|
|
"status_check": "verified"
|
|
}
|
|
],
|
|
"candidate_eligible": false,
|
|
"checks": {
|
|
"audit_checks": {
|
|
"checks": {
|
|
"blocker_review": "verified",
|
|
"context_consistency": "verified",
|
|
"cross_references": "verified",
|
|
"gate_checks": "verified",
|
|
"input_hashes": "verified",
|
|
"report_self_hashes": "verified"
|
|
},
|
|
"status": "verified"
|
|
},
|
|
"audit_self_hash": {
|
|
"declared": "2011f99b5e93b3d16697d0b347bdd55f572a99475ca518e9de9316baacf2b0aa",
|
|
"status": "verified"
|
|
},
|
|
"blocker_preservation": {
|
|
"count": 6,
|
|
"ids": [
|
|
"accepted_entries_missing",
|
|
"browser_matrix_unverified",
|
|
"configuration_resources_missing",
|
|
"license_closure_incomplete",
|
|
"manifest_seed_unassigned",
|
|
"official_oracle_missing"
|
|
],
|
|
"status": "verified"
|
|
},
|
|
"context_consistency": {
|
|
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
|
|
"status": "verified"
|
|
},
|
|
"input_hashes": {
|
|
"artifacts": [
|
|
{
|
|
"path": "context-lock.json",
|
|
"sha256": "bf6651f8d1803f2219d40e61f5e86dcf0821862d087eec2e19f99f593561353e",
|
|
"status": "verified"
|
|
},
|
|
{
|
|
"path": "coverage/post-release-audit.report.json",
|
|
"sha256": "6794b4fd2b3b2ffb54b6a48d298265a8ac9b700bf5e1da434d80c9bb2a45f328",
|
|
"status": "verified"
|
|
},
|
|
{
|
|
"path": "coverage/release-candidate-gate.report.json",
|
|
"sha256": "2092257cc0aea41c5988b19a0e7aef74ed6ccae09062213e1a98f44adc4314b1",
|
|
"status": "verified"
|
|
},
|
|
{
|
|
"path": "coverage/release-closure.report.json",
|
|
"sha256": "7dea93eaf2ae9edcdc53c484171629f8bed1904679c062a9a328ddc15fa74986",
|
|
"status": "verified"
|
|
},
|
|
{
|
|
"path": "coverage/release-evidence-index.json",
|
|
"sha256": "5eecf795a2d5a887a46ef0a0fcd0e9ea40de77a47553f582c8239da7d41161e5",
|
|
"status": "verified"
|
|
}
|
|
],
|
|
"status": "verified"
|
|
},
|
|
"locked_schema_contracts": {
|
|
"schema_versions": {
|
|
"event": 1,
|
|
"manifest": 1,
|
|
"protocol": 1,
|
|
"sim_abi": 1,
|
|
"snapshot": 1,
|
|
"workspace": 1
|
|
},
|
|
"status": "verified"
|
|
},
|
|
"stop_decision": {
|
|
"blocked_count": 6,
|
|
"status": "verified"
|
|
}
|
|
},
|
|
"context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1",
|
|
"errors": {},
|
|
"failure_policy": {
|
|
"forbidden": [
|
|
"delete_samples",
|
|
"lower_checks",
|
|
"reclassify_as_REAL-EXCLUDED",
|
|
"promote_blocked_to_accepted"
|
|
],
|
|
"on_hash_mismatch": "STOP_RELEASE",
|
|
"on_missing_input": "STOP_RELEASE"
|
|
},
|
|
"inputs": [
|
|
{
|
|
"bytes": 26665,
|
|
"path": "coverage/post-release-audit.report.json",
|
|
"role": "post_release_audit",
|
|
"sha256": "6794b4fd2b3b2ffb54b6a48d298265a8ac9b700bf5e1da434d80c9bb2a45f328",
|
|
"status": "present"
|
|
},
|
|
{
|
|
"bytes": 7196,
|
|
"path": "coverage/release-candidate-gate.report.json",
|
|
"role": "release_candidate_gate",
|
|
"sha256": "2092257cc0aea41c5988b19a0e7aef74ed6ccae09062213e1a98f44adc4314b1",
|
|
"status": "present"
|
|
},
|
|
{
|
|
"bytes": 1945,
|
|
"path": "coverage/release-closure.report.json",
|
|
"role": "release_closure",
|
|
"sha256": "7dea93eaf2ae9edcdc53c484171629f8bed1904679c062a9a328ddc15fa74986",
|
|
"status": "present"
|
|
},
|
|
{
|
|
"bytes": 1435099,
|
|
"path": "coverage/release-evidence-index.json",
|
|
"role": "release_evidence_index",
|
|
"sha256": "5eecf795a2d5a887a46ef0a0fcd0e9ea40de77a47553f582c8239da7d41161e5",
|
|
"status": "present"
|
|
},
|
|
{
|
|
"bytes": 7647,
|
|
"path": "context-lock.json",
|
|
"role": "context_lock",
|
|
"sha256": "bf6651f8d1803f2219d40e61f5e86dcf0821862d087eec2e19f99f593561353e",
|
|
"status": "present"
|
|
}
|
|
],
|
|
"milestone": "K8",
|
|
"milestone_status": "closed_with_release_blockers",
|
|
"rebuild": {
|
|
"commands": [
|
|
"python3 scripts/generate_release_closure.py",
|
|
"python3 scripts/generate_post_release_audit.py",
|
|
"python3 scripts/generate_k8_milestone_closeout.py",
|
|
"node web/worker/test_replay.mjs",
|
|
"node web/workspace/test_recovery.mjs",
|
|
"node web/workspace/test_migration.mjs",
|
|
"python3 -m unittest discover -s scripts -p 'test_*.py' -v"
|
|
],
|
|
"deterministic_inputs": [
|
|
"context-lock.json",
|
|
"coverage/post-release-audit.report.json",
|
|
"coverage/release-candidate-gate.report.json",
|
|
"coverage/release-closure.report.json",
|
|
"coverage/release-evidence-index.json"
|
|
]
|
|
},
|
|
"release_action": "STOP_RELEASE",
|
|
"release_decision": "blocked_not_release_candidate",
|
|
"report_sha256": "d01884df05489c053a1cf9cc75edb191196d942a05c1e1b88a41e4058ded8211",
|
|
"schema": "k8-milestone-closeout.v1",
|
|
"source_baseline": {
|
|
"context_lock": {
|
|
"bytes": 7647,
|
|
"path": "context-lock.json",
|
|
"role": "context_lock",
|
|
"sha256": "bf6651f8d1803f2219d40e61f5e86dcf0821862d087eec2e19f99f593561353e",
|
|
"status": "present"
|
|
},
|
|
"linuxcnc_source_sha": "239dcf4284762ad7e9c65d390bc5524d855c2f8e",
|
|
"linuxcnc_version": "2.10.0~pre0"
|
|
},
|
|
"status": "complete",
|
|
"task_id": "K8-REL-06"
|
|
}
|