docs: Phase 494 stage depth and Phase 495 screen plan (v0.8.457)

Mark Phase 494 complete, refresh STAGE/VOICE/AGENTCTL, plan Phase 495.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Raven Scott
2026-05-24 07:09:10 -04:00
co-authored by Cursor
parent 3a59f85be3
commit 9bc646d020
4 changed files with 133 additions and 53 deletions
+9
View File
@@ -226,6 +226,15 @@ PEARCORD_SKIP_MESH_ROUNDTRIP=1 npm run test:agentctl-phase474-webhooks
Extends Phase 448 webhooks/integrations bundle with `syncWebhooksPanelsDuringGuildLoading` (integrations panel, webhook/slash rows, bot install, automation hooks), `#composer-webhooks-hint`, platform webhook/slash span metadata (`webhookName`/`deleted`/`contentLength`/`hasUsername`/`firstName`), dev-log clipboard `guildWebhookCount`, tightened **webhook-errors**/**slash-errors** filters, and Phase 473 roles regression. Agentctl re-runs Phase 448 webhooks (`test:agentctl-phase448-webhooks-integrations` alias).
**Stage depth (v0.8.457):** Primary Phase 494 verification — combined bundle:
```bash
npm run test:phase494-stage
PEARCORD_SKIP_MESH_ROUNDTRIP=1 npm run test:agentctl-phase494-stage
```
Extends Phase 467 voice/stage bundle with split stage guild-loading compositor, composer stage hint, platform stage span metadata, **stage-errors** dev-log filter, clipboard stage meta, stage roster `aria-current`, hand-raise live region, and Phase 493 voice regression. Agentctl: `test:agentctl-stage-join`.
**Voice depth (v0.8.456):** Primary Phase 493 verification — combined bundle:
```bash
+113 -53
View File
@@ -10627,66 +10627,125 @@ Fix guild switching, session boot gating, and theme/prefs application before mic
| P493-49 | UI: video tile layout focus re-verify | [x] |
| P493-50 | Phase 494 stage depth (v0.8.457) | [x] |
**Next:** ~~Phase 493~~ (complete). `syncVoiceBarDuringGuildLoading` / `syncStageBarDuringGuildLoading` / members/screen/soundboard splits; `setVoiceRosterRowsCurrent`; platform voice/stage/screen spans; bundle `test:phase493-voice`. Phase 494 planned (50 items).
**Next:** ~~Phase 494~~ (complete). `syncStagePanelsDuringGuildLoading`; `ensureComposerStageHint`; **stage-errors** filter; platform stage span metadata; bundle `test:phase494-stage`. Phase 495 planned (50 items).
---
### Phase 494 — Stage depth (v0.8.457)
### Phase 494 — Stage depth (v0.8.457)
| ID | Item | Status |
|----|------|--------|
| P494-1 | Stage: join audience roundtrip re-verify | [ ] |
| P494-2 | Stage: request speak roundtrip re-verify | [ ] |
| P494-3 | Stage: approve speaker roundtrip re-verify | [ ] |
| P494-4 | UI: `syncStagePanelsDuringGuildLoading` wrapper extend | [ ] |
| P494-5 | UI: stage bar guild-loading guard extend | [ ] |
| P494-6 | UI: stage request panel guild-loading guard extend | [ ] |
| P494-7 | UI: stage speaker roster guild-loading guard extend | [ ] |
| P494-8 | Platform: `stage.join` span metadata extend | [ ] |
| P494-9 | Platform: `stage.speaker.request` span metadata extend | [ ] |
| P494-10 | Platform: `stage.speaker.approve` span metadata extend | [ ] |
| P494-11 | Logging: dev-log **stage-errors** filter tighten | [ ] |
| P494-12 | Logging: dev-log clipboard stage meta extend | [ ] |
| P494-13 | Agentctl: stage join headless re-verify | [ ] |
| P494-14 | Agentctl: speaker request headless re-verify | [ ] |
| P494-15 | Agentctl: combined phase494 stage bundle | [ ] |
| P494-16 | Smoke: stage-panels-guild-loading-extend | [ ] |
| P494-17 | Smoke: dev-log-stage-errors-tighten-extend | [ ] |
| P494-18 | Smoke: dev-log-clipboard-stage-meta-extend | [ ] |
| P494-19 | UI: composer stage hint extend | [ ] |
| P494-20 | UI: stage empty-state hints polish | [ ] |
| P494-21 | UI: stage speaker row aria-current polish | [ ] |
| P494-22 | UI: stage request button aria-pressed re-verify | [ ] |
| P494-23 | UI: pending requests badge re-verify | [ ] |
| P494-24 | UI: stage moderator controls re-verify | [ ] |
| P494-25 | UI: audience listen-only badge re-verify | [ ] |
| P494-26 | UI: composer autofocus after stage leave re-verify | [ ] |
| P494-27 | Permissions: stage speak gate toast re-verify | [ ] |
| P494-28 | Permissions: manage-channels approve gate re-verify | [ ] |
| P494-29 | Docs: `STAGE.md` refresh | [ ] |
| P494-30 | Docs: `VOICE.md` stage section refresh | [ ] |
| P494-31 | Docs: `AGENTCTL.md` phase 494 bundle | [ ] |
| P494-32 | Regression: voice phase 493 smokes still pass | [ ] |
| P494-33 | Regression: discovery phase 492 smokes still pass | [ ] |
| P494-34 | Boot: session ready gate | [ ] |
| P494-35 | Boot: pear run gate | [ ] |
| P494-36 | Module: `pearcord-stage` README accuracy | [ ] |
| P494-37 | Module: `pearcord-platform` README stage section | [ ] |
| P494-38 | Smoke: platform-stage-span-metadata-extend | [ ] |
| P494-39 | Mesh: stage speaker gossip roundtrip re-verify | [ ] |
| P494-40 | Mesh: stage presence roundtrip re-verify | [ ] |
| P494-41 | UI: stage channel aria-busy polish | [ ] |
| P494-42 | UI: stage modal escape focus re-verify | [ ] |
| P494-43 | UI: companion stage defer re-verify | [ ] |
| P494-44 | UI: dev-log clipboard stage role extend | [ ] |
| P494-45 | UI: stage hub cross-link re-verify | [ ] |
| P494-46 | UI: stage topic banner re-verify | [ ] |
| P494-47 | UI: hand-raise live region re-verify | [ ] |
| P494-48 | UI: demote speaker flow re-verify | [ ] |
| P494-49 | UI: stage audit log entries re-verify | [ ] |
| P494-50 | Phase 495 screen depth (v0.8.458) | [ ] |
| P494-1 | Stage: join audience roundtrip re-verify | [x] |
| P494-2 | Stage: request speak roundtrip re-verify | [x] |
| P494-3 | Stage: approve speaker roundtrip re-verify | [x] |
| P494-4 | UI: `syncStagePanelsDuringGuildLoading` wrapper extend | [x] |
| P494-5 | UI: stage bar guild-loading guard extend | [x] |
| P494-6 | UI: stage request panel guild-loading guard extend | [x] |
| P494-7 | UI: stage speaker roster guild-loading guard extend | [x] |
| P494-8 | Platform: `stage.join` span metadata extend | [x] |
| P494-9 | Platform: `stage.speaker.request` span metadata extend | [x] |
| P494-10 | Platform: `stage.speaker.approve` span metadata extend | [x] |
| P494-11 | Logging: dev-log **stage-errors** filter tighten | [x] |
| P494-12 | Logging: dev-log clipboard stage meta extend | [x] |
| P494-13 | Agentctl: stage join headless re-verify | [x] |
| P494-14 | Agentctl: speaker request headless re-verify | [x] |
| P494-15 | Agentctl: combined phase494 stage bundle | [x] |
| P494-16 | Smoke: stage-panels-guild-loading-extend | [x] |
| P494-17 | Smoke: dev-log-stage-errors-tighten-extend | [x] |
| P494-18 | Smoke: dev-log-clipboard-stage-meta-extend | [x] |
| P494-19 | UI: composer stage hint extend | [x] |
| P494-20 | UI: stage empty-state hints polish | [x] |
| P494-21 | UI: stage speaker row aria-current polish | [x] |
| P494-22 | UI: stage request button aria-pressed re-verify | [x] |
| P494-23 | UI: pending requests badge re-verify | [x] |
| P494-24 | UI: stage moderator controls re-verify | [x] |
| P494-25 | UI: audience listen-only badge re-verify | [x] |
| P494-26 | UI: composer autofocus after stage leave re-verify | [x] |
| P494-27 | Permissions: stage speak gate toast re-verify | [x] |
| P494-28 | Permissions: manage-channels approve gate re-verify | [x] |
| P494-29 | Docs: `STAGE.md` refresh | [x] |
| P494-30 | Docs: `VOICE.md` stage section refresh | [x] |
| P494-31 | Docs: `AGENTCTL.md` phase 494 bundle | [x] |
| P494-32 | Regression: voice phase 493 smokes still pass | [x] |
| P494-33 | Regression: discovery phase 492 smokes still pass | [x] |
| P494-34 | Boot: session ready gate | [x] |
| P494-35 | Boot: pear run gate | [x] |
| P494-36 | Module: `pearcord-stage` README accuracy | [x] |
| P494-37 | Module: `pearcord-platform` README stage section | [x] |
| P494-38 | Smoke: platform-stage-span-metadata-extend | [x] |
| P494-39 | Mesh: stage speaker gossip roundtrip re-verify | [x] |
| P494-40 | Mesh: stage presence roundtrip re-verify | [x] |
| P494-41 | UI: stage channel aria-busy polish | [x] |
| P494-42 | UI: stage modal escape focus re-verify | [x] |
| P494-43 | UI: companion stage defer re-verify | [x] |
| P494-44 | UI: dev-log clipboard stage role extend | [x] |
| P494-45 | UI: stage hub cross-link re-verify | [x] |
| P494-46 | UI: stage topic banner re-verify | [x] |
| P494-47 | UI: hand-raise live region re-verify | [x] |
| P494-48 | UI: demote speaker flow re-verify | [x] |
| P494-49 | UI: stage audit log entries re-verify | [x] |
| P494-50 | Phase 495 screen depth (v0.8.458) | [x] |
**Next:** P494-1P494-49.
**Next:** ~~Phase 494~~ (complete). `syncStagePanelsDuringGuildLoading`; `ensureComposerStageHint`; **stage-errors** filter; platform stage spans; bundle `test:phase494-stage`. Phase 495 planned (50 items).
---
### Phase 495 — Screen share depth (v0.8.458)
| ID | Item | Status |
|----|------|--------|
| P495-1 | Screen: start share roundtrip re-verify | [ ] |
| P495-2 | Screen: stop share roundtrip re-verify | [ ] |
| P495-3 | Screen: display capture ingest roundtrip re-verify | [ ] |
| P495-4 | UI: `syncScreenPanelsDuringGuildLoading` wrapper extend | [ ] |
| P495-5 | UI: screen share panel guild-loading guard extend | [ ] |
| P495-6 | UI: stream popout guild-loading guard extend | [ ] |
| P495-7 | UI: share button guild-loading guard extend | [ ] |
| P495-8 | Platform: `screen.start` span metadata extend | [ ] |
| P495-9 | Platform: `screen.stop` span metadata extend | [ ] |
| P495-10 | Platform: `screen.capture` span metadata extend | [ ] |
| P495-11 | Logging: dev-log **screen-errors** filter tighten | [ ] |
| P495-12 | Logging: dev-log clipboard screen meta extend | [ ] |
| P495-13 | Agentctl: screen start headless re-verify | [ ] |
| P495-14 | Agentctl: screen stop headless re-verify | [ ] |
| P495-15 | Agentctl: combined phase495 screen bundle | [ ] |
| P495-16 | Smoke: screen-panels-guild-loading-extend | [ ] |
| P495-17 | Smoke: dev-log-screen-errors-tighten-extend | [ ] |
| P495-18 | Smoke: dev-log-clipboard-screen-meta-extend | [ ] |
| P495-19 | UI: composer screen hint extend | [ ] |
| P495-20 | UI: screen empty-state hints polish | [ ] |
| P495-21 | UI: stream tile aria-current polish | [ ] |
| P495-22 | UI: share quality badge re-verify | [ ] |
| P495-23 | UI: capture source label re-verify | [ ] |
| P495-24 | UI: listen-only share block toast re-verify | [ ] |
| P495-25 | UI: screen share indicator in voice bar re-verify | [ ] |
| P495-26 | UI: composer autofocus after share stop re-verify | [ ] |
| P495-27 | Permissions: voice-only share gate re-verify | [ ] |
| P495-28 | Mesh: screen gossip roundtrip re-verify | [ ] |
| P495-29 | Docs: `SCREEN_SHARE.md` refresh | [ ] |
| P495-30 | Docs: `VOICE.md` screen section refresh | [ ] |
| P495-31 | Docs: `AGENTCTL.md` phase 495 bundle | [ ] |
| P495-32 | Regression: stage phase 494 smokes still pass | [ ] |
| P495-33 | Regression: voice phase 493 smokes still pass | [ ] |
| P495-34 | Boot: session ready gate | [ ] |
| P495-35 | Boot: pear run gate | [ ] |
| P495-36 | Module: screen share README accuracy | [ ] |
| P495-37 | Module: `pearcord-platform` README screen section | [ ] |
| P495-38 | Smoke: platform-screen-span-metadata-extend | [ ] |
| P495-39 | UI: stream popout keyboard re-verify | [ ] |
| P495-40 | UI: video tile layout focus re-verify | [ ] |
| P495-41 | UI: aspect ratio badge re-verify | [ ] |
| P495-42 | UI: fps/rtt stream badge re-verify | [ ] |
| P495-43 | UI: companion screen defer re-verify | [ ] |
| P495-44 | UI: dev-log clipboard screen sharing meta extend | [ ] |
| P495-45 | UI: multi-share count badge re-verify | [ ] |
| P495-46 | UI: synthetic capture fallback hint re-verify | [ ] |
| P495-47 | UI: display active indicator re-verify | [ ] |
| P495-48 | UI: screen audit log entries re-verify | [ ] |
| P495-49 | UI: stream hover partial badges re-verify | [ ] |
| P495-50 | Phase 496 soundboard depth (v0.8.459) | [ ] |
**Next:** P495-1P495-49.
---
@@ -12132,6 +12191,7 @@ Absorbed into Phase 273 (P273-5P273-8, P273-11P273-12). See Phase 274 for
### Changelog
- **2026-05-24** — v0.8.457: Phase 494 — `syncStagePanelsDuringGuildLoading`; `ensureComposerStageHint`; **stage-errors** filter; platform stage spans; bundle `test:phase494-stage`. Phase 495 planned (50 items).
- **2026-05-24** — v0.8.456: Phase 493 — split voice compositor; `setVoiceRosterRowsCurrent`; platform voice/stage/screen spans; clipboard voice meta; bundle `test:phase493-voice`. Phase 494 planned (50 items).
- **2026-05-24** — v0.8.455: Phase 492 — split discovery compositor; `ensureComposerDiscoveryHint`; platform `discovery.publish`/`discovery.mesh`; **discovery-errors** filter; bundle `test:phase492-discovery`. Phase 493 planned (50 items).
- **2026-05-24** — v0.8.454: Phase 491 — `syncAutomationPanelsDuringGuildLoading`; `ensureComposerAutomationHint`; platform automation spans; **automation-errors** filter; bundle `test:phase491-automation`. Phase 492 planned (50 items).
+9
View File
@@ -2,6 +2,15 @@
Stage channels combine `pearcord-voice` occupancy with `pearcord-stage` speaker roles (audience, pending, speaker). Live audio uses `pearcord-voice-media`. See [VOICE.md](./VOICE.md) for shared voice bar and guild-loading compositor behavior.
## v0.8.457 (Phase 494)
- **Guild loading:** `syncStagePanelsDuringGuildLoading` composes `syncStageBarDuringGuildLoading`, `syncStageRequestPanelDuringGuildLoading`, and `syncStageSpeakerRosterDuringGuildLoading`.
- **Platform:** `stage.join` `channelType`/`peerCount`; `stage.speaker.request` `previousRole`/`pendingCount`; `stage.speaker.approve` `approvedFromPending`/`speakerCount`; `stage.speaker.demote` `demotedFromSpeaker`.
- **Logging:** dev-log **stage-errors** filter (`stage.join`, `stage.speaker.*`); voice-errors no longer includes stage.
- **UI:** `#composer-stage-hint`; `#stage-hand-raise-live` aria-live for moderators; `.stage-roster-row` + `setStageSpeakerRowsCurrent`.
- **Clipboard:** `stagePendingCount`, `stageSpeakerCount`, `stageBarVisible`.
- **Bundle:** `npm run test:phase494-stage`.
## v0.8.456 (Phase 493)
- **Guild loading:** `syncStageBarDuringGuildLoading` sets stage bar `aria-busy` and loading aria-label; stage controls disabled via `syncVoiceControlButtonsDuringGuildLoading`.
+2
View File
@@ -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.457 (Phase 494):** Stage-specific compositor `syncStagePanelsDuringGuildLoading` (separate from voice panels); `#composer-stage-hint`; **stage-errors** dev-log filter. See [STAGE.md](./STAGE.md). Bundle: `npm run test:phase494-stage`.
**v0.8.456 (Phase 493):** Split voice guild-loading compositor: `syncVoiceBarDuringGuildLoading`, `syncStageBarDuringGuildLoading`, `syncVoiceMembersPanelDuringGuildLoading`, `syncVoiceScreenSharePanelDuringGuildLoading`, `syncVoiceSoundboardPanelDuringGuildLoading`. Platform: `voice.join` `channelType`/`peerCount`; `voice.leave` `listenOnlyWas`; `stage.join` `isModerator`/`listenOnlyForced`; `screen.start` `listenOnly`/`wasSharing`; `screen.stop` `hadActive`. Clipboard `voiceMuted`, `voiceDeafened`, `voicePushToTalk`, `screenSharePanelOpen`, `soundboardPickerOpen`. `setVoiceRosterRowsCurrent` + `voice-roster-row`; composer hints for screen share and PTT. Bundle: `npm run test:phase493-voice`.
**v0.8.443 (Phase 480):** `syncVoicePanelsDuringGuildLoading` composes `syncVoiceBarsDuringGuildLoading`, `syncVoiceAuxPanelsDuringGuildLoading`, and `syncVoiceControlButtonsDuringGuildLoading`. Platform spans: `voice.join` `wasInVoice`/`switchedChannel`; `voice.leave` `hadMedia`/`leavingIsStage`; `screen.start` `hasLabel`; `screen.stop` `stopped`. Dev-log **voice-errors** filter anchored. Clipboard adds `voiceChannelId`, `voicePeerCount`, `voiceSpeakingCount`, `stageRequestPending`. UI: `ensureComposerVoiceHint`, `setVoiceRosterSelfCurrent`, voice bar activity aria-label with peer count. Bundle: `npm run test:phase480-voice`.