Skip to content

Commit ab97ecd

Browse files
gitcommit90claude
andauthored
release: 0.0.38 with accurate Windows first-run documentation (#57)
Cuts 0.0.38 and corrects the public documentation for the Windows first-run experience that 0.0.37 and 0.0.38 actually fixed. A typical new Windows 11 PC has WSL and VirtualMachinePlatform disabled. 1Helm enables both itself, which requires one Windows restart partway through setup. The README, website manual, getting-started guide, and user guide now state that plainly: WSL is not a prerequisite, the single UAC prompt, the PowerShell progress window that must stay open, the restart as a normal step rather than an error, and resuming by reopening 1Helm as the same Windows user. SmartScreen on the unsigned Setup executable is disclosed honestly. Also adds the per-platform install and removal paths the repository front page never documented, first-run troubleshooting for all three platforms, and the two Settings sections (Notifications, Feedback) the user guide omitted. The website's disclosed Authenticode version is release-coupled, so test/site.mjs now derives it from package.json instead of pinning a literal that goes stale on every patch bump. Release pins: version, changelog, and local/1helm-channel-machine:0.0.38. Co-authored-by: Joseph Yaksich <gitcommit90@users.noreply.github.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
1 parent 24db600 commit ab97ecd

13 files changed

Lines changed: 164 additions & 33 deletions

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.0.38] - 2026-08-02
11+
1012
### Fixed
1113

1214
- Windows first-run no longer reports "Shared runtime setup failed" when all
@@ -1036,6 +1038,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
10361038
Application Support, and isolated Apple container machines.
10371039

10381040
[Unreleased]: https://github.com/gitcommit90/1Helm/compare/v0.0.36...HEAD
1041+
[0.0.38]: https://github.com/gitcommit90/1Helm/compare/v0.0.30...v0.0.38
10391042
[0.0.37]: https://github.com/gitcommit90/1Helm/compare/v0.0.30...v0.0.37
10401043
[0.0.36]: https://github.com/gitcommit90/1Helm/compare/v0.0.35...v0.0.36
10411044
[0.0.35]: https://github.com/gitcommit90/1Helm/compare/v0.0.34...v0.0.35

README.md

Lines changed: 68 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,10 @@ Skipper ─── crosses the boundary ─────────┘
110110

111111
## Install
112112

113-
On Apple Silicon:
113+
Whichever platform, it works best on a dedicated machine: your crew works
114+
around the clock, and your everyday computer takes naps.
115+
116+
### macOS (Apple Silicon)
114117

115118
1. [Download the current signed DMG](https://1helm.com/download/macos).
116119
2. Open it and drag **1Helm** to Applications.
@@ -125,21 +128,70 @@ update preserves it — credentials, databases, resident state, files, and
125128
workspaces. Profile → Check for updates asks the Mac running 1Helm—not the
126129
device displaying the web UI—to download and verify the signed update.
127130

128-
Windows 11 x64 gets a [Setup executable](https://1helm.com/download/windows)
129-
that provisions one installation-scoped WSL 2 runtime and one durable OCI
130-
container per ordinary channel. Linux hosts run the same channel containers
131-
natively under Podman. The verified installer provisions a durable systemd
132-
service with an atomic,
133-
digest-verified, health-checked updater — see the
134-
[Linux install guide](https://1helm.com/manual/install-linux). Whichever platform,
135-
it works best on a dedicated machine: your crew works around the clock, and
136-
your everyday computer takes naps.
131+
### Windows 11 x64
132+
133+
1. [Download the current Setup executable](https://1helm.com/download/windows).
134+
2. Windows Setup is **not yet Authenticode signed**, so SmartScreen shows
135+
"Windows protected your PC". Choose **More info****Run anyway**.
136+
3. Open 1Helm and complete Captain → Providers → Workspace.
137+
4. At the Workspace step, 1Helm builds its WSL 2 runtime. **You do not need WSL
138+
installed beforehand.** A stock Windows 11 ships with WSL and
139+
VirtualMachinePlatform turned off, and 1Helm enables both itself:
140+
- Approve the one administrator (UAC) prompt.
141+
- A PowerShell window opens and reports progress. **Leave it open** until it
142+
finishes.
143+
- Because those Windows features were just turned on, **Windows has to
144+
restart once.** 1Helm says so in plain language. This is the normal path
145+
on a new PC — it is not an error, and nothing is lost.
146+
- Restart, sign back in as the **same** Windows user, then open 1Helm and
147+
continue setup. It picks up where it left off; already-completed steps are
148+
skipped.
149+
150+
Setup downloads Microsoft's pinned WSL 2 package and a pinned Ubuntu 24.04 root
151+
filesystem, both SHA-256 verified, and the WSL package is additionally checked
152+
for a valid Microsoft Authenticode signature. The result is one
153+
installation-scoped WSL 2 runtime hosting one durable OCI container per ordinary
154+
channel, with Windows-drive mounts and process interop disabled. App state lives
155+
in `%APPDATA%\1Helm-OCI-v1`; the shared runtime disk lives in
156+
`%LOCALAPPDATA%\1Helm-Runtime`.
157+
158+
### Linux (Ubuntu/Debian, systemd)
159+
160+
Linux hosts run the same channel containers natively under Podman. The verified
161+
installer provisions a durable systemd service with an atomic, digest-verified,
162+
health-checked updater:
163+
164+
```bash
165+
curl -fsSLo /tmp/1helm-install.sh https://1helm.com/install.sh
166+
less /tmp/1helm-install.sh
167+
sudo bash /tmp/1helm-install.sh
168+
```
169+
170+
It requires root, systemd, apt, cgroup v2, and x86-64 or arm64 — see the
171+
[Linux install guide](https://1helm.com/manual/install-linux).
172+
173+
### Removing 1Helm
174+
175+
Use **Settings → Admin → Prepare to remove 1Helm** first on any platform. It is
176+
Captain-only, requires typed confirmation, and prepares backend-owned resident
177+
machines for safe deletion. Export irreplaceable channel files before you start.
178+
179+
- **macOS** — drag 1Helm to the Trash. `~/Library/Application Support/1Helm-OCI-v1`
180+
is preserved unless you delete it yourself.
181+
- **Windows** — uninstall from Settings → Apps → Installed apps. The uninstaller
182+
removes 1Helm's own containers, unregisters its WSL runtime, and deletes
183+
`%LOCALAPPDATA%\1Helm-Runtime`.
184+
- **Linux**`sudo /opt/1helm/uninstall-host.sh` removes the services, helper,
185+
and 1Helm-owned containers while preserving `/var/lib/1helm-oci-v1` for
186+
recovery.
187+
188+
### Release discipline
137189

138190
Mac, Linux, and Windows use one synchronized desktop release version. A release
139191
is held in full until the signed/notarized Mac DMG and updater ZIP, verified
140192
Linux host archive, and Windows Setup/Squirrel feed have all passed native
141193
install and update acceptance from the same source commit. Windows
142-
Authenticode status is disclosed in every release; v0.0.31 is `NotSigned`.
194+
Authenticode status is disclosed in every release; v0.0.38 is `NotSigned`.
143195

144196
### Connect from a phone or tablet
145197

@@ -152,10 +204,10 @@ frontend; the password is never retained and the resulting session is stored
152204
in the iOS Keychain or encrypted with a key held by Android Keystore.
153205

154206
- The native iOS and Android gateway source is included in this repository,
155-
but neither mobile platform has a current v0.0.31 public build. The most
207+
but neither mobile platform has a current v0.0.38 public build. The most
156208
recent signed Android APK is the older v0.0.23 gateway, and 1Helm is not
157209
currently listed in the public iOS App Store. Use the HTTPS browser interface
158-
for the current v0.0.31 experience.
210+
for the current v0.0.38 experience.
159211
- The native clients require HTTPS, do not contain or initialize the 1Helm
160212
server or a frozen copy of its product frontend, and do not retain host data
161213
or provider credentials beyond the selected server address and secure
@@ -277,7 +329,7 @@ and an audit trail. A prompt saying “use this service” is not a connector.
277329
service with health-check rollback.
278330
- Signed, Apple-notarized, stapled Apple Silicon DMG releases.
279331
- Browser access from phones and tablets to an already configured HTTPS 1Helm
280-
host; native mobile gateway source is present but has no v0.0.31 public build.
332+
host; native mobile gateway source is present but has no v0.0.38 public build.
281333

282334
### Platform truth
283335

@@ -286,7 +338,7 @@ and an audit trail. A prompt saying “use this service” is not a connector.
286338
| **Apple Silicon macOS 26** | Native desktop product and real isolated Linux computer per resident (Apple `container machine`, `home-mount=none`). |
287339
| **Linux / CI** | Supported headless systemd host with one durable Podman OCI container per resident, runtime-owned storage, and exact ownership checks; CI may select an explicit test backend. |
288340
| **Windows 11 x64** | Native desktop product with one installation-scoped WSL 2 OCI runtime and one durable container per resident; Windows-drive mounts and interop are disabled. |
289-
| **iPhone, iPad, and Android** | Use the current HTTPS browser interface. Native gateway source exists, but v0.0.31 has no public mobile artifact and the iOS app is not publicly listed. |
341+
| **iPhone, iPad, and Android** | Use the current HTTPS browser interface. Native gateway source exists, but v0.0.38 has no public mobile artifact and the iOS app is not publicly listed. |
290342

291343
Not yet shipped: current public mobile builds, a native Linux desktop shell, a
292344
hosted control plane, rich Photon attachment fidelity, or blind execution of
@@ -313,7 +365,7 @@ A fresh data directory opens first-run setup. The source runtime defaults to
313365
| `PORT` | `8123` | HTTP/WebSocket control-plane port. |
314366
| `CTRL_DATA_DIR` | `./data` | Databases, routing state, uploads, and non-OCI development/Apple workspace mirrors. |
315367
| `HELM_CHANNEL_COMPUTER_BACKEND` | `apple` on macOS, `oci` on Linux and Windows | Host isolation backend; `native` and `mock` are explicit development/test overrides. |
316-
| `HELM_CHANNEL_MACHINE_IMAGE` | `local/1helm-channel-machine:0.0.37` | Versioned channel-machine image contract. |
368+
| `HELM_CHANNEL_MACHINE_IMAGE` | `local/1helm-channel-machine:0.0.38` | Versioned channel-machine image contract. |
317369

318370
### Agent-first JSON CLI
319371

docs/GOVERNANCE.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,10 @@ contract as the slice hardens.
8686
`/var/lib/1helm-oci-v1`.
8787
- Windows verification must prove the Setup/Squirrel signature status, clean
8888
install, old-to-new update, loopback health, WSL lifecycle, and retained
89-
application data on Windows 11 x64. Do not substitute a self-signed
89+
application data on Windows 11 x64. Clean install must be exercised on a host
90+
where WSL and VirtualMachinePlatform start disabled, covering the elevation
91+
prompt, the required Windows restart, and resumed setup after that restart.
92+
Do not substitute a self-signed
9093
certificate or block an otherwise accepted release solely because the
9194
artifacts are honestly disclosed as unsigned.
9295

docs/USER_GUIDE.md

Lines changed: 56 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -204,13 +204,19 @@ not consume half of the visible screen.
204204
- **Workflows** — recurring resident work, next run, pause/resume, run counts,
205205
and failures.
206206
- **Connections** — native host-brokered Gmail and Photon configuration.
207+
- **Notifications** — per-account global mute and mobile notification opt-in.
208+
- **Feedback** — send a comment and optional attachments to the 1Helm team,
209+
with privacy-bounded diagnostics included only if you check that option.
207210
- **Audit** — retained events and hash-chain verification.
208211
- **Domains** — local-first collaboration and optional Cloudflare domain.
209212
- **Providers** — accounts, keys, models, routes, quotas, logs, and endpoint.
210213
- **Skipper computers** — optional Captain-owned computers for authorized
211214
Skipper work; these never replace resident Linux computers.
212215
- **Members** — coworkers, access requests, and invitations.
213216

217+
Those sections are the Captain/admin view. A signed-in member who is not an
218+
administrator sees only **Providers** and **Notifications**.
219+
214220
## Providers, models, and routes
215221

216222
Accounts and keys form one fabric. Connect multiple ChatGPT, Claude,
@@ -377,14 +383,17 @@ Source/developer deployments report that their host operator owns updates.
377383
Every host update preserves:
378384

379385
```text
380-
~/Library/Application Support/1Helm-OCI-v1
386+
macOS: ~/Library/Application Support/1Helm-OCI-v1
387+
Linux: /var/lib/1helm-oci-v1
388+
Windows: %APPDATA%\1Helm-OCI-v1 (plus %LOCALAPPDATA%\1Helm-Runtime)
381389
```
382390

383391
On macOS that directory contains databases, credentials, workspaces, resident
384-
state, and Apple mirrors. Linux preserves the equivalent OCI-generation state
385-
under `/var/lib/1helm-oci-v1`. The retired data roots remain untouched and are
386-
not imported by this generation. Do not delete either current data root during
387-
replacement.
392+
state, and Apple mirrors. Linux and Windows preserve the equivalent
393+
OCI-generation state; on Windows the shared WSL runtime disk lives separately
394+
under `%LOCALAPPDATA%\1Helm-Runtime`. The retired data roots remain untouched
395+
and are not imported by this generation. Do not delete a current data root
396+
during replacement.
388397

389398
Before removing 1Helm, use its removal preparation flow. It is Captain-only,
390399
requires typed confirmation, reports backend-owned resident machines, and
@@ -403,6 +412,47 @@ Recovery principles:
403412

404413
## Troubleshooting
405414

415+
### First run and installation
416+
417+
**Windows asks me to restart in the middle of setup.** That is the expected
418+
path on a normal Windows 11 PC. WSL and VirtualMachinePlatform ship disabled;
419+
1Helm turns them on for you, and Windows cannot use them until it restarts.
420+
Restart, sign back in as the same Windows user, open 1Helm, and continue —
421+
completed steps are skipped. Nothing is lost and nothing else is required.
422+
423+
**Windows says "Windows protected your PC" when I run Setup.** Windows Setup is
424+
not yet Authenticode signed, so SmartScreen warns about it. Choose **More info**
425+
**Run anyway**. Every release discloses its Authenticode status; v0.0.38 is
426+
`NotSigned`. Only run an installer you downloaded from
427+
[1helm.com](https://1helm.com/download/windows) or the project's GitHub
428+
releases.
429+
430+
**A PowerShell window opened during Windows setup.** That window is the setup
431+
itself and shows live progress. Leave it open until it finishes; closing it
432+
early aborts the step. 1Helm mirrors the same progress in the app and writes a
433+
log to `%APPDATA%\1Helm-OCI-v1\windows-wsl-setup.log`.
434+
435+
**Windows setup failed or stalled.** Check the PowerShell window for the error,
436+
then use **Retry shared runtime setup** in onboarding or Settings → Channel
437+
computers. Setup is idempotent — retrying resumes rather than starting over.
438+
The runtime requires Windows 11 **x64**; arm64 Windows is not supported by this
439+
build.
440+
441+
**macOS blocks the app or reports it is damaged.** The Mac release is Developer
442+
ID signed, notarized, and stapled, so Gatekeeper should accept it after you
443+
drag it to Applications. If it does not, you are almost certainly running a
444+
partially downloaded or re-hosted copy — download the DMG again from
445+
[1helm.com](https://1helm.com/download/macos). Do not strip quarantine
446+
attributes or re-sign an ad-hoc build to work around a failed verification.
447+
448+
**The Linux installer refuses to run.** It requires root, a running systemd
449+
host, `apt`, cgroup v2, and an x86-64 or arm64 CPU, and it installs Podman
450+
rather than Docker. The error names the missing prerequisite. Follow the
451+
[Linux install guide](https://1helm.com/manual/install-linux); check progress
452+
with `sudo systemctl status 1helm` and `sudo journalctl -u 1helm -f`.
453+
454+
### In the app
455+
406456
**A button highlights but Continue does nothing.** Ensure every visible question
407457
has one selected option or typed answer. If it still fails, capture the thread
408458
and app version; selection and the submitted answer should survive live repaints.
@@ -445,7 +495,7 @@ fallback.
445495
- Operational history is locally tamper-evident.
446496
- Mac artifacts are Developer ID signed, notarized, stapled, and Gatekeeper
447497
verified. Linux assets are digest-verified, and Windows Authenticode status
448-
is disclosed for every release (`NotSigned` for v0.0.31).
498+
is disclosed for every release (`NotSigned` for v0.0.38).
449499

450500
For the detailed boundary, see [SECURITY.md](../SECURITY.md). For product intent,
451501
see [VISION.md](VISION.md).

docs/VISION.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ verification.
8787
synchronized public desktop-host product. Every named desktop release must
8888
publish all three from one version and exact source commit.
8989
- 1Helm is self-hosted and open source. Native mobile gateway source is present,
90-
but v0.0.31 has no public Android/iOS build and 1Helm is not listed in the
90+
but v0.0.38 has no public Android/iOS build and 1Helm is not listed in the
9191
public iOS App Store. A hosted control plane, blind community-skill execution,
9292
and a native Linux desktop shell are not shipped.
9393

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "1helm",
33
"productName": "1Helm",
4-
"version": "0.0.37",
4+
"version": "0.0.38",
55
"private": true,
66
"type": "module",
77
"license": "AGPL-3.0-only",

0 commit comments

Comments
 (0)