Skip to content

[Rewrite P7] Cutover: release, migration run, parallel run, TS retirement #869

Open

Description

@chappie-daemon

Parent: #860
Milestone: Phase 7: Cutover
Host: both · Expected cost: $600

Make nostream 4.0 the relay. The TS relay retires; the website stays.

  • Re-run the Phase 0 audit against the NIP registry at cutover date — anything the protocol added since capture gets a disposition here (implement, defer with note, or skip) before the flag flips
  • Release packaging: nostreamd container image (multi-stage, distroless, non-root), the release workflow ported from the TS one (GHCR publish on tag), changesets → release notes or the Rust-native equivalent (git-cliff) — decision recorded
  • The compose/infra swap: nostream's deployment moves from the TS container + postgres to nostreamd + LMDB data dir; the pg-to-lmdb migration runs as the documented cutover step with the checksum gate from [Rewrite P3] Storage seam + LMDB backend (strfry-style) + PG→LMDB migration #864
  • NIP-11 banner/version bump to 4.0.0; the supportedNips list updated to the Rust relay's audited reality
  • Parallel-run window: both relays side by side on the production corpus snapshot — differential harness from [Rewrite P2] nostream-relay: wire handlers, strategies, rate limits #865 runs for 48h with zero divergences before DNS/traffic flips
  • Rollback plan: keep the TS deployment + PG volume intact for 30 days post-cutover; rollback = re-point traffic, re-enable PG ingest (documented, tested once on staging)
  • Post-cutover: retire the TS relay code to a legacy/ branch (kept for the rollback window), archive the postgres migrations, update the README/docs to the Rust architecture
  • Actual-cost reconciliation: the factory manager fills every project item's Actual Cost USD from the factory spans; the total vs plan variance is posted to this issue

Acceptance: production serves from nostreamd+LMDB; differential harness green over the parallel window; the TS stack is retired to legacy/; costs reconciled on the board.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    factoryBuilt by the software factorylmdbLMDB / strfry-style storage backendrewritenostream 4.0 Rust/LMDB rewriterustRust implementation work

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions