Skip to content

Complete dual-platform Homebrew packaging and isolate CLI upgrade channels - #91

Merged
Sailfishc merged 8 commits into
areal-project:mainfrom
Sailfishc:codex/homebrew-distribution
Oct 19, 2026
Merged

Sailfishc merged 8 commits into
areal-project:mainfrom
Sailfishc:codex/homebrew-distribution

Conversation

@Sailfishc

@Sailfishc Sailfishc commented Oct 19, 2026 •

Copy link
Copy Markdown
Collaborator

Problem and behavior

Homebrew release validation previously used a temporary macOS-only formula, while CLI upgrades hardcoded an unrelated tap and queried the stable GitHub channel even for preview installs. Add a dual-platform formula generator for macOS arm64 and Linux x86_64, an explicit keg-only beta formula, and receipt-based routing through the Homebrew instance that owns the installation. Unknown receipts and channel changes fail safely. Homebrew upgrades still require stopped services and never stop tasks automatically.

Add publication-triggered tap synchronization with verified public archives and channel-specific updates. It retains read-only workflow permissions and fails explicitly when existing cross-repository authorization is absent; maintainers can use the same script with existing tap write access. Prepare CLI 0.1.7-beta.2 without changing the GUI version or stable update feeds.

The public tap is not available yet: the organization rejected the current maintainer's repository-creation request. Public first-install acceptance remains blocked until an authorized organization owner creates areal-project/homebrew-tap and grants existing maintainer write access. No credentials or security settings were created or expanded.

Validation

  • 12 release/archive/checksum/installer/formula regression tests passed.
  • Chinese/English documentation links and pairing passed (183 files).
  • Rust formatting and 4 focused upgrade tests passed; 8 real CLI upgrade smoke tests passed.
  • Local native macOS acceptance verified stable 0.1.5 to 0.1.6, beta.1 to beta.2, beta isolation, actual receipt tap routing through the owning brew, Runtime read/write smoke, and real active-task preservation/refusal. A local post-upgrade brew test child had a signal-style exit; bundle bytes and signatures matched and its exact read-only rerun passed. Hosted native CI remains required before merge.
  • Linux bundles retain the Ubuntu 22.04 / glibc 2.35 build and installer baseline. A separate Ubuntu 24.04 / glibc 2.39 job validates the identical archive through native Linuxbrew, respecting Homebrew host requirements without ignoring dependencies.
  • Release CI now exercises isolated native Homebrew prefixes on macOS and Linux: published older stable/beta archives, upgrade, keg-only coexistence, actual-source checks, complete Runtime smoke and an active-task refusal without stopping the service. Existing standalone installer and Linux native-tool checks remain enabled.
  • Public tap acceptance remains blocked as described above. Temporary tap tests will not be reported as public-channel availability.

Documentation

Update both installation guides and release guides with separate first-install/upgrade commands, stable/beta isolation, Linux prerequisites and explicit synchronization failure recovery. Personal release skills are updated locally and are not included in this repository.

Generalization evidence

This changes distribution and installation-source routing, not agent policies, prompts, budgets or task behavior. Regression invariants apply to actual receipt ownership, channel separation, integrity and backend preservation; no agent-quality improvement is claimed.

@Sailfishc
Sailfishc merged commit 2505be7 into areal-project:main Oct 19, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant