Repository navigation
ASM 0.4.0
Pre-releaseASM 0.4.0
This candidate adds a native Apple Silicon macOS CLI.
Publication requires the protected checks, native qualification, and verified release-workflow provenance.
Published 0.3.0 artifacts remain unchanged.
Host contract
| Host | CLI artifact | Native project target |
|---|---|---|
| Linux x86-64 | asm-0.4.0-x86_64-linux |
x86_64-linux |
| Linux ARM64 | asm-0.4.0-aarch64-linux |
aarch64-linux |
| Apple Silicon, macOS 15 or later | asm-0.4.0-aarch64-macos |
aarch64-macos |
The macOS command is native arm64 assembly linked with libSystem.
It does not execute a Linux binary or use Rosetta.
Intel macOS remains unsupported.
Installation and update
After publication and the checked catalog update, the single installer selects the exact operating system and ISA.
The command remains:
curl -qfsS -m120 https://asm.build/install.sh | shOn macOS, install GitHub CLI 2.93.0 or later at /opt/homebrew/bin/gh first.
The bootstrap uses macOS system tools, including Perl for bounded verifier execution.
It does not require GNU Coreutils, administrator access, or a GitHub login.
Project builds require Apple's Xcode Command Line Tools.
Installation and self-update require a protected local APFS path with ownership enabled.
ACL allow entries are refused; normal deny-only home ACLs remain supported.
The updater compares the executing vnode and destination before atomic replacement.
It preserves installed bytes after failed downloads, integrity checks, attestations, or file checks.
The macOS feed is /registry/v1/index-macos.tsv.
The existing Linux feed omits macOS rows so released 0.3.0 clients can still select their next update.
Both feeds retain the existing limits, including absent signed expiry and rollback protection.
Evidence and limits
Native CI builds the macOS CLI twice from the same recorded commit.
It requires identical bytes and successful native command and hostile-input tests.
Release publication includes those final bytes in the required GitHub provenance attestation.
The release job verifies artifact size, digest, workflow, repository identity, source, signer, and hosted-runner policy.
The Mach-O code signature is ad-hoc.
Publisher authentication comes from the separately verified GitHub release provenance.
Developer ID signing and Apple notarization are not provided.
Do not disable Gatekeeper as an installation step.
Tests using local transport and verifier fixtures do not claim Sigstore cryptographic verification.
The release workflow performs that separate verification before publication.
See the macOS qualification contract and update security contract.