diff --git a/docs/evidence/v0439-release-2026-10-26.json b/docs/evidence/v0439-release-2026-10-26.json new file mode 100644 index 0000000..7375d86 --- /dev/null +++ b/docs/evidence/v0439-release-2026-10-26.json @@ -0,0 +1,174 @@ +{ + "tag": "v0.4.39", + "tagCommit": "fd0b0a946f11d92fd1cc480cd9d1a83be795bf71", + "releaseUrl": "https://github.com/saphid/frame-control/releases/tag/v0.4.39", + "releaseId": 423799494, + "releaseWorkflow": { + "runId": 40258561639, + "conclusion": "success", + "jobsPassed": 6 + }, + "publishedLatest": true, + "assets": [ + { + "name": "Frame-Control-linux-amd64.deb", + "size": 131444552, + "digest": "sha256:9ca74551fe47ea244f500e1b4119c02307d185d1acea6287a02a5f6c055c674e" + }, + { + "name": "Frame-Control-linux-arm64.AppImage", + "size": 156170292, + "digest": "sha256:66bd8f644f6a0b06f1e46ff635c5b50e53d3f2a9c6736f12b737ee0ad1667335" + }, + { + "name": "Frame-Control-linux-arm64.deb", + "size": 118529048, + "digest": "sha256:f6b476a2f3163028d0862a13d0c8890760bdc8fe52c1006f106d9e540de32a6a" + }, + { + "name": "Frame-Control-linux-x86_64.AppImage", + "size": 164587947, + "digest": "sha256:240023c89bea049f0864da75f83ec235c138375c4fd1c4612953a4c5863610ca" + }, + { + "name": "Frame-Control-mac-arm64.dmg", + "size": 162169626, + "digest": "sha256:c0243317555975b1a5588640ec6fe71db5014788858ff00dd45914b77c1fe99a" + }, + { + "name": "Frame-Control-mac-arm64.zip", + "size": 162054585, + "digest": "sha256:08191f80d6c78ac8576e2e2fe7937f5c1689ebed780528e63b6fb41b3c90d823" + }, + { + "name": "Frame-Control-mac-x64.dmg", + "size": 169230398, + "digest": "sha256:f47b5a188b5090f97a72467394d4fa65ccc73fe3169a6276e2a32cab5c8019d8" + }, + { + "name": "Frame-Control-mac-x64.zip", + "size": 169141014, + "digest": "sha256:bafc1aec0c11c1fae097dbe1e4b585ebc13a0f8eaf1b249717c14d78811e08d7" + }, + { + "name": "Frame-Control-Setup-x64.exe", + "size": 136500288, + "digest": "sha256:44a9f4c072b8c10ec81b060484764af10607763c69d55ecdad6bd0b103b7207e" + }, + { + "name": "Frame-Control-win-x64.zip", + "size": 183446427, + "digest": "sha256:14f3dae327f054431ecb7ed204144dc529e04a03b35b646925bd9812dc54c504" + } + ], + "sha256sumsDigest": "sha256:59cff0ab59e2a681656c0b15b3445ca0baa0546d03196f8c4ae58eae8785db25", + "updateJsonDigest": "sha256:afef87fa3869be3acf06dfaa4831a97b29ce9c5d275940a2202bc958c62f4d67", + "publisherDryRun": { + "passed": true, + "installerDigests": 10, + "digestAndChecksumChecks": 11, + "completeNotesCharacters": 3837 + }, + "downloadedAppImage": { + "name": "Frame-Control-linux-x86_64.AppImage", + "sha256": "240023c89bea049f0864da75f83ec235c138375c4fd1c4612953a4c5863610ca", + "isolatedXvfbHttpStatus": 200, + "serverStopped": true, + "serverHeaderPrefix": "FrameControl/1" + }, + "downloadedIntelMacZip": { + "name": "Frame-Control-mac-x64.zip", + "sha256": "bafc1aec0c11c1fae097dbe1e4b585ebc13a0f8eaf1b249717c14d78811e08d7", + "machOCpu": "x86_64", + "inspected": [ + "app executable", + "bundled Python 3.12", + "Electron helper" + ], + "physicalRuntime": "unverified" + }, + "realFrameSmoke": { + "sourceTag": "v0.4.39", + "started": "2026-10-26T02:20:45Z", + "buildId": "20261022.6153909", + "preflight": { + "activity": 3, + "proximity": [ + 6.3125 + ], + "battery": [ + 100 + ] + }, + "passed": 13, + "failed": 0, + "steps": [ + { + "name": "cleanup: leftovers from earlier runs", + "passed": true, + "seconds": 8.2 + }, + { + "name": "devkit service: properties.json", + "passed": true, + "seconds": 0.0 + }, + { + "name": "status", + "passed": true, + "seconds": 0.6 + }, + { + "name": "arm64: install", + "passed": true, + "seconds": 8.0 + }, + { + "name": "arm64: launch", + "passed": true, + "seconds": 3.5 + }, + { + "name": "arm64: remove", + "passed": true, + "seconds": 6.8 + }, + { + "name": "x86_64: install", + "passed": true, + "seconds": 7.9 + }, + { + "name": "x86_64: launch", + "passed": true, + "seconds": 3.5 + }, + { + "name": "x86_64: remove", + "passed": true, + "seconds": 6.6 + }, + { + "name": "exe: install", + "passed": true, + "seconds": 8.0 + }, + { + "name": "exe: launch", + "passed": true, + "seconds": 3.4 + }, + { + "name": "exe: remove", + "passed": true, + "seconds": 6.5 + }, + { + "name": "cleanup: everything this run installed", + "passed": true, + "seconds": 8.1 + } + ], + "ownedLockReleased": true + } +} diff --git a/docs/evidence/v0439-release-2026-10-26.md b/docs/evidence/v0439-release-2026-10-26.md new file mode 100644 index 0000000..99781a8 --- /dev/null +++ b/docs/evidence/v0439-release-2026-10-26.md @@ -0,0 +1,17 @@ +# v0.4.39 release gate, 26 October 2026 + +The [published release](https://github.com/saphid/frame-control/releases/tag/v0.4.39) is GitHub's latest release. Its tag resolves to main commit `fd0b0a946f11d92fd1cc480cd9d1a83be795bf71`, after PRs #280 and #281 merged. The [tagged workflow](https://github.com/saphid/frame-control/actions/runs/40258561639) passed all six jobs: draft, Apple Silicon Mac, Intel Mac, Windows, Linux and checksums. The release has ten installers, `SHA256SUMS` and `update.json`. [Sanitized numeric results](v0439-release-2026-10-26.json) contain the exact asset sizes and GitHub digests. + +| Gate | Result | +|---|---| +| `scripts/publish-release.sh --dry-run v0.4.39` from the exact tag | Passed: all ten installer digests, regenerated `SHA256SUMS` digest, complete update notes and ten-asset `update.json` | +| Downloaded Linux x86_64 AppImage | SHA-256 matched `240023c89bea049f0864da75f83ec235c138375c4fd1c4612953a4c5863610ca`; the tagged isolated Xvfb check received HTTP 200 with a `FrameControl/1` server header prefix and confirmed the server stopped | +| Downloaded Intel Mac ZIP | SHA-256 matched `bafc1aec0c11c1fae097dbe1e4b585ebc13a0f8eaf1b249717c14d78811e08d7`; ZIP inspection found x86_64 Mach-O app executable, bundled Python 3.12 and Electron helper | +| Exact tagged `scripts/frame-smoke.sh` on the real Frame | **13/13** steps passed on SteamOS build `20261022.6153909`; locked preflight found SteamVR activity 3, proximity raw 6.3125 and battery 100%. Reserved test titles were removed and the script released its owner-token lock. | +| Published release readback | GitHub reports `draft=false`, `prerelease=false`, latest tag `v0.4.39`; downloaded `update.json` lists ten unique assets, the stable release URL and complete safety notes | + +The first local AppImage launch attempt stopped before app startup because the execution sandbox denied Electron's sandbox host (`Operation not permitted`). Repeating the same tagged check with host permissions passed. The bundled release CI also ran its own AppImage launch check. + +The unworn VR runner's candidate evidence is [documented separately](framey-vr-standby-gate-2026-10-26.md). Its successful stereo and `/dev/video99` panel captures and synthetic OpenVR input are not a worn or physical-controller test. Two other attempts found an intermittently hidden overlay and failed safely. No person wore the headset for this release check. Physical controller input, optical comfort, VR keyboard, native scroll and official-plugin wearer-visible behavior remain unverified. + +The physical Intel MacBook Air ran an earlier candidate, but was unreachable for this exact tagged installer. The architecture and hash checks above do not prove physical Mac runtime. Physical Windows PC and macOS OBS/headset capture also remain unverified. No private room pixels or raw Steam log lines are included here.