# v0.1.0 Release Validation — 2026-07-09

Scope: `pi-session-continuity` v0.1.0 public GitHub tag and npm publish readiness.

## Release refs

- GitHub repository: `https://github.com/bernardofortes/pi-session-continuity`
- Branch commit before tag: `7c120ec Prepare v0.1.0 public release docs`
- Tag: `v0.1.0`
- Remote tag check: `git ls-remote --tags origin v0.1.0` returned `refs/tags/v0.1.0`.

## Local package gates

Command set:

```bash
npm test
npm run typecheck
npm pack --dry-run
npm publish --dry-run
```

Observed results:

- `npm test`: PASS — 8 test files, 54 tests.
- `npm run typecheck`: PASS — `tsc --noEmit`.
- `npm pack --dry-run`: PASS — package `pi-session-continuity@0.1.0`, 29 files.
- `npm publish --dry-run`: PASS — package contents accepted by npm dry-run.

## Clean GitHub tag install smoke

Used temporary Pi agent/project/session directories so the smoke did not depend on the local/default Pi profile.

### Install/list/load

```bash
agent_dir=$(mktemp -d /tmp/psc-clean-agent-XXXXXX)
repo='git:github.com/bernardofortes/pi-session-continuity@v0.1.0'
PI_CODING_AGENT_DIR="$agent_dir" pi install "$repo" --no-approve
PI_CODING_AGENT_DIR="$agent_dir" pi list | grep -A2 -F 'pi-session-continuity'
PI_CODING_AGENT_DIR="$agent_dir" pi --no-session -p 'Reply with exactly PSC_SMOKE_OK.'
```

Environment:

- OS: `Linux trader 5.15.0-185-generic #195-Ubuntu SMP Fri Jun 19 17:11:50 UTC 2026 x86_64 GNU/Linux`
- Node: `v22.22.2`
- Pi: `0.80.3`
- Temporary agent dir: `/tmp/psc-clean-agent-IPTbLH`

Observed output:

```text
Installed git:github.com/bernardofortes/pi-session-continuity@v0.1.0
  git:github.com/bernardofortes/pi-session-continuity@v0.1.0
    /tmp/psc-clean-agent-IPTbLH/git/github.com/bernardofortes/pi-session-continuity
PSC_SMOKE_OK
```

Result: PASS for clean install/load from GitHub tag.

### Command/status/config/remove assertions

Temporary paths:

- Project root: `/tmp/psc-smoke-root-odHazM`
- Agent dir: `/tmp/psc-smoke-agent-Iq2Iyu`

Observed `/continuity status` output included:

```text
Pi Session Continuity: enabled · trigger 75% · keep 20%.
- Mode: Enabled
- Artifacts: /tmp/psc-smoke-root-odHazM/.pi/session-continuity
```

Invalid config smoke used `.pi/session-continuity.json` with `keepRecentPercent >= triggerAtPercent` and observed:

```text
Pi Session Continuity disabled: invalid configuration in /tmp/psc-smoke-root-odHazM/.pi/session-continuity.json.
- Mode: Disabled
- Disabled reason: invalid configuration in /tmp/psc-smoke-root-odHazM/.pi/session-continuity.json
```

Remove smoke observed:

```text
Removed git:github.com/bernardofortes/pi-session-continuity@v0.1.0
remove_passed
```

### Manual checkpoint artifact smoke

`/continuity checkpoint` must run with a persisted Pi session. A `--no-session` smoke is invalid for this assertion because Continuity Brief identity requires a concrete `sessionFile`.

Temporary paths:

- Project root: `/tmp/psc-smoke2-root-04mfOn`
- Agent dir: `/tmp/psc-smoke2-agent-b9LmdC`
- Session dir: `/tmp/psc-smoke2-sessions-Cys5kD`

Command:

```bash
PI_CODING_AGENT_DIR="$agent_dir" pi --session-dir "$session_dir" --approve -p '/continuity checkpoint'
```

Observed artifact:

```text
/tmp/psc-smoke2-root-04mfOn/.pi/session-continuity/019f481c-8aaa-7b63-8eda-edeb92428a22/archive/2026-07-09T18-22-26-111Z-d3d30593-cd25-46ad-b10d-c7dff0e0736c.md
```

Observed artifact fields:

```text
status: "archived"
sessionFile: "/tmp/psc-smoke2-sessions-Cys5kD/2026-07-09T18-20-57-898Z_019f481c-8aaa-7b63-8eda-edeb92428a22.jsonl"
# Continuity Brief
```

Result: PASS for checkpoint artifact creation and archive from GitHub tag in a persisted session.

## npm publish status

`npm publish --dry-run` passed before release. The first manual publish attempts were blocked until npm authentication and a token with explicit 2FA-bypass publish permission were available.

Final publish command was run from the exact GitHub release tag:

```bash
git checkout v0.1.0
NPM_CONFIG_USERCONFIG=/tmp/npmrc-publish npm publish --access public
git checkout main
rm -f /tmp/npmrc-publish
```

Observed publish output:

```text
+ pi-session-continuity@0.1.0
```

Registry verification:

```bash
npm view pi-session-continuity@0.1.0 name version description
```

Observed output:

```text
name = 'pi-session-continuity'
version = '0.1.0'
description = 'Keep long-running Pi coding sessions recoverable with dull, durable handoffs.'
```

Result: PASS — npm package `pi-session-continuity@0.1.0` is published and visible in the npm registry.
