# MIGRATION-RELEASE-PLAN — v0.22.0 relocation release

> JIT plan for the ADR-0008 relocation milestone: first release published from the
> private home (`BigscreenVR/claude-spt-bs`), installed-adapter migration scripts, and
> the first source-only mirror snapshot to the public repo.
>
> **Mirror note:** this file names the private home → it rides the mirror exclusion list.

## Scope

1. **Manifest repoint** — `[update] repo` → `BigscreenVR/claude-spt-bs` (transport stays
   `gh`); version → `0.22.0`.
2. **Mirror script** — `ci/publish/mirror-public.sh`: per-release source-only squash
   snapshot to the public repo via plain git (no `gh`), enumerated exclusions, leak-guard
   grep (bigscreenvr / claude-spt-bs / spt-bs, case-insensitive, content + filenames),
   dry-run by default, `--apply` pushes `main` + `vX.Y.Z` tag by sha (no local refs).
3. **Migration scripts** — `ci/publish/migrate/migrate-v0220.{ps1,sh}` on main (scanner
   visibility; ci/publish/ is mirror-excluded) + copies on orphan branch
   `migration/v0.22.0` for the `gh api` raw fetch path. Script: locate installed adapter
   dir from `spt adapter list`, patch `[update] repo`, run `spt adapter update claude-spt`,
   assert version.
4. **Runbook rewrite** — publish target = private home; new mirror + migration sections.
5. **Changelog 0.22.0** — ambiguous public phrasing ("new private home"), no repo name
   (CHANGELOG.md mirrors).
6. **traceable-reqs** — mint + activate: REQ-DIST-PRIVATE-HOME (doc,impl),
   REQ-DIST-SOURCE-MIRROR (doc,impl,unit — tests/mirror-public.sh),
   REQ-DIST-MIGRATION-SCRIPT (doc,impl).
7. **release-acquire-int.sh** default repo → private home.

## Open design points (resolved in grill, 2026-07-15)

- Exclusion list is script-authoritative; dry-run leak-guard hits get consciously added
  (expect: traceable-reqs.toml / AGENTS.md reference BigscreenVR/traceable-reqs; this
  plan; ADR-0008).
- Public repo gets NO new releases; tags land as snapshot-commit tags only.

## Gate

`sh ci/run-gates.sh` green (includes `traceable-reqs check`), then the release spine:
freeze → build win+linux → pack → tag `v0.22.0` → `gh release create` on the private
home → migration-branch push → acceptance on this node (run the migration script for
real) → first mirror snapshot `--apply`.
