---
name: adapter-add-release-archive
description: "spt adapter add --release <user/repo> (REQ-INSTALL-9) — release-archive adapter acquisition; built by doyle, closes perri's monorepo --github gap"
metadata: 
  node_type: memory
  type: project
  originSessionId: 7f5a5890-9c8c-4043-bcb6-647b6f7a36d7
---

**Shipped 2026-06-15 (@94bda1e, REQ-INSTALL-9, operator-directed doyle build):** `spt adapter add --release <user/repo> [--tag <tag>] [--asset <name>]`. Fetches a `.spt` tar asset from the repo's GitHub release (reusing `origin_asset_url` + `http_get_bytes`), extracts via the system `tar -xf` (bounded, NO new dep), registers the extracted root through the same manifest-first path `--github`/local use. Ships built binaries source-free + versioned by tag.

**Why:** `--github` is root-only (registers the clone root → needs `<root>/manifest.toml`), which a dev MONOREPO (manifest in a subdir, binaries are build-artifacts absent from git) can't satisfy without a dedicated repo. `--release` lets the adapter ship straight from its existing repo via a release archive. Default asset `adapter.spt`; the tar's ROOT must hold manifest.toml + strings/ + binaries.

**Trust:** first-acquisition trusts HTTPS+GitHub (like the install one-liner's first binary fetch); Ed25519 signing stays with the `file_pull` UPDATE avenue. **Does NOT change the [update] ripple route** — acquisition only (re-running `--release --tag <newer>` is a manual re-acquire). The fetch→extract→register primitive IS the transport the deferred `file_pull` update (REQ-UPD-1) would reuse + add signature verification.

**Options considered:** A) release branch (commits binaries to git — bloat), B) release archive (CHOSEN — Releases ship binaries, versioned, mirrors spt-core's own distribution), C) subdir flag (clones source, misses build-artifact binaries). Operator leaned B; agreed.

**Docs:** CONTEXT.md §adapter-registration (line ~708) + docs-site install-on-demand (`--release` = recommended distribution, live). int (real-release fetch E2E) deferred with REQ-INSTALL-4's --github real-repo int. perri directed to the live docs. See [[f005-adapter-distribution-ruling]], [[adapter-tips-published-docs]].

**RELEASE: fast-tracked v0.7.3 (operator GO 2026-06-15, counter 15)** — deployah cutting a patch from main HEAD 94bda1e carrying --release + the doc improvements. M11 shell waves (W2/W3/W4, PR#16) NOT in v0.7.3 — they ship in a LATER release. perri needs v0.7.3 to dogfood her /sptc:setup --release activation path; ping perri + operator on publish.

**COPY-MODE nuance (perri correction):** claude-spt declares NO [update] section → register uses COPY mode (manifest + strings/ copied to adapters/<name>/, NOT delegated/pointer). KEY: copy mode does NOT copy the bundled binaries — with --release they extract to adapters/_github/<safe>/ but stay there; the manifest's [digest]/[session] binary paths must resolve on the target (absolute / PATH). If copy-mode binary resolution proves painful, a "--release copies bundled binaries too" follow-on is on the table.
