Compare commits

...
Author SHA1 Message Date
SAPHID e711945c5a Record v0.4.47 release verification 2026-10-26 15:09:02 +00:00
Alex Southwell 035c59ee11 Merge pull request #332 from saphid/release/v0.4.47
Prepare Frame Control v0.4.47 candidate
2026-10-26 14:43:58 +00:00
SAPHID c687bcc71f Merge remote-tracking branch 'origin/main' into release/v0.4.47 2026-10-26 14:35:59 +00:00
Alex Southwell b6f45b287f Merge pull request #331 from saphid/feat/framey-shotty-python-compat
Load Shotty official backend with a scoped Python shim
2026-10-26 14:35:41 +00:00
SAPHID a77434d91b Record exact v0.4.47 candidate Frame smoke 2026-10-26 14:25:21 +00:00
SAPHID e07fa15592 Prepare Frame Control v0.4.47 candidate 2026-10-26 14:23:06 +00:00
4 changed files with 111 additions and 3 deletions

No files matched your search

+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "frame-control",
"version": "0.4.46",
"version": "0.4.47",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "frame-control",
"version": "0.4.46",
"version": "0.4.47",
"license": "MIT",
"devDependencies": {
"electron": "^44.4.5",
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "frame-control",
"productName": "Frame Control",
"version": "0.4.46",
"version": "0.4.47",
"description": "Desktop app for managing a Valve Steam Frame over SSH",
"private": true,
"main": "main.js",
@@ -0,0 +1,46 @@
# v0.4.47 candidate gate, 26 October 2026
This candidate contains Game Theme Music's locally rendered Settings view
(#330) and a digest-scoped Python import module for the official Shotty 0.1.0
archive (#331). The 116-plugin table is **4 works / 52 partial / 49 broken /
11 N/A**. Game Theme Music is partial for its local Settings view; its
backend, network and playback were denied in that audit. Shotty is partial
for its local frontend and synthetic screenshot copy in isolated Python;
actual ARM64 Decky startup and live screenshot rescue are unverified.
## Locked Frame candidate smoke
At 14:18 UTC, source commit `1f5b37a7552880b40868617ef22398fcd39b3f5d`
ran `scripts/frame-smoke.sh` on the real Frame. The script acquired its unique
owner in `/tmp/frame-test.lock` before reading status. Locked preflight found
SteamVR activity **3** (standby), proximity raw **3.0625**, and battery
**100%** on Frame OS 0.5.6 build `20261022.6153909`. Owned ARM64 and
Windows/Proton test titles installed, launched, and were removed. The
optional x86_64 title installed and was removed; launch was **skipped**
because Steam Linux Runtime 4 was absent. The result was **12 passed /
1 skipped / 0 failed**. Cleanup passed and the command exited 0, including
release of its owned lock. Detailed results stay private in
`tests/smoke/results/2026-10-26T141812Z-20261022.6153909.json`.
No wearer was confirmed. The interactive worn-check script was not run;
the smoke did not wake the headset or test the Framey panel. Game Theme
Music playback, Shotty live rescue, wearer-visible official-plugin UI,
physical controllers, keyboard and optical comfort remain unverified.
The hourly shared-lock worn check remains enabled.
## Publication boundary
At 14:23 UTC, the exact version-bumped candidate commit
`e07fa155928d1609304e317d15e0c4ef4a977579` ran the same token-locked
`scripts/frame-smoke.sh`.
Preflight again found activity **3** (standby), proximity raw **3.0625** and
battery **100%**. The result was **12 passed / 1 optional x86 launch skipped /
0 failed**. Owned cleanup passed and the command exited 0 after releasing its
lock. Its private result is
`tests/smoke/results/2026-10-26T142321Z-20261022.6153909.json`.
This paragraph is the only change after that smoke.
PR #331's combined-head CI, green release-PR and post-merge CI, tagged
installer builds, all ten installer digests with `SHA256SUMS`, independent
package checks, publisher dry run, and public `update.json` readback remain
required.
+62
View File
@@ -0,0 +1,62 @@
# v0.4.47 tagged release, 26 October 2026
The release PR [#332](https://github.com/saphid/frame-control/pull/332)
passed its exact-head checks and all four installer preview jobs, including
Intel Mac. It merged at main commit
`035c59ee1134aa158c3cd818e8dd35f822cbfc4b`. The seven-job post-merge
main [checks run](https://github.com/saphid/frame-control/actions/runs/40342375912)
passed, including iOS and fake-Frame e2e. Annotated tag `v0.4.47`
dereferences to that main commit. The tagged
[release workflow](https://github.com/saphid/frame-control/actions/runs/40344549980)
passed its draft, Linux, Windows, Apple Silicon Mac, Intel Mac, and checksum
jobs.
## Frame and package gates
The [candidate evidence](v0447-candidate-2026-10-26.md) records a locked
exact-version real Frame smoke: **12 passed / one optional x86 launch skipped /
zero failed**, with owned cleanup and lock release. The x86 launch needs Steam
Linux Runtime 4, which was absent. The headset was in standby and no wearer was
confirmed, so the interactive worn-check script was not run. No panel or
physical-controller claim follows from the smoke.
The draft contained exactly ten installers and `SHA256SUMS`, each with a
GitHub SHA-256 digest. An independently downloaded `SHA256SUMS` matched a
fresh ten-line list regenerated from GitHub asset metadata byte for byte;
its SHA-256 was
`ab1a95e5d51333dfc962723a21b044da935e07c24cedbd430222dc482d725508`.
`scripts/publish-release.sh --dry-run v0.4.47` passed the tag, installer,
checksum, and update-manifest gates after release notes were attached.
Independent downloads passed these checks:
| Package | Result |
| --- | --- |
| Linux x86_64 AppImage | SHA-256 `e7c83cf9177d11de724caf40a829b5c97ac3d2f0a04df24bcb1e4107310f1f49`; launched under isolated Xvfb on lxso1, bundled server returned HTTP 200 with `FrameControl/1`, then stopped. |
| Mac arm64 ZIP | SHA-256 `10092131b7fd43950e0dc436a51da1e41b42803d532a89363e2b71880b92b212`; ZIP CRC valid, bundle version 0.4.47, main Mach-O CPU arm64. |
| Mac x64 ZIP | SHA-256 `24531b088e85d2e7e9174289b0b9532c78fb85e7a29775c24369c00bc61e5408`; ZIP CRC valid, bundle version 0.4.47, main Mach-O CPU x86_64. |
| Windows x64 Setup | SHA-256 `a697a7e9042eb0d9545d99639e39ff53fbf993491c0728f59f038f21175b77cc`; PE/Nullsoft installer format. Tagged Windows CI checked packaged files and Python libraries. |
| Linux arm64 DEB | SHA-256 `e0be95ffc714e71487889a7da4886676b75c993f86bb674d180dc3ea4cd4b3b6`; package version 0.4.47 and architecture arm64. |
The tagged Mac and Windows packages were not launched on physical machines
in this release gate. Earlier physical Intel Mac acceptance covers older
bytes.
## Publication and limits
`scripts/publish-release.sh v0.4.47` published
[v0.4.47](https://github.com/saphid/frame-control/releases/tag/v0.4.47) at
15:07:28 UTC. GitHub's latest-release API returned that tag with
`draft=false`, `prerelease=false`, ten installers, `SHA256SUMS`, and
`update.json`. A fresh public latest-download of `update.json` reported
version 0.4.47, the stable release page, ten hashed installers, and the
worn-VR limit in its notes.
The exact-version official catalog is **4 works / 52 partial / 49 broken /
11 N/A** out of 116. Game Theme Music has a local Settings view; its music
playback and live backend are unverified. Shotty's backend imported and
copied a synthetic screenshot in isolated Python; live ARM64 Decky loading
and screenshot rescue are unverified. The real Frame was in standby;
official-plugin wearer visibility, physical controller usability, VR
keyboard, and optical comfort remain unverified. The hourly shared-lock
worn check remains enabled.