Documentation

Packed First-Run Acceptance

Trackers: pm-ygli86, pm-rcjyft, pm-07m41m, pm-p5u6.

CI globally installs one tarball in isolated npm prefixes on Ubuntu/macOS/Windows with Node 22.18.0 and 24, one Packed runtime (<os>) job per OS with a fresh prefix, cache and home per Node version, runs the installed pm shim, then invokes:

node scripts/release/packed-first-run.mjs /path/to/installed/@unbrained/pm-cli
Journey Required observation
Installed README Ordered init/create/list from 60 Second Example; missing/reordered commands, unsupported expressions or unbalanced quotes fail. No shell execution.
Persistence Each command returns nonempty output below 4,096 characters; the created item exists.
Branch merge Independent comments survive a real Git merge; reconciliation and strict history verification succeed.
MCP Initialization advertises the installed version.
Telemetry A loopback collector receives detached command_finish; queue empties and successful flush persists. One 90-second deadline includes incomplete bodies; start alone cannot pass.

Detached delivery removes inherited inline/test overrides; other commands/MCP disable telemetry. Home/global roots are isolated. Interrupts stop stage admission and collection, waiting five seconds for disposal. CLI errors await actual closure. MCP waits five seconds after SIGTERM, then SIGKILL plus five more; failure retains storage/diagnostics. Storage lifecycle defines ownership and abrupt-exit limits.

A separate #1248 regression removes/retargets an owned runtime symlink and performs a real Git merge, preserving developer runtimes.

Registry propagation, npm/Bun sessions, npx/bunx, production telemetry and previous compatibility have separate release acceptance.

From docs/PACKED_FIRST_RUN.md in pm 2026.11.13. View on GitHub