feat: beta channel -- per-merge dogfood with pre-swap data safety (goal 0100) - #222
Merged
Conversation
…nge backup guards (goal 0100) Extends 0082's channel-aware updater with a third channel: a beta-stamped build targets a rolling GitHub prerelease (SemVer-tagged per build, since wails3/pkg/updater's TagName comparison ranks any non-SemVer or non-increasing tag as never-newer) instead of the release channel's /releases/latest. Owner-mandated data-safety addendum: DownloadAndInstallUpdate now takes a backup through an injected seam before every swap and aborts on failure, and a launch-time version-stamp guard (backupsvc.SnapshotOnVersionChange) covers the source-channel pull+rebuild path where no updater ever runs. Release and beta assets now share one naming/checksum script (scripts/package-macos-zip.sh) so the two channels can never drift. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FW5GkkAG8du7tNdYLk2zSd
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Every green merge to main now publishes a rolling beta pre-release (SemVer prerelease tags — the vendored updater's semver comparison makes a bare rolling tag structurally unrankable, caught by reading its source; one active beta at a time). Beta-stamped installs see Update now via the same digest-verified path as release.
Data safety (owner-mandated — the beta install runs on real data):
One-time first install (after this merges and the first beta publishes): download the zip → drag mill.app to Applications → first launch: System Settings → Privacy & Security → Open Anyway (ad-hoc signed, not notarized; or
xattr -dr com.apple.quarantine /Applications/mill.app). Every merge after that is Settings → Updates → Update now.Real end-to-end swap is the registered manual check (0082's class) — verify on the first published beta.
Goal: docs/goals/0100-beta-channel.md.
🤖 Generated with Claude Code
https://claude.ai/code/session_01FW5GkkAG8du7tNdYLk2zSd