- `LIVE_RELOAD=false npm run dev` keeps the renderer alive across a machine suspend; the reload client otherwise destroys the session under test. - `dev-peer.sh` plus a separate userdata dir runs a second local peer. - `tools/voice-probe.js` samples peer state and RTP counters from a live window, persisting to localStorage so a renderer reload cannot erase it. - e2e helpers for voice pairs, peer-role election, and a TURN relay. - Electron single-instance and dev-client-load decisions move into rules files with colocated specs.
130 lines
3.7 KiB
Markdown
130 lines
3.7 KiB
Markdown
# 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.
|
||
```
|