5.1 KiB
K8 Release Closure
This is the K8 release evidence package for context linuxcnc-2.10.0-pre0-wasm-m1-py-c1. K8-REL-01 records compatibility blockers, K8-REL-02 records migration/rollback/offline recovery, and K8-REL-03 records scoped license/source evidence. It is not a release-candidate declaration. Regenerate it with:
python3 scripts/generate_release_closure.py
The generated artifacts are:
| Artifact | Purpose |
|---|---|
coverage/release-closure.report.json |
Aggregate release decision and blocker summary |
coverage/release-candidate-gate.report.json |
Final release-candidate gate, blocker reasons, evidence hashes and executable stop/allow action |
coverage/compatibility-matrix.report.json |
ABI, protocol, schema, runtime, browser and oracle compatibility matrix |
coverage/license-closure.report.json |
Source, upstream license declarations, download metadata and explicit REAL-EXCLUDED summary |
coverage/license-source-index.jsonl |
Deterministic per-entry source hash, owner, scoped license evidence and closure status |
docs/linuxcnc-web-wasm-license-decision.md |
Explicit blocked decision for unassigned Web/WASM SPDX/NOTICE metadata |
coverage/workspace-migration.report.json |
Versioned package migration, rollback failure injection and offline cache exercise |
coverage/workspace-rollback.package.json |
Hash-addressed rollback target for the nearest committed package |
coverage/offline-cache.package.json |
Deterministic offline resource manifest and workspace package reference |
coverage/release-evidence-index.json |
Hash-addressed evidence index and affected-manifest audit |
The locked context and the existing source, manifest, Python runtime and configuration report hashes match. ABI/protocol/snapshot/event/workspace/manifest versions are all 1, and the observed Worker schemas agree with the lock. Native/WASM and Worker evidence remains repeat-stable for the implemented slices.
The release conclusion is explicitly blocked_not_release_candidate:
The final gate in coverage/release-candidate-gate.report.json independently verifies context consistency, locked schema contracts, evidence integrity, license-source completeness and migration/rollback/offline readiness. It records candidate_eligible: false, release_action: STOP_RELEASE, and six hard blockers. This is an explicit stop decision, not a release-candidate declaration.
- 6,249 of 8,053 manifest seed entries remain
needs_owner; none isaccepted. - 1,804 affected entries have derived owners from their non-unassigned manifest domain and retain inputs, outputs, test IDs, difference state and oracle status in the evidence index. Their oracle state is
blocked, never accepted. - The configuration audit retains 997 missing-resource rows across 445 paths and 194 resource-blocked startup entries. Graph orphans, resource orphans and unowned templates remain zero.
- The locked source has no
linuxcnc/unit_tests/kinematicsofficial oracle root. Derived configuration and recovery results are therefore not official goldens. - The browser matrix is still planned with Chromium, Firefox and Safari versions marked
TBD. coverage/license-source-index.jsonlcontains all 8,053 manifest entries: all source hashes and license-audit owners are present, 7,996 LinuxCNC entries match the most-specific scoped declaration inlinuxcnc/debian/copyright, and 57 Web/WASM entries remainblocked_unassigned. These audit owners do not replace manifest feature owners or promoteneeds_ownerentries. The manifest v1 itself remains unchanged and has no license field; the external index is the auditable closure artifact rather than an inferred license assignment.- The Web/WASM implementation has no repository license/NOTICE/SPDX assignment.
docs/linuxcnc-web-wasm-license-decision.mdrecords the owner decision required; this remains a K8-REL-03 blocker and no upstream LinuxCNC license is inherited. - K8-REL-02 is implementation-verified:
workspace-package.v1supports deterministic v1↔v2 envelope migration without changing locked event/snapshot/checkpoint/journal schemas; tampering and unsupported versions fail closed. A rollback package references the current hash and nearest committed package, never overwrites the old package, and recovers to the committed endpoint after an injected pre-commit failure. The offline bundle has deterministic resource hashes, starts with a complete cache, blocks missing/corrupt resources while offline, and reportsnetwork_requiredwhen online fallback is allowed. The official migration/browser/OPFS oracle is still absent and remains blocked.
REAL-EXCLUDED is reserved for physical hardware, hard real-time kernel scheduling and host device/path access. These exclusions are listed in the compatibility and license reports and are not used to hide simulated spindle, tool, probe, HAL or recovery behavior.
The audit and migration exercise do not change ABI, protocol, locked event/snapshot/workspace schema versions, source lock, or simulation behavior. They do not create official golden data or clear the remaining compatibility, resource, browser or license blockers.