# 12 — Agent work packets (copy into new chats) > Each packet is one new chat. Attach `@emergency-fix/00-README.md` plus the listed files. > Say: **continue this packet; interview before implement; do not expand scope.** --- ## Packet A — Silent foreign auth **Attach** - `@emergency-fix/00-README.md` - `@emergency-fix/04-auth-login-bugs.md` - `@emergency-fix/11-fix-priority-plan.md` (Wave 1) - `@agents-docs/user-stories/silent-cross-signal-server-auth.md` **Goal:** Wave 1 — never show authorize login for normal foreign joins when home session is valid. **Out of scope:** Voice negotiation, DM canonicalize, server password hashing changes. **First message expectation:** Short interview (options A–D from user story); wait. --- ## Packet B — Presence / identify-join **Attach** - `@emergency-fix/00-README.md` - `@emergency-fix/05-signaling-multi-server.md` - `@emergency-fix/08-messaging-visibility.md` (membership section) - `@emergency-fix/11-fix-priority-plan.md` (Wave 2) **Goal:** Mutual presence + live chat broadcast after connect/reconnect; foreign actor id on join. **Depends:** Packet A ideally done (or mock credentials present). **Out of scope:** Soft DC replace, TURN. --- ## Packet C — Outbound call + DM identity **Attach** - `@emergency-fix/00-README.md` - `@emergency-fix/09-identity-cross-signal.md` - `@emergency-fix/10-code-lies-doc-debt.md` (L2, L3) - `@emergency-fix/11-fix-priority-plan.md` (Wave 3) **Goal:** Routable outbound `targetUserId`; unreachable UX; single DM thread across aliases; fix phantom LESSON references when shipping. **Out of scope:** Auth provision secret (Packet A); full voice ICE redesign. **Note:** LESSONS claim these fixes already exist — **they do not**. Implement, don’t search forever. --- ## Packet D — Voice initiator & routing **Attach** - `@emergency-fix/00-README.md` - `@emergency-fix/06-voice-webrtc-bugs.md` - `@emergency-fix/03-architecture-map.md` - `@emergency-fix/11-fix-priority-plan.md` (Wave 4) **Goal:** Cross-home bidirectional voice; per-signal actor initiator election; reconnect UX; TURN product decision. **Depends:** A + B strongly; C helpful. **Out of scope:** Rewriting entire PeerConnectionManager; server relay policy changes unless proven necessary (ask). --- ## Packet E — Data channel recovery **Attach** - `@emergency-fix/00-README.md` - `@emergency-fix/07-data-channel-drops.md` - `@emergency-fix/10-code-lies-doc-debt.md` (L1) - `@emergency-fix/11-fix-priority-plan.md` (Wave 5) **Goal:** Honest recovery (soft replace **or** documented full rebuild + UX + forced resync); docs match code. **Interview required:** Option A vs B in `07`. --- ## Packet F — Messaging catch-up & attachments **Attach** - `@emergency-fix/00-README.md` - `@emergency-fix/08-messaging-visibility.md` - `@emergency-fix/11-fix-priority-plan.md` (Wave 6) - Optional: `agents-docs/features/messaging.md`, `agents-docs/features/attachments.md` **Goal:** Late-join history; attachment waiting stuck fixed under reorder; README inventory cap corrected. **Depends:** B + E. --- ## Packet G — Doc debt sweep **Attach** - `@emergency-fix/10-code-lies-doc-debt.md` - `@emergency-fix/11-fix-priority-plan.md` (Wave 7) **Goal:** Clear remaining L5–L7 and any lies left after A–F; no behavior changes unless a one-line comment/doc only. --- ## Handoff one-liner templates After finishing a packet, overwrite `agents-docs/HANDOFF.md` and ask the user to start a new chat with: ```text Continue from @agents-docs/HANDOFF.md and @emergency-fix/11-fix-priority-plan.md — next unchecked wave only. ``` Or jump packets: ```text Start @emergency-fix/12-agent-work-packets.md Packet C — interview before implement. ```