docs: Phase 558 voice complete, Phase 559 stage planned (v0.8.521)
Update roadmap, VOICE.md, and AGENTCTL.md for voice depth pass and next stage phase. Co-authored-by: Cursor <[email protected]>
This commit is contained in:
@@ -568,6 +568,15 @@ PEARCORD_SKIP_MESH_ROUNDTRIP=1 npm run test:agentctl-phase522-attachments
|
||||
|
||||
Extends `test:phase521-reactions` regression with attachment compositor split (`syncAttachmentControlsDuringGuildLoading`, `syncAttachmentPanelLiveDuringGuildLoading`, drag-drop guard), `spanKind` on `attachment.stage` / `attachment.read` / `embed.gossip`, anchored **attachment-errors** filter, clipboard `attachButtonBusy`/`stagingBarBusy`, upload queue `aria-current=location`, ui-flow composer focus after `stage-attachment`, and headless `stageGuildAttachment`/`sendGuildMessageWithAttachments`. Agentctl: `test:attachments` + `test:agentctl-phase481-attachments` + `smoke-agentctl-attachments-phase522`.
|
||||
|
||||
**Voice depth (v0.8.521):** Primary Phase 558 verification — combined bundle:
|
||||
|
||||
```bash
|
||||
npm run test:phase558-voice
|
||||
PEARCORD_SKIP_MESH_ROUNDTRIP=1 npm run test:agentctl-phase558-voice
|
||||
```
|
||||
|
||||
Extends `test:phase557-embeds` regression with `syncVoiceOccupancyLivePanelDuringGuildLoading`, `#voice-panel-live`, platform `voice.join`/`voice.leave`/`voice.mute` `activeChannelId`, **voice-errors** excludes stage/screen, clipboard `voicePanelLiveBusy`/`voiceRosterChromeBusy`/`channelVoicePeerCount`, and headless `joinGuildVoiceChannel`/`leaveGuildVoiceChannel`/`setGuildVoiceMute` with `refreshView`. Agentctl: `test:agentctl-phase524-voice` + `smoke-agentctl-voice-phase558`.
|
||||
|
||||
**Embeds depth (v0.8.520):** Primary Phase 557 verification — combined bundle:
|
||||
|
||||
```bash
|
||||
|
||||
+112
-52
@@ -14407,62 +14407,121 @@ Fix guild switching, session boot gating, and theme/prefs application before mic
|
||||
|
||||
---
|
||||
|
||||
### Phase 558 — Voice depth (v0.8.521)
|
||||
### Phase 558 — Voice depth (v0.8.521) ✅
|
||||
|
||||
| ID | Item | Status |
|
||||
|----|------|--------|
|
||||
| P558-1 | Voice: join channel roundtrip re-verify | [ ] |
|
||||
| P558-2 | Voice: leave channel roundtrip re-verify | [ ] |
|
||||
| P558-3 | Voice: mute/deafen roundtrip re-verify | [ ] |
|
||||
| P558-4 | UI: split voice bar panel guild-loading extend | [ ] |
|
||||
| P558-5 | UI: voice roster panel guild-loading guard extend | [ ] |
|
||||
| P558-6 | UI: voice controls panel guild-loading guard extend | [ ] |
|
||||
| P558-7 | UI: voice occupancy live panel guild-loading guard extend | [ ] |
|
||||
| P558-8 | Platform: `voice.join` span metadata extend | [ ] |
|
||||
| P558-9 | Platform: `voice.leave` span metadata extend | [ ] |
|
||||
| P558-10 | Platform: `voice.mute` span metadata extend | [ ] |
|
||||
| P558-11 | Logging: dev-log **voice-errors** filter tighten | [ ] |
|
||||
| P558-12 | Logging: dev-log clipboard voice meta extend | [ ] |
|
||||
| P558-13 | Agentctl: voice join headless re-verify | [ ] |
|
||||
| P558-14 | Agentctl: voice leave headless re-verify | [ ] |
|
||||
| P558-15 | Agentctl: combined phase558 voice bundle | [ ] |
|
||||
| P558-16 | Smoke: voice-panels-guild-loading-extend-558 | [ ] |
|
||||
| P558-17 | Smoke: dev-log-voice-errors-tighten-extend-558 | [ ] |
|
||||
| P558-18 | Smoke: dev-log-clipboard-voice-meta-extend-558 | [ ] |
|
||||
| P558-19 | UI: composer voice hint extend | [ ] |
|
||||
| P558-20 | UI: voice roster aria-current polish | [ ] |
|
||||
| P558-21 | UI: voice empty-state hints re-verify | [ ] |
|
||||
| P558-22 | UI: composer autofocus after voice leave re-verify | [ ] |
|
||||
| P558-23 | Voice: PTT keybinding re-verify | [ ] |
|
||||
| P558-24 | Voice: video toggle roundtrip re-verify | [ ] |
|
||||
| P558-25 | Mesh: voice occupancy gossip roundtrip re-verify | [ ] |
|
||||
| P558-26 | Mesh: speaking indicator roundtrip re-verify | [ ] |
|
||||
| P558-27 | Docs: `VOICE.md` refresh | [ ] |
|
||||
| P558-28 | Docs: `AGENTCTL.md` phase 558 bundle | [ ] |
|
||||
| P558-29 | Regression: embeds phase 557 smokes still pass | [ ] |
|
||||
| P558-30 | Regression: attachments phase 556 smokes still pass | [ ] |
|
||||
| P558-31 | Boot: session ready gate | [ ] |
|
||||
| P558-32 | Boot: pear run gate | [ ] |
|
||||
| P558-33 | Module: `pearcord-voice` README accuracy | [ ] |
|
||||
| P558-34 | Module: `pearcord-platform` README voice section | [ ] |
|
||||
| P558-35 | Smoke: platform-voice-span-metadata-extend-558 | [ ] |
|
||||
| P558-36 | Smoke: platform-voice-leave-span-metadata-extend-558 | [ ] |
|
||||
| P558-37 | UI: `#voice-panel-live` live region extend | [ ] |
|
||||
| P558-38 | UI: voice panel aria-busy polish | [ ] |
|
||||
| P558-39 | UI: voice context menu escape focus re-verify | [ ] |
|
||||
| P558-40 | UI: companion voice defer re-verify | [ ] |
|
||||
| P558-41 | UI: dev-log clipboard voice channel meta extend | [ ] |
|
||||
| P558-42 | UI: thread voice scope re-verify | [ ] |
|
||||
| P558-43 | UI: stage channel handoff re-verify | [ ] |
|
||||
| P558-44 | UI: DM voice scope re-verify | [ ] |
|
||||
| P558-45 | UI: connect-voice permission toast re-verify | [ ] |
|
||||
| P558-46 | UI: voice disconnect toast re-verify | [ ] |
|
||||
| P558-47 | UI: voice hub cross-link re-verify | [ ] |
|
||||
| P558-48 | UI: voice P2P fanout re-verify | [ ] |
|
||||
| P558-49 | UI: listen-only join re-verify | [ ] |
|
||||
| P558-50 | Phase 559 stage depth (v0.8.522) | [ ] |
|
||||
| P558-1 | Voice: join channel roundtrip re-verify | [x] |
|
||||
| P558-2 | Voice: leave channel roundtrip re-verify | [x] |
|
||||
| P558-3 | Voice: mute/deafen roundtrip re-verify | [x] |
|
||||
| P558-4 | UI: split voice bar panel guild-loading extend | [x] |
|
||||
| P558-5 | UI: voice roster panel guild-loading guard extend | [x] |
|
||||
| P558-6 | UI: voice controls panel guild-loading guard extend | [x] |
|
||||
| P558-7 | UI: voice occupancy live panel guild-loading guard extend | [x] |
|
||||
| P558-8 | Platform: `voice.join` span metadata extend | [x] |
|
||||
| P558-9 | Platform: `voice.leave` span metadata extend | [x] |
|
||||
| P558-10 | Platform: `voice.mute` span metadata extend | [x] |
|
||||
| P558-11 | Logging: dev-log **voice-errors** filter tighten | [x] |
|
||||
| P558-12 | Logging: dev-log clipboard voice meta extend | [x] |
|
||||
| P558-13 | Agentctl: voice join headless re-verify | [x] |
|
||||
| P558-14 | Agentctl: voice leave headless re-verify | [x] |
|
||||
| P558-15 | Agentctl: combined phase558 voice bundle | [x] |
|
||||
| P558-16 | Smoke: voice-panels-guild-loading-extend-558 | [x] |
|
||||
| P558-17 | Smoke: dev-log-voice-errors-tighten-extend-558 | [x] |
|
||||
| P558-18 | Smoke: dev-log-clipboard-voice-meta-extend-558 | [x] |
|
||||
| P558-19 | UI: composer voice hint extend | [x] |
|
||||
| P558-20 | UI: voice roster aria-current polish | [x] |
|
||||
| P558-21 | UI: voice empty-state hints re-verify | [x] |
|
||||
| P558-22 | UI: composer autofocus after voice leave re-verify | [x] |
|
||||
| P558-23 | Voice: PTT keybinding re-verify | [x] |
|
||||
| P558-24 | Voice: video toggle roundtrip re-verify | [x] |
|
||||
| P558-25 | Mesh: voice occupancy gossip roundtrip re-verify | [x] |
|
||||
| P558-26 | Mesh: speaking indicator roundtrip re-verify | [x] |
|
||||
| P558-27 | Docs: `VOICE.md` refresh | [x] |
|
||||
| P558-28 | Docs: `AGENTCTL.md` phase 558 bundle | [x] |
|
||||
| P558-29 | Regression: embeds phase 557 smokes still pass | [x] |
|
||||
| P558-30 | Regression: attachments phase 556 smokes still pass | [x] |
|
||||
| P558-31 | Boot: session ready gate | [x] |
|
||||
| P558-32 | Boot: pear run gate | [x] |
|
||||
| P558-33 | Module: `pearcord-voice` README accuracy | [x] |
|
||||
| P558-34 | Module: `pearcord-platform` README voice section | [x] |
|
||||
| P558-35 | Smoke: platform-voice-span-metadata-extend-558 | [x] |
|
||||
| P558-36 | Smoke: platform-voice-leave-span-metadata-extend-558 | [x] |
|
||||
| P558-37 | UI: `#voice-panel-live` live region extend | [x] |
|
||||
| P558-38 | UI: voice panel aria-busy polish | [x] |
|
||||
| P558-39 | UI: voice context menu escape focus re-verify | [x] |
|
||||
| P558-40 | UI: companion voice defer re-verify | [x] |
|
||||
| P558-41 | UI: dev-log clipboard voice channel meta extend | [x] |
|
||||
| P558-42 | UI: thread voice scope re-verify | [x] |
|
||||
| P558-43 | UI: stage channel handoff re-verify | [x] |
|
||||
| P558-44 | UI: DM voice scope re-verify | [x] |
|
||||
| P558-45 | UI: connect-voice permission toast re-verify | [x] |
|
||||
| P558-46 | UI: voice disconnect toast re-verify | [x] |
|
||||
| P558-47 | UI: voice hub cross-link re-verify | [x] |
|
||||
| P558-48 | UI: voice P2P fanout re-verify | [x] |
|
||||
| P558-49 | UI: listen-only join re-verify | [x] |
|
||||
| P558-50 | Phase 559 stage depth (v0.8.522) | [x] |
|
||||
|
||||
**Next:** P558-1–P558-49.
|
||||
**Next:** ~~Phase 558~~ (complete). `syncVoiceOccupancyLivePanelDuringGuildLoading`; `#voice-panel-live`; platform `voice.join`/`voice.leave`/`voice.mute` `activeChannelId`; **voice-errors** excludes stage/screen; clipboard `voicePanelLiveBusy`/`voiceRosterChromeBusy`/`channelVoicePeerCount`; agentctl join/leave/mute refreshView; bundle `npm run test:phase558-voice`. Phase 559 planned (50 items).
|
||||
|
||||
---
|
||||
|
||||
### Phase 559 — Stage depth (v0.8.522)
|
||||
|
||||
| ID | Item | Status |
|
||||
|----|------|--------|
|
||||
| P559-1 | Stage: join audience roundtrip re-verify | [ ] |
|
||||
| P559-2 | Stage: request speak roundtrip re-verify | [ ] |
|
||||
| P559-3 | Stage: approve speaker roundtrip re-verify | [ ] |
|
||||
| P559-4 | UI: split stage bar panel guild-loading extend | [ ] |
|
||||
| P559-5 | UI: stage roster panel guild-loading guard extend | [ ] |
|
||||
| P559-6 | UI: stage controls panel guild-loading guard extend | [ ] |
|
||||
| P559-7 | UI: stage hand-raise live panel guild-loading guard extend | [ ] |
|
||||
| P559-8 | Platform: `stage.join` span metadata extend | [ ] |
|
||||
| P559-9 | Platform: `stage.speaker.request` span metadata extend | [ ] |
|
||||
| P559-10 | Platform: `stage.speaker.approve` span metadata extend | [ ] |
|
||||
| P559-11 | Logging: dev-log **stage-errors** filter tighten | [ ] |
|
||||
| P559-12 | Logging: dev-log clipboard stage meta extend | [ ] |
|
||||
| P559-13 | Agentctl: stage join headless re-verify | [ ] |
|
||||
| P559-14 | Agentctl: speaker approve headless re-verify | [ ] |
|
||||
| P559-15 | Agentctl: combined phase559 stage bundle | [ ] |
|
||||
| P559-16 | Smoke: stage-panels-guild-loading-extend-559 | [ ] |
|
||||
| P559-17 | Smoke: dev-log-stage-errors-tighten-extend-559 | [ ] |
|
||||
| P559-18 | Smoke: dev-log-clipboard-stage-meta-extend-559 | [ ] |
|
||||
| P559-19 | UI: composer stage hint extend | [ ] |
|
||||
| P559-20 | UI: stage speaker aria-current polish | [ ] |
|
||||
| P559-21 | UI: stage empty-state hints re-verify | [ ] |
|
||||
| P559-22 | UI: composer autofocus after stage leave re-verify | [ ] |
|
||||
| P559-23 | Stage: hand-raise keyboard re-verify | [ ] |
|
||||
| P559-24 | Stage: demote speaker roundtrip re-verify | [ ] |
|
||||
| P559-25 | Mesh: stage speaker gossip roundtrip re-verify | [ ] |
|
||||
| P559-26 | Mesh: stage presence sync re-verify | [ ] |
|
||||
| P559-27 | Docs: `STAGE.md` refresh | [ ] |
|
||||
| P559-28 | Docs: `AGENTCTL.md` phase 559 bundle | [ ] |
|
||||
| P559-29 | Regression: voice phase 558 smokes still pass | [ ] |
|
||||
| P559-30 | Regression: embeds phase 557 smokes still pass | [ ] |
|
||||
| P559-31 | Boot: session ready gate | [ ] |
|
||||
| P559-32 | Boot: pear run gate | [ ] |
|
||||
| P559-33 | Module: `pearcord-stage` README accuracy | [ ] |
|
||||
| P559-34 | Module: `pearcord-platform` README stage section | [ ] |
|
||||
| P559-35 | Smoke: platform-stage-span-metadata-extend-559 | [ ] |
|
||||
| P559-36 | Smoke: platform-stage-speaker-span-metadata-extend-559 | [ ] |
|
||||
| P559-37 | UI: `#stage-panel-live` live region extend | [ ] |
|
||||
| P559-38 | UI: stage panel aria-busy polish | [ ] |
|
||||
| P559-39 | UI: stage context menu escape focus re-verify | [ ] |
|
||||
| P559-40 | UI: companion stage defer re-verify | [ ] |
|
||||
| P559-41 | UI: dev-log clipboard stage pending meta extend | [ ] |
|
||||
| P559-42 | UI: thread stage parent scope re-verify | [ ] |
|
||||
| P559-43 | UI: voice-to-stage handoff re-verify | [ ] |
|
||||
| P559-44 | UI: forum stage routing re-verify | [ ] |
|
||||
| P559-45 | UI: connect-stage permission toast re-verify | [ ] |
|
||||
| P559-46 | UI: stage disconnect toast re-verify | [ ] |
|
||||
| P559-47 | UI: stage hub cross-link re-verify | [ ] |
|
||||
| P559-48 | UI: stage P2P fanout re-verify | [ ] |
|
||||
| P559-49 | UI: stage moderator demote re-verify | [ ] |
|
||||
| P559-50 | Phase 560 screen depth (v0.8.523) | [ ] |
|
||||
|
||||
**Next:** P559-1–P559-49.
|
||||
|
||||
---
|
||||
|
||||
@@ -15908,6 +15967,7 @@ Absorbed into Phase 273 (P273-5–P273-8, P273-11–P273-12). See Phase 274 for
|
||||
|
||||
### Changelog
|
||||
|
||||
- **2026-05-24** — v0.8.521: Phase 558 — `syncVoiceOccupancyLivePanelDuringGuildLoading`; `#voice-panel-live`; platform `voice.join`/`voice.leave`/`voice.mute` `activeChannelId`; **voice-errors** excludes stage/screen; clipboard `voicePanelLiveBusy`/`voiceRosterChromeBusy`/`channelVoicePeerCount`; agentctl join/leave/mute refreshView; bundle `npm run test:phase558-voice`. Phase 559 planned (50 items).
|
||||
- **2026-05-24** — v0.8.520: Phase 557 — split embed controls/card/link-preview/toggle panels; `#embed-panel-live`; platform `embed.resolve`/`embed.gossip` `messageId`+`activeChannelId`; `embed.clear` on delete via `clearForMessageContent`; **embed-errors** `resolve|gossip|clear`; clipboard `embedLinkPreviewBusy`/`embedControlsPanelBusy`/`channelEmbedCount`; agentctl send/resolve refreshView; bundle `npm run test:phase557-embeds`. Phase 558 planned (50 items).
|
||||
- **2026-05-24** — v0.8.519: Phase 556 — split attachment file-input/staging/upload/preview panels; `#attachment-panel-live`; platform `stagedCount`/`remainingStagingCapacity` on stage, `attachment.unlink` on delete via `unlinkMessage`; **attachment-errors** `stage|read|unlink`; clipboard `fileInputBusy`/`uploadQueuePanelBusy`/`channelStagedCount`; agentctl stage/send refreshView; bundle `npm run test:phase556-attachments`. Phase 557 planned (50 items).
|
||||
- **2026-05-24** — v0.8.518: Phase 555 — split reaction pills/quick-react/picker chrome/live panels; `#reaction-panel-live`; platform `reaction.list`/`reaction.clear` spans + `messageReactionCount` on toggle; `clearReactionsForMessage` on delete; **reaction-errors** `toggle|list|clear` (excludes gossip); clipboard `reactionPillsBusy`/`reactionPickerChromeBusy`/`reactionListRowCount`/`channelReactionCount`; agentctl `toggleGuildReaction` refreshView; bundle `npm run test:phase555-reactions`. Phase 556 planned (50 items).
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
Pearcord voice combines **occupancy signaling** and a **P2P media plane** (v0.4.9+). See [VOICE_MEDIA.md](./VOICE_MEDIA.md) for protomux/udx details.
|
||||
|
||||
**v0.8.521 (Phase 558):** Third voice depth pass — `syncVoiceOccupancyLivePanelDuringGuildLoading`; `#voice-panel-live` live region; platform `voice.join`/`voice.leave`/`voice.mute` `activeChannelId`; **voice-errors** excludes stage/screen bleed; clipboard `voicePanelLiveBusy`/`voiceRosterChromeBusy`/`channelVoicePeerCount`; agentctl join/leave/mute `refreshView`. Bundle: `npm run test:phase558-voice`; agentctl: `npm run test:agentctl-phase558-voice`.
|
||||
|
||||
**v0.8.506 (Phase 543):** Third soundboard depth pass — `soundboard.stage` span, upload panel guild-loading guard, composer focus after guild sound IPC. See [SOUNDBOARD.md](./SOUNDBOARD.md). Bundle: `npm run test:phase543-soundboard`.
|
||||
|
||||
**v0.8.490 (Phase 527):** Second soundboard depth pass — see [SOUNDBOARD.md](./SOUNDBOARD.md) for split soundboard compositor, `spanKind` on soundboard spans, and `test:phase527-soundboard` bundle (chains `test:phase526-screen`).
|
||||
|
||||
Reference in New Issue
Block a user