Skip to content

[RUNBOOK] Phase 5 — Release distribution #49

Description

@aram-devdocs

Summary

Ship Plumb on every install channel: crates.io (cargo install plumb-cli), a Homebrew tap under plumb-dev/homebrew-tap, an npm
wrapper under @plumb/cli, and a curl installer at
plumb.aramhammoudeh.com/install.sh. Every release ships with SLSA-level-2
attestations via cargo-dist.

Prerequisite user chores (not tracked as issues): reserve the
plumb-dev GitHub org, create the homebrew tap repo, reserve the
@plumb npm org. The batch can start once these exist.

PRD references

  • PRD §15.1

Acceptance criteria

  • cargo install plumb-cli installs working plumb from crates.io.
  • brew install plumb-dev/tap/plumb installs working plumb on macOS + Linux.
  • npm i -g @plumb/cli installs working plumb cross-platform.
  • curl -LsSf https://plumb.aramhammoudeh.com/install.sh | sh installs working plumb.
  • Every GitHub Release has SLSA build-provenance attestations.
  • All 6 child PRs merged.

Batches

Gates run sequentially (every PR in Gate N must merge before Gate N+1 starts). Within a gate, batches are parallel. For each batch, a recommended dispatch strategy is shown — you can always pick a different shape if it fits. See .agents/rules/dispatch-strategy.md for the heuristic.

Gate Batches Tickets After
Gate 1 5A #50 #51 #52 (initial)
Gate 2 5B #53 #54 #55 Gate 1 merged

Gate 1

Batch 5A — Registries + tap infra

# Ticket Crate Effort Extras
#50 publish all 6 crates to crates.io release S security
#51 plumb-dev/homebrew-tap + cargo-dist wiring release M
#52 @plumb npm org + @plumb/cli wrapper package release M security

Dispatch (bundle): same crate, similar effort — bundling keeps related changes atomic.

/gh-issue 50 51 52 --worktree

Advance to Gate 2 when: every PR in Gate 1 is merged.

Gate 2 after Gate 1

Batch 5B — Installer + attestations + smoke tests

# Ticket Crate Effort Extras
#53 plumb.aramhammoudeh.com/install.sh (curl one-liner) release S security
#54 GitHub Releases + SLSA L2 attestations release S security
#55 install-matrix smoke test (4 channels × 3 OSes) ci S

Dispatch (split): touches 2 crates — split so each gets focused review.

/gh-issue 53 --worktree
/gh-issue 54 --worktree
/gh-issue 55 --worktree

Phase gate follows — see below.

Phase gate

All four install channels verified working AND gh attestation verify passes on every release asset AND install-matrix smoke test
green on a dogfood tag AND cargo xtask pre-release green.

Unblocks: phase-6

How to execute

  1. Create GitHub milestone v0.5-phase-5 if it doesn't already exist.
  2. Run bash create-issues.sh from this directory to create all child issues.
  3. Dispatch /gh-issue <child-number> for each batch in order; sessions within a batch run in parallel.
  4. Close this parent issue when every child is merged and the phase gate holds.

Generated

  • Generated at: 2026-04-24T13:16:41Z
  • Source spec: docs/runbooks/phase-5-spec.yaml
  • Repo: aram-devdocs/plumb

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind:rfcDesign proposalphase-5V0 Phase 5 — release distribution

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions