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": "515d7c8a1fccc01a04d2c611a3338b06418d178c20b84263c75f145e65b6424f",
|
|
"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": "785051d2a826ff45223da0a3dada919b75ac03a4ffb3c7e6f19083e78adc1abc",
|
|
"status": "verified"
|
|
},
|
|
{
|
|
"path": "coverage/post-release-audit.report.json",
|
|
"sha256": "3ab0c8bf670141cd23a5698bbb94df8416020939b046e1c1b79a1ee9ae69d872",
|
|
"status": "verified"
|
|
},
|
|
{
|
|
"path": "coverage/release-candidate-gate.report.json",
|
|
"sha256": "7ef2381f4ee627a4792cf5448362c31c4bc8b3670ccda53a70b7955093398f67",
|
|
"status": "verified"
|
|
},
|
|
{
|
|
"path": "coverage/release-closure.report.json",
|
|
"sha256": "d586d30720723ad9e9375bc7309751bef5db37d34c6c0de98f7f0a7f9b2e6900",
|
|
"status": "verified"
|
|
},
|
|
{
|
|
"path": "coverage/release-evidence-index.json",
|
|
"sha256": "92435805bfcbc19244d90d322293711e0306f445997c233a5dd98ebbc63fd333",
|
|
"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": "3ab0c8bf670141cd23a5698bbb94df8416020939b046e1c1b79a1ee9ae69d872",
|
|
"status": "present"
|
|
},
|
|
{
|
|
"bytes": 7196,
|
|
"path": "coverage/release-candidate-gate.report.json",
|
|
"role": "release_candidate_gate",
|
|
"sha256": "7ef2381f4ee627a4792cf5448362c31c4bc8b3670ccda53a70b7955093398f67",
|
|
"status": "present"
|
|
},
|
|
{
|
|
"bytes": 1945,
|
|
"path": "coverage/release-closure.report.json",
|
|
"role": "release_closure",
|
|
"sha256": "d586d30720723ad9e9375bc7309751bef5db37d34c6c0de98f7f0a7f9b2e6900",
|
|
"status": "present"
|
|
},
|
|
{
|
|
"bytes": 1435099,
|
|
"path": "coverage/release-evidence-index.json",
|
|
"role": "release_evidence_index",
|
|
"sha256": "92435805bfcbc19244d90d322293711e0306f445997c233a5dd98ebbc63fd333",
|
|
"status": "present"
|
|
},
|
|
{
|
|
"bytes": 7647,
|
|
"path": "context-lock.json",
|
|
"role": "context_lock",
|
|
"sha256": "785051d2a826ff45223da0a3dada919b75ac03a4ffb3c7e6f19083e78adc1abc",
|
|
"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": "5979dc1dd8275cb163bf8eed396a6c6afbe80714a5c9db91ccc8ab7fd5f9720b",
|
|
"schema": "k8-milestone-closeout.v1",
|
|
"source_baseline": {
|
|
"context_lock": {
|
|
"bytes": 7647,
|
|
"path": "context-lock.json",
|
|
"role": "context_lock",
|
|
"sha256": "785051d2a826ff45223da0a3dada919b75ac03a4ffb3c7e6f19083e78adc1abc",
|
|
"status": "present"
|
|
},
|
|
"linuxcnc_source_sha": "239dcf4284762ad7e9c65d390bc5524d855c2f8e",
|
|
"linuxcnc_version": "2.10.0~pre0"
|
|
},
|
|
"status": "complete",
|
|
"task_id": "K8-REL-06"
|
|
}
|