Repository navigation
Install from github.com and local disk when zpkg.net (registry + Cloudflare) is down #378
Copy link
Copy link
Open
Description
Requirement
zed-cli and zed tooling must be backed by github.com: zed install has to work when both the Cloudflare edge (cdn.zpkg.net) and our zpkg.net servers are down. It should go directly to github.com, and also check local disk for packages.
(Linear DEN ticket could not be created: the workspace is at its free issue limit. This issue is the tracker until that is resolved.)
Live reproduction (2026-09-12)
registry.zpkg.net returns 503 registry_origin_unavailable. zed-cli built from main @ a80dad7, run in a fresh clone of ores-wasm-loaders/owls-runtime.rs, which depends on ores-wasm-loaders/owls-interfaces = "=0.1.1":
zed install --frozen: the GitHub fallback derives shaeeb8bb…from the v0.1.1 tag archive. The lock pinsfea1f8…, so it fails with "registry artifact … changed; refusing".zed install: fails. Every R2, GitHub Release and GHCR (403) location is tried; the tag archive is never downloaded.
Findings
- Bug A – GitHub tag-archive fallback defeats itself (
src/source_fallback.rs).github_get_version→fill_digestdownloads the tag archive (no sha yet) and records its sha256.download()→download_locatorsthen sees a known sha and skipsGithubArchive, so the only source that worked is excluded. - Bug B – doubled mirror URLs.
github_get_versionturns every locator into a mirror withMirrorDescriptorV1::from_locator. AnObjectStoremirror gets a full object URL as its base, andartifact_urlsappends keys to it. - Packages aren't guaranteed to be on GitHub.
owls-interfacesv0.1.1 had a tag but nozpkg-*.tar.gzRelease asset. - Committed lockfiles leak machine-local sources.
owls-runtime.rs/.zpkg.lockhadsource = "file:///tmp/ores-wasm-registry". - Local disk. Only the content-addressed store (by sha) was checked; checkout discovery is being salvaged separately.
Current status (2026-09-14)
- Fix Bug A and Bug B in zed-cli, with unit tests (fix(fallback): install from github.com tag archives when zpkg.net is down #379 merged).
- Frozen registry-down recovery from github.com with exact locked digest, including
zed fetch --frozen. - Backfill
owls-interfacesv0.1.1 GitHub Release asset from immutable tag/commit with digest verification; post-upload frozen recovery passed. - Independent exact-head outage E2E in
zed-pkg-testfor five ecosystems. - Cross-platform clean-home outage certification on Ubuntu 24.04, macOS 14, and Windows 2022.
- Finish portable lock serialization: generated committed locks must never retain
file://, loopback, or ephemeral mirror provenance. - Regenerate
owls-runtime.rs/.zpkg.lockfrom a clean public-source environment and certify empty-home frozen replay. - Finish local-disk checkout resolution salvage (DEN-3488 race local checkouts with registry resolution for symlink installs #381) and merge only after exact-head product + independent E2E evidence.
- Make successful publish require/verify the GitHub recovery artifact, with an explicit safe backfill path rather than best-effort mirroring.
- Complete transport ownership migration (Architecture audit 2026-09-06: require zed-clients ownership of CLI transport #331): move GitHub/CDN/fallback HTTP behavior into typed
zed-clientsAPIs.
Open policy: immutable digest/version/commit remain the security identity; source provenance is explanatory/recovery metadata and cannot authorize changed bytes.
Metadata
Metadata
Assignees
Labels
No labels
Activity
fix(fallback): repack GitHub tag archives exactly as zed publish pack…
ORESoftware commentedon Sep 13, 2026
Progress update (2026-09-14):
owls-interfaces@0.1.1now has a verified GitHub Release asset backfilled from immutable tagv0.1.1-> commit291406191b55606e34b7980b42112e9c77ab690b, digestfea1f81d31f220bc2c4bdb548546b52e4d7c929e12b64b590143fe75b184ae75; post-upload frozen recovery passed.file://, loopback, and ephemeral mirrors. A clean regeneration/certification branch is active inores-wasm-loaders/owls-runtime.rs.zed-clients#75, but source fallback/artifact/publication transport still needs migration.fix(fetch): restore frozen fetches from github.com when zpkg.net is down
ORESoftware commentedon Sep 13, 2026
#379 is now at
2f6075da1001368f8a2bd2910f9d247ecb828f86. Both frozen paths work from github.com during the live outage (registry.zpkg.net503,cdn.zpkg.net404), in a fresh clone of owls-runtime.rs:zed install --frozen --adapter none --install-mode copy: installsowls-interfaces@0.1.1;cargo check --lockedpasses.zed fetch --frozen: publishes a bundle with sha256fea1f81d…and commit291406191b…. The lock's vanishedfile:///tmpregistry is replaced by the configured registry → GitHub;/nix/storesources never fall back.The new commit also fills the tag's commit into fallback metadata, so exact provenance checks pass. Local-disk resolution is being salvaged from
feat/local-project-registryin a separate PR.🤖 Generated with Claude Code