path-complete-chat · git:20260811.1c3a519 · 2026-08-11 · sha256 1b65c45d6c255da3

path-complete-chat git:20260811.1c3a519A

Immutable. This exact content never changes and is served at /api/v1/blob/1b65c45d6c255da3.

---
name: path-complete-chat
description: >
  Enforce path-complete chat/realism/memory work: Continue vs regen, 1:1 vs group,
  Journal vs Growth twins, desktop vs web. Use whenever fixing or adding chat
  generation, Continue, regen/swipe/delete, Realism, Needs, Journal, Growth,
  Pockets, RAG, or group orchestration — or when the maintainer pastes a
  path-complete / poke-script style request.
---

# Path-complete chat work

The maintainer cannot read Dart. Green unit tests are not enough. This skill
exists because agents repeatedly fix one path and leave the sibling broken.

## Before writing code

1. Read `docs/design/path-complete-chat-work.md`.
2. List every **event** your change can hit: send, Continue, regen, swipe, delete, edit.
3. List **twins**: Journal↔Growth, history think-strip↔Continue partial, pockets 1:1↔group speaker, desktop↔web.

## While implementing

- Prefer one shared helper over a second path for 1:1 vs group.
- Continue is its own product: finalize must keep pre-continue + new; partial must use history-safe / think-stripped text; state-zone strips must include porch_night if other state is stripped.
- Group restore keys by **message speaker id**, never “whoever is active after post-gen.”
- If Journal invalidates on rewrite, Growth must too (or document an explicit product exception from the maintainer).

## Before claiming done

1. Fill the **Path-complete checklist** paste block from the design doc in your summary.
2. Add a test that was **proven red** then green (project testing law).
3. Web parity shipped or maintainer deferred **in this conversation**.
4. End with a **2–5 step poke script** for a non-developer.
5. If you cannot launch the app, say so — never imply manual verification.

## Push-back phrases (if tempted to skip)

- “Unit tests pass” without path matrix → incomplete.
- “Continue is rare” → still mandatory if generation text/state is involved.
- “Web later” without explicit maintainer deferral → parity violation.