docs: complete Phase 945 roadmap and v0.8.912 release notes

Document export mesh view snapshot fields extract and diagnostics payload
key registry alignment. Mark Phase 945 complete (48/50 with version-boot SKIP).
Active track advances to Phase 946.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Raven Scott
2026-06-04 22:41:55 -04:00
co-authored by Cursor
parent 09119f52cd
commit 2533b4913b
7 changed files with 74 additions and 56 deletions
+2
View File
@@ -6,6 +6,8 @@ Pearcord validates itself without manual QA.
**v0.8.837 (Phase 870):** `npm run test:ci-phase870` — media mesh protomux-rpc attach live (`PEARCORD_MEDIA_RPC_WIRE=1`) + attach/voice regression + `test:ci-phase869`.
**v0.8.912 (Phase 945):** `npm run test:ci-phase945` — export mesh view snapshot fields extract + live digest snapshot RPC.
**v0.8.911 (Phase 944):** `npm run test:ci-phase944` — export mesh gossip-rpc-pull dispatch extract + live audit archive RPC.
**v0.8.910 (Phase 943):** `npm run test:ci-phase943` — platform export mesh fetch mixin bootstrap split + live digest snapshot RPC.
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -2,7 +2,7 @@
All **`pearcord-*`** packages under `modules/`. Each has its own Gitea repo and a **module README** with API tables, P2P topics, and examples.
**App release:** v0.8.911 · **Platform facade:** `pearcord-platform` ([PLATFORM_MIXINS.md](./PLATFORM_MIXINS.md)) · **Automation:** `pearcord-ui-flow` + `pearcord-agentctl` · **Full index:** [DOCUMENTATION_INDEX.md](./DOCUMENTATION_INDEX.md). Wire: [PROTOMUX_RPC_MIGRATION.md](./PROTOMUX_RPC_MIGRATION.md) (`test:ci-phase944`, `test:ci-phase943`, `test:ci-phase942`, `test:ci-phase941`, `test:ci-phase940`, `test:ci-phase939`, `test:ci-phase938`, `test:ci-phase937`, `test:ci-phase936`, `test:ci-phase935`, `test:ci-phase934`, `test:ci-phase933`, `test:ci-phase932`, `test:ci-phase931`, `test:ci-phase930`, `test:ci-phase929`, `test:ci-phase928`, `test:ci-phase927`, `test:ci-phase926`, `test:ci-phase925`, `test:ci-phase924`, `test:ci-phase923`, `test:ci-phase922`, `test:ci-phase921`, `test:ci-phase920`, `test:ci-phase919`, `test:ci-phase918`, `test:ci-phase917`, `test:ci-phase916`, `test:ci-phase901`, `test:ci-phase900`, `test:ci-phase899`, `test:ci-phase898`, `test:ci-phase897`, `test:ci-phase896`, `test:ci-phase895`, `test:ci-phase894`, `test:ci-phase893`, `test:ci-phase892`, `test:ci-phase891`, `test:ci-phase890`, `test:ci-phase889`, `test:ci-phase888`, `test:ci-phase887`, `test:ci-phase886`, `test:ci-phase885`, `test:ci-phase884`, `test:ci-phase883`, `test:ci-phase882`, `test:ci-phase870`, `test:ci-phase869`, `test:ci-phase868`, `test:ci-phase867`). Guild mesh: [PRODUCTION_MESH.md](./PRODUCTION_MESH.md) (`test:ci-phase866`, `test:ci-phase865`, `test:ci-phase864`, `test:ci-phase863`, `test:ci-phase862`, `test:ci-phase861`, `test:ci-phase860`, `test:ci-phase859`, `test:ci-phase858`, `test:ci-phase857`, `test:ci-phase856`, `test:ci-phase855`, `test:ci-phase854`, `test:ci-phase853`, `test:ci-phase852`, `test:ci-phase851`, `test:ci-phase850`, `test:ci-phase849`, `test:ci-phase848`, `test:ci-phase847`, `test:ci-phase846`, `test:ci-phase845`, `test:ci-phase844`, `test:ci-phase843`, `test:ci-phase842`, `test:ci-phase841`, `test:ci-phase840`, `test:ci-phase839`, `test:ci-phase838`, `test:ci-phase837`, `test:ci-phase836`, `test:ci-phase835`, `test:ci-phase834`, `test:ci-phase833`, `test:ci-phase832`, `test:ci-phase831`, `test:ci-phase830`, `test:ci-phase829`, `test:ci-phase828`, `test:ci-phase827`, `test:ci-phase826`, `test:ci-phase825`, `test:ci-phase824`, `test:ci-phase823`, `test:ci-phase822`, `test:ci-phase821`, `test:ci-phase820`, `test:ci-phase819`, `test:ci-phase818`, `test:ci-phase817`, `test:ci-phase816`, `test:ci-phase815`, `test:ci-phase814`, `test:ci-phase813`, `test:ci-phase812`, `test:ci-phase811`, `test:ci-phase810`, `test:ci-phase809`, `test:ci-phase808`, `test:ci-phase807`, `test:ci-phase806`, `test:ci-phase805`, `test:ci-phase804`, `test:ci-phase803`, `test:ci-phase802`, `test:ci-phase801`, `test:ci-phase800`, `test:ci-phase799`, `test:ci-phase798`, `test:ci-phase797`, `test:ci-phase796`, `test:ci-phase795`, `test:ci-phase794`, `test:ci-phase793`, `test:ci-phase792`, `test:ci-phase791`, `test:ci-phase790`, `test:ci-phase789`, `test:ci-phase788`, `test:ci-phase787`, `test:ci-phase786`, `test:ci-phase785`, `test:ci-phase784`, `test:ci-phase783`, `test:ci-phase782`, `test:ci-phase781`, `test:ci-phase780`). Members: [MEMBERS.md](./MEMBERS.md). Settings/roles/permissions: [SETTINGS.md](./SETTINGS.md), [ROLE_EDITOR.md](./ROLE_EDITOR.md), [PERMISSIONS.md](./PERMISSIONS.md).
**App release:** v0.8.912 · **Platform facade:** `pearcord-platform` ([PLATFORM_MIXINS.md](./PLATFORM_MIXINS.md)) · **Automation:** `pearcord-ui-flow` + `pearcord-agentctl` · **Full index:** [DOCUMENTATION_INDEX.md](./DOCUMENTATION_INDEX.md). Wire: [PROTOMUX_RPC_MIGRATION.md](./PROTOMUX_RPC_MIGRATION.md) (`test:ci-phase945`, `test:ci-phase944`, `test:ci-phase943`, `test:ci-phase942`, `test:ci-phase941`, `test:ci-phase940`, `test:ci-phase939`, `test:ci-phase938`, `test:ci-phase937`, `test:ci-phase936`, `test:ci-phase935`, `test:ci-phase934`, `test:ci-phase933`, `test:ci-phase932`, `test:ci-phase931`, `test:ci-phase930`, `test:ci-phase929`, `test:ci-phase928`, `test:ci-phase927`, `test:ci-phase926`, `test:ci-phase925`, `test:ci-phase924`, `test:ci-phase923`, `test:ci-phase922`, `test:ci-phase921`, `test:ci-phase920`, `test:ci-phase919`, `test:ci-phase918`, `test:ci-phase917`, `test:ci-phase916`, `test:ci-phase901`, `test:ci-phase900`, `test:ci-phase899`, `test:ci-phase898`, `test:ci-phase897`, `test:ci-phase896`, `test:ci-phase895`, `test:ci-phase894`, `test:ci-phase893`, `test:ci-phase892`, `test:ci-phase891`, `test:ci-phase890`, `test:ci-phase889`, `test:ci-phase888`, `test:ci-phase887`, `test:ci-phase886`, `test:ci-phase885`, `test:ci-phase884`, `test:ci-phase883`, `test:ci-phase882`, `test:ci-phase870`, `test:ci-phase869`, `test:ci-phase868`, `test:ci-phase867`). Guild mesh: [PRODUCTION_MESH.md](./PRODUCTION_MESH.md) (`test:ci-phase866`, `test:ci-phase865`, `test:ci-phase864`, `test:ci-phase863`, `test:ci-phase862`, `test:ci-phase861`, `test:ci-phase860`, `test:ci-phase859`, `test:ci-phase858`, `test:ci-phase857`, `test:ci-phase856`, `test:ci-phase855`, `test:ci-phase854`, `test:ci-phase853`, `test:ci-phase852`, `test:ci-phase851`, `test:ci-phase850`, `test:ci-phase849`, `test:ci-phase848`, `test:ci-phase847`, `test:ci-phase846`, `test:ci-phase845`, `test:ci-phase844`, `test:ci-phase843`, `test:ci-phase842`, `test:ci-phase841`, `test:ci-phase840`, `test:ci-phase839`, `test:ci-phase838`, `test:ci-phase837`, `test:ci-phase836`, `test:ci-phase835`, `test:ci-phase834`, `test:ci-phase833`, `test:ci-phase832`, `test:ci-phase831`, `test:ci-phase830`, `test:ci-phase829`, `test:ci-phase828`, `test:ci-phase827`, `test:ci-phase826`, `test:ci-phase825`, `test:ci-phase824`, `test:ci-phase823`, `test:ci-phase822`, `test:ci-phase821`, `test:ci-phase820`, `test:ci-phase819`, `test:ci-phase818`, `test:ci-phase817`, `test:ci-phase816`, `test:ci-phase815`, `test:ci-phase814`, `test:ci-phase813`, `test:ci-phase812`, `test:ci-phase811`, `test:ci-phase810`, `test:ci-phase809`, `test:ci-phase808`, `test:ci-phase807`, `test:ci-phase806`, `test:ci-phase805`, `test:ci-phase804`, `test:ci-phase803`, `test:ci-phase802`, `test:ci-phase801`, `test:ci-phase800`, `test:ci-phase799`, `test:ci-phase798`, `test:ci-phase797`, `test:ci-phase796`, `test:ci-phase795`, `test:ci-phase794`, `test:ci-phase793`, `test:ci-phase792`, `test:ci-phase791`, `test:ci-phase790`, `test:ci-phase789`, `test:ci-phase788`, `test:ci-phase787`, `test:ci-phase786`, `test:ci-phase785`, `test:ci-phase784`, `test:ci-phase783`, `test:ci-phase782`, `test:ci-phase781`, `test:ci-phase780`). Members: [MEMBERS.md](./MEMBERS.md). Settings/roles/permissions: [SETTINGS.md](./SETTINGS.md), [ROLE_EDITOR.md](./ROLE_EDITOR.md), [PERMISSIONS.md](./PERMISSIONS.md).
| Package | Path | Status | Primary doc | Module README |
|---------|------|--------|-------------|---------------|
+53 -52
View File
@@ -11,7 +11,7 @@ Active roadmap for Pearcord development. Update checkboxes as phases land.
**Legend:** `[ ]` not started · `[x]` complete · `[SKIP]` deferred (reason required)
Unfinished items tracked: **550**
Unfinished items tracked: **500**
Platform carryover tracked: **0**
Phase 931 items: **50/50 complete**
Phase 932 items: **50/50 complete**
@@ -27,7 +27,7 @@ Phase 941 items: **50/50 complete**
Phase 942 items: **50/50 complete**
Phase 943 items: **50/50 complete**
Phase 944 items: **50/50 complete**
Phase 945 items: **0/50 complete**
Phase 945 items: **50/50 complete**
Phase 946 items: **0/50 complete**
Phase 947 items: **0/50 complete**
Phase 948 items: **0/50 complete**
@@ -62,7 +62,7 @@ Phase 955 items: **0/50 complete**
## Now
**Active:** Phase 945 (v0.8.912) — export mesh view snapshot fields extract + diagnostics payload key registry. Autonomous track continues through Phase 955.
**Active:** Phase 946 (v0.8.913) — export mesh barrel index split (attempt group + registry group). Autonomous track continues through Phase 955.
### Phase 931 — Export mesh lookup-bind exports extract + lookup-map scope adoption (0.8.898) ✓
@@ -896,7 +896,7 @@ Bundle: `npm run test:ci-phase944` → boot gate + unit + view snapshot + method
| P944-49 | Regression `test:ci-phase943` | [SKIP] version-locked boot; shared smokes in `test:ci-phase944` |
| P944-50 | Phase 945 queued | [x] |
### Phase 945 — Export mesh view snapshot fields extract + diagnostics payload key registry (0.8.912)
### Phase 945 — Export mesh view snapshot fields extract + diagnostics payload key registry (0.8.912)
**Goal:** Non-breaking refactor — view-snapshot-fields registry for RPC wire snapshot. Gossip v2-only unchanged.
@@ -904,56 +904,56 @@ Bundle: `npm run test:ci-phase945` → boot gate + unit + view snapshot + method
| ID | Item | Status |
|----|------|--------|
| P945-1 | `gossip-rpc-export-mesh-view-snapshot-fields.js` | [ ] |
| P945-2 | View snapshot export mesh field list | [ ] |
| P945-3 | gossip-rpc-view-snapshot uses field registry | [ ] |
| P945-4 | Diagnostics payload keys aligned with snapshot fields | [ ] |
| P945-5 | RPC wire view snapshot smoke extended | [ ] |
| P945-6 | Barrel exports view-snapshot-fields | [ ] |
| P945-7 | Boot gate view-snapshot-fields | [ ] |
| P945-8 | View snapshot unchanged output | [ ] |
| P945-9 | Snapshot-keys chain verified | [ ] |
| P945-10 | Field registry under 30 lines | [ ] |
| P945-11 | Boot gate view snapshot check | [ ] |
| P945-12 | Wire snapshot smokes pass | [ ] |
| P945-13 | Regression `test:ci-phase944` | [ ] |
| P945-14 | View-snapshot-fields under 25 lines | [ ] |
| P945-15 | Phase 945 refactor verification item 15 | [ ] |
| P945-16 | Barrel exports Phase 945 modules | [ ] |
| P945-17 | Barrel spread unchanged externally | [ ] |
| P945-18 | Extended `test:gossip-rpc-pull-unit` | [ ] |
| P945-19 | Extended `test:rpc-wire-view-snapshot` | [ ] |
| P945-20 | `test:phase945-boot-gate` 0.8.912 | [ ] |
| P945-21 | `test:ci-phase945` meta-bundle | [ ] |
| P945-22 | Live digest snapshot RPC regression | [ ] |
| P945-23 | `PROTOMUX_RPC_MIGRATION.md` Phase 945 modules | [ ] |
| P945-24 | `pearcord-platform/README` Phase 945 | [ ] |
| P945-25 | `MODULES.md` 0.8.912 | [ ] |
| P945-26 | `DOCUMENTATION_INDEX` 0.8.912 | [ ] |
| P945-27 | Release notes 0.8.912 | [ ] |
| P945-28 | Version bump 0.8.912 | [ ] |
| P945-29 | Roadmap Phase 945 complete | [ ] |
| P945-30 | Push all repos | [ ] |
| P945-31 | `AUTOMATED_TESTING.md` Phase 945 CI | [ ] |
| P945-32 | Changelog Phase 945 | [ ] |
| P945-33 | `sync-file-deps` before smokes | [ ] |
| P945-34 | Zero behavior change on export paths | [ ] |
| P945-35 | Regression method-map smokes | [ ] |
| P945-36 | `pear run` boot check | [ ] |
| P945-37 | `pearcord.log` scan | [ ] |
| P945-1 | `gossip-rpc-export-mesh-view-snapshot-fields.js` | [x] |
| P945-2 | View snapshot export mesh field list | [x] |
| P945-3 | gossip-rpc-view-snapshot uses field registry | [x] |
| P945-4 | Diagnostics payload keys aligned with snapshot fields | [x] |
| P945-5 | RPC wire view snapshot smoke extended | [x] |
| P945-6 | Barrel exports view-snapshot-fields | [x] |
| P945-7 | Boot gate view-snapshot-fields | [x] |
| P945-8 | View snapshot unchanged output | [x] |
| P945-9 | Snapshot-keys chain verified | [x] |
| P945-10 | Field registry under 30 lines | [x] |
| P945-11 | Boot gate view snapshot check | [x] |
| P945-12 | Wire snapshot smokes pass | [x] |
| P945-13 | Regression `test:ci-phase944` | [SKIP] version-locked boot; shared smokes in `test:ci-phase945` |
| P945-14 | View-snapshot-fields under 25 lines | [x] |
| P945-15 | Phase 945 refactor verification item 15 | [x] |
| P945-16 | Barrel exports Phase 945 modules | [x] |
| P945-17 | Barrel spread unchanged externally | [x] |
| P945-18 | Extended `test:gossip-rpc-pull-unit` | [x] |
| P945-19 | Extended `test:rpc-wire-view-snapshot` | [x] |
| P945-20 | `test:phase945-boot-gate` 0.8.912 | [x] |
| P945-21 | `test:ci-phase945` meta-bundle | [x] |
| P945-22 | Live digest snapshot RPC regression | [x] |
| P945-23 | `PROTOMUX_RPC_MIGRATION.md` Phase 945 modules | [x] |
| P945-24 | `pearcord-platform/README` Phase 945 | [x] |
| P945-25 | `MODULES.md` 0.8.912 | [x] |
| P945-26 | `DOCUMENTATION_INDEX` 0.8.912 | [x] |
| P945-27 | Release notes 0.8.912 | [x] |
| P945-28 | Version bump 0.8.912 | [x] |
| P945-29 | Roadmap Phase 945 complete | [x] |
| P945-30 | Push all repos | [x] |
| P945-31 | `AUTOMATED_TESTING.md` Phase 945 CI | [x] |
| P945-32 | Changelog Phase 945 | [x] |
| P945-33 | `sync-file-deps` before smokes | [x] |
| P945-34 | Zero behavior change on export paths | [x] |
| P945-35 | Regression method-map smokes | [x] |
| P945-36 | `pear run` boot check | [x] |
| P945-37 | `pearcord.log` scan | [x] |
| P945-38 | Agentctl RPC journey | [SKIP] smoke covers |
| P945-39 | UI settings RPC toggles | [SKIP] future |
| P945-40 | Pull dispatch unchanged | [ ] |
| P945-41 | View snapshot unchanged | [ ] |
| P945-42 | Platform mixin builder unchanged | [ ] |
| P945-43 | Mixin method keys preserved | [ ] |
| P945-44 | Boot gate Phase 945 closure check | [ ] |
| P945-45 | Export mesh module line count check | [ ] |
| P945-46 | Pull config keys preserved | [ ] |
| P945-47 | Registry keys preserved | [ ] |
| P945-48 | Gossip v2-only unchanged | [ ] |
| P945-49 | Regression `test:ci-phase944` | [ ] |
| P945-50 | Phase 946 queued | [ ] |
| P945-40 | Pull dispatch unchanged | [x] |
| P945-41 | View snapshot unchanged | [x] |
| P945-42 | Platform mixin builder unchanged | [x] |
| P945-43 | Mixin method keys preserved | [x] |
| P945-44 | Boot gate Phase 945 closure check | [x] |
| P945-45 | Export mesh module line count check | [x] |
| P945-46 | Pull config keys preserved | [x] |
| P945-47 | Registry keys preserved | [x] |
| P945-48 | Gossip v2-only unchanged | [x] |
| P945-49 | Regression `test:ci-phase944` | [SKIP] version-locked boot; shared smokes in `test:ci-phase945` |
| P945-50 | Phase 946 queued | [x] |
### Phase 946 — Export mesh barrel index split (attempt group + registry group) (0.8.913)
@@ -1567,6 +1567,7 @@ When rotating a full roadmap cycle (all phases complete), rename this file to `P
## Changelog
- 2026-06-05 - Completed Phase 945 export mesh view snapshot fields extract + diagnostics payload key registry (v0.8.912): view-snapshot-fields, test:ci-phase945 (48/50, P945-13/P945-49 version-boot SKIP). **Now:** Phase 946.
- 2026-06-05 - Completed Phase 944 export mesh gossip-rpc-pull dispatch extract + pull config alignment smoke (v0.8.911): pull-dispatch, validate-pull-keys alignment, test:ci-phase944 (48/50, P944-13/P944-49 version-boot SKIP). **Now:** Phase 945.
- 2026-06-05 - Completed Phase 943 platform export mesh fetch mixin bootstrap split + registry wire extract (v0.8.910): mixin-bootstrap, platform-export-mesh-fetch-bootstrap, test:ci-phase943 (48/50, P943-13/P943-49 version-boot SKIP). **Now:** Phase 944.
- 2026-06-05 - Completed Phase 942 export mesh row audit/digest mesh helpers extract + format re-export chain (v0.8.909): row-audit-mesh, row-digest-mesh, test:ci-phase942 (48/50, P942-13/P942-49 version-boot SKIP). **Now:** Phase 943.
+8 -1
View File
@@ -185,8 +185,15 @@ Smoke: `npm run test:rpc-wire-view-snapshot`.
| `gossip-rpc-export-mesh-mixin-bootstrap.js` | Platform export mesh mixin bootstrap from registry (Phase 943) |
| `platform-export-mesh-fetch-bootstrap.js` | Features mixin bootstrap via registry wire (Phase 943) |
| `gossip-rpc-export-mesh-pull-dispatch.js` | Export mesh targeted gossip RPC pull dispatch (Phase 944) |
| `gossip-rpc-export-mesh-view-snapshot-fields.js` | Export mesh RPC view snapshot field registry (Phase 945) |
Smoke: `npm run test:ci-phase944`.
Smoke: `npm run test:ci-phase945`.
## Export mesh view snapshot fields extract + diagnostics payload key registry (v0.8.912+, Phase 945)
`exportMeshViewSnapshotFieldKeys` centralizes export mesh fields on platform RPC view; `pickExportMeshViewSnapshotFields` used by `gossip-rpc-view-snapshot`; diagnostics payload builder maps input keys via `exportMeshDiagnosticsPayloadKeyByViewField`.
Smoke: `npm run test:ci-phase945`.
## Export mesh gossip-rpc-pull dispatch extract + pull config alignment (v0.8.911+, Phase 944)
+1 -1
View File
@@ -2,7 +2,7 @@
Documentation for **[Pearcord](https://git.ssh.surf/pearcord)** — a 100% peer-to-peer community chat app on [Pear](https://pear.holepunch.to). No central message servers.
**Current release:** v0.8.911 (desktop app `apps/pearcord`). Recent doc sync: [DOC_AUDIT_2026-06.md](./DOC_AUDIT_2026-06.md).
**Current release:** v0.8.912 (desktop app `apps/pearcord`). Recent doc sync: [DOC_AUDIT_2026-06.md](./DOC_AUDIT_2026-06.md).
---
+8
View File
@@ -0,0 +1,8 @@
# Release v0.8.912 — Phase 945
Non-breaking refactor: export mesh view snapshot field registry centralizes RPC wire snapshot keys; diagnostics payload builder maps input keys via registry.
- `gossip-rpc-export-mesh-view-snapshot-fields.js` — field list, payload key map, `pickExportMeshViewSnapshotFields`
- `gossip-rpc-view-snapshot.js` — picks export mesh fields via registry
- `gossip-rpc-export-mesh-registry-snapshot.js` — diagnostics payload keys aligned with view fields
- CI: `npm run test:ci-phase945`