AetherEdge 0.0.1
Installer (six-process edge runtime)
| Architecture | File |
|---|---|
| ARM64 | AetherEdge-arm64-0.0.1.run |
| AMD64 | AetherEdge-amd64-0.0.1.run |
The edge installer is for a clean host only. It exits before stopping
services or writing files if it detects an existing Aether runtime,
site, database, container, or systemd unit. In-place upgrades and
legacy database imports are not supported by this release.
Aether CLI (standalone)
| Platform | File |
|---|---|
| Linux x86_64 | aether-linux-x86_64.tar.gz |
| Linux aarch64 | aether-linux-aarch64.tar.gz |
| macOS ARM64 | aether-darwin-aarch64.tar.gz |
| Windows x64 | aether-windows-x86_64.zip |
Runtime contracts and provenance
aetheriot-source-v0.0.1.tar.gzaetheriot-runtime-manifest-arm64-0.0.1.jsonaetheriot-runtime-manifest-amd64-0.0.1.jsonaetheriot-v0.0.1-provenance.sigstore.json
Every source archive, binary, installer, and runtime manifest has an adjacent
SHA-256 file. GitHub's Sigstore-backed artifact attestation can be
verified with gh attestation verify <asset> -R EvanL1/AetherEdge.
Quick Start
# Rust SDK: consume the single facade from this exact release commit.
# Cargo.toml:
# aether-sdk = { package = "aether-edge-sdk", git = "https://github.com/EvanL1/AetherEdge.git", rev = "418e89021746e6a276f1a702d4ae76ee4a7a593e", features = ["local-runtime"] }
# Full deployment
scp AetherEdge-<arch>-0.0.1.run user@device:/tmp/
chmod +x /tmp/AetherEdge-<arch>-0.0.1.run
sudo /tmp/AetherEdge-<arch>-0.0.1.run
aether doctor
# Aether CLI only
# Linux/macOS archives use tar; Windows publishes a .zip archive.
tar xzf aether-<platform>.tar.gz
sudo mv aether /usr/local/bin/
# Windows PowerShell: Expand-Archive aether-windows-x86_64.zipPackage Contents
- Rust Services: aether-io (6001), aether-automation (6002), aether-history (6004), aether-api (6005), aether-uplink (6006), aether-alarm (6007)
- Default dependency boundary: no Redis, PostgreSQL, TimescaleDB, or product UI
- CLI Tool: aether
The AetherEMS Console is owned and released by the downstream AetherEMS
repository. Redis mirror and PostgreSQL/TimescaleDB history artifacts
remain explicit optional extensions; none is included in the default
release package.
Release Notes
feat: publish the SDK facade and its closure to crates.io (#54)
ADR-0013 set publish = false on every workspace package and forbade
cargo publish in release automation, reasoning that publishing would
expose implementation boundaries as public acquisition choices.
Two facts revise that. crates/aether-sdk/src/lib.rs is a 121-line
re-export shell, so downstream code writes aether_sdk::domain::EntityId
and never names aether-domain; the facade already prevents the exposure
at the API level, and a package in the registry index is a Cargo
packaging requirement, not an acquisition choice. Meanwhile the
registry absence costs crates.io search, docs.rs, and lib.rs, which is
where Rust developers find libraries.
ADR-0022 records the decision and supersedes ADR-0013 clauses 3 and 7.
Clauses 1, 2, 4, 5, and 6 stand: aether-edge-sdk remains the only
supported facade and the signed source release continues alongside.
The release set is aether-edge-sdk plus the transitive closure of its
normal and optional dependencies, plus aether-testkit for the port
conformance suites. Thirteen packages; aether-runtime-catalog and every
other workspace package stay private.
Local dev-dependencies inside the set become path-only. They had
version keys, which put them in published manifests and created a
publish-ordering cycle through
application -> store-local -> integration-control -> cloudlink ->
runtime-catalog -> application. cargo publish --workspace could not
order around it and failed on the first pass.
The two guard scripts are retargeted rather than removed: the blanket
publish = false rule becomes an explicit allowlist, so adding a package
to the registry still requires a deliberate edit, and a hand-rolled
per-crate publish loop is now rejected outright.
Verified with cargo publish --workspace --dry-run: 13 packages, correct
topological order, exit 0. Guard scripts, architecture check, fmt, and
cargo check --workspace --all-features all pass.
Claude-Session: https://claude.ai/code/session_0187nS51kGTbbgmTGXP9vhxA