# Next Session — Open PR #5 for `streaming-stt-bargein-20260415` (session 116)

**Supersedes:** `docs/NEXT-SESSION-STREAMING-BARGEIN-PR.md` (has 3 stale numbers + outdated merge-strategy recommendation). Use this doc as the boot prompt; do not restart from the old one.

## What

Open PR #5 on GitHub for branch `streaming-stt-bargein-20260415` (session 115's streaming STT sidecar + Chatterbox `/cancel` + minimal barge-in wiring). Code is already shipped and deployed to Panda; one live test call passed. Session 116 is a **PR-opening session only — no new code, no Panda mutations**.

## Plan

**Path:** `~/.claude/plans/mutable-growing-candy.md`

The plan was created with the `superpowers:planning-with-review` skill and adversarially reviewed (3 CRITICAL + 9 HIGH + 7 MEDIUM + 4 LOW findings — **every CRITICAL/HIGH/MEDIUM implemented, zero deferrals**). User approved on 2026-04-15.

**Read the plan first — it has the full step-by-step, all review findings, all design decisions, and the MEMORY close-out recipe for session 117.**

## Key design decisions (from adversarial review — do not revert)

1. **Base branch is `parakeet-stt-bench-20260415`, not `main`.** PR #4 is still DRAFT with no `reviewDecision`, so stacking is correct. Targeting `main` would swallow PR #4's diff (5,763 lines across 33 files instead of the clean 1,881 lines across 13 files).
2. **All `panda` references use literal IP `192.168.68.57`.** Hostname `panda` doesn't resolve from the laptop — MEMORY infra rule. Zero `ssh panda` anywhere in the plan.
3. **PR body comes from `--body-file /tmp/pr5-body.md`, not an inline heredoc.** Heredoc with outer `"$(...)"` risks shell-expansion of backticks / `$` inside the markdown body. Temp file is outside tracked `docs/` — cannot be accidentally committed.
4. **`PR_NUM` is captured from `gh pr create` stdout.** Never re-queried by branch name (`gh pr view <branch>` can return a stale CLOSED PR if one exists).
5. **All pre-flight equality gates use `[ "$(...)" = "$(...)" ]`.** The common `git rev-parse A == git rev-parse B` pseudo-form is not valid bash (the shell treats `==` as a command).
6. **Commit count asserted as `== 7` against `origin/parakeet-stt-bench-20260415`**, not `≥ 13` against `origin/main`. The main-relative count moves if main advances mid-session.
7. **Rollback in PR body reverts all 3 session-115 code commits** (`d4bf169 28af00e 3f174b7` in that order), not just the last 2. Partial revert leaves Chatterbox in a half-deployed state.
8. **CI observation is `timeout 300 gh pr checks ... || true`.** `gh pr checks --watch` has no built-in timeout and hangs if no checks register. PR URL is reported in Step 4, BEFORE the CI wait, so Step 5 hanging is non-blocking.
9. **MEMORY close-out (Step 6) includes a post-PR-4-merge recipe** — explicit manual-rebase commands for the squash / rebase-merge case. GitHub auto-retargets only on merge-commit merges.
10. **Banned actions** on this branch: `git pull --rebase`, `git reset --hard`, `git push --force`, any SSH to hostname `panda`.

## Files to touch

| File | Action |
|------|--------|
| `/tmp/pr5-body.md` | WRITE (scratch; not committed) |
| `~/.claude/projects/-home-rajesh-workplace-her-her-os/memory/MEMORY.md` | EDIT — prepend session-116 block above session-115 block, include post-PR-4-merge recipe |
| All other files | READ-ONLY |

## Start command

```
Read /home/rajesh/.claude/plans/mutable-growing-candy.md end-to-end.
Execute Steps 0 → 1 → 2 → 3 → 4 → 5 → 6 in order.
All 23 adversarial review findings are already addressed in the plan — do not revert them.
If any Step 1 gate fails, STOP and report — do not open a red-test PR.
```

## Verification (end-of-session gates)

1. `gh pr view $PR_NUM --json url,baseRefName,headRefName,state,isDraft` — base = `parakeet-stt-bench-20260415`, draft = true, state = OPEN.
2. Browsing the PR URL shows ~13 files / ~1,881 insertions (session-115-only diff), **not** 33 files / 5,763 (stack).
3. `gh pr checks $PR_NUM` returns a CI status line (green / red / pending / no-checks — any is acceptable).
4. MEMORY.md has a session-116 block prepended above session-115 with PR URL + post-merge recipe.
5. `ssh 192.168.68.57 'git -C ~/workplace/her/her-os status'` confirms Panda branch/tip unchanged — zero deployment mutations.

## Related

- **Plan:** `~/.claude/plans/mutable-growing-candy.md` (authoritative)
- **Predecessor PR:** #4 (`parakeet-stt-bench-20260415`, draft)
- **Superseded handoff:** `docs/NEXT-SESSION-STREAMING-BARGEIN-PR.md` (keeps stale numbers — read only for historical context)
- **Follow-up TODOs linked in PR body:** `docs/TODO-CHATTERBOX-OPTION-A.md`, `docs/TODO-CANCEL-GUARD-GAP.md`, `docs/TODO-INPROCESS-STREAMING-STT.md`, `docs/TODO-PIPECAT-MIGRATION.md`
