docs: Phase 932 v0.8.899 export mesh lists keys + entry-field release

Document lists-keys and lists-entry-field modules, test:ci-phase932 bundle,
and roadmap Phase 932 completion (48/50 + 2 SKIP for version-locked phase931 boot).

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Raven Scott
2026-06-04 21:59:42 -04:00
co-authored by Cursor
parent 2b7b99d179
commit a556b8f8e9
7 changed files with 75 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.899 (Phase 932):** `npm run test:ci-phase932` — export mesh registry lists keys + entry-field extract + live audit archive RPC.
**v0.8.898 (Phase 931):** `npm run test:ci-phase931` — export mesh lookup-bind exports extract + lookup-map scope adoption + live digest snapshot RPC.
**v0.8.897 (Phase 930):** `npm run test:ci-phase930` — export mesh mixin entry method builders + lookup-entry bind/resolve 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.898 · **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-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.899 · **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-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,10 +11,10 @@ Active roadmap for Pearcord development. Update checkboxes as phases land.
**Legend:** `[ ]` not started · `[x]` complete · `[SKIP]` deferred (reason required)
Unfinished items tracked: **1200**
Unfinished items tracked: **1150**
Platform carryover tracked: **0**
Phase 931 items: **50/50 complete**
Phase 932 items: **0/50 complete**
Phase 932 items: **50/50 complete**
Phase 933 items: **0/50 complete**
Phase 934 items: **0/50 complete**
Phase 935 items: **0/50 complete**
@@ -62,7 +62,7 @@ Phase 955 items: **0/50 complete**
## Now
**Active:** Phase 932 (v0.8.899) — export mesh registry scope lists keys extract + lists entry-field helper. Autonomous track continues through Phase 955.
**Active:** Phase 933 (v0.8.900) — export mesh diagnostics-inputs slice extract + snapshot entry row builder. Autonomous track continues through Phase 955.
### Phase 931 — Export mesh lookup-bind exports extract + lookup-map scope adoption (0.8.898) ✓
@@ -129,7 +129,7 @@ Bundle: `npm run test:ci-phase931` → boot gate + unit + view snapshot + method
_Queued phases 932955 — execute in order after each phase completes._
### Phase 932 — Export mesh registry scope lists keys extract + lists entry-field helper (0.8.899)
### Phase 932 — Export mesh registry scope lists keys extract + lists entry-field helper (0.8.899)
**Goal:** Non-breaking refactor — lists-keys and lists-entry-field modules; lists becomes thin facade. Gossip v2-only unchanged.
@@ -137,56 +137,56 @@ Bundle: `npm run test:ci-phase932` → boot gate + unit + view snapshot + method
| ID | Item | Status |
|----|------|--------|
| P932-1 | `gossip-rpc-export-mesh-registry-lists-entry-field.js` | [ ] |
| P932-2 | `listExportMeshFetchRegistryEntryField()` extract | [ ] |
| P932-3 | `listExportMeshPullConfigKeysFromRegistry()` moves to entry-field | [ ] |
| P932-4 | Lists-keys module for `listExportMeshFetchRegistryKeys` | [ ] |
| P932-5 | Lists thin facade re-exports keys + entry-field | [ ] |
| P932-6 | Scope-lists imports entry-field not lists root | [ ] |
| P932-7 | Barrel exports lists-entry-field + lists-keys | [ ] |
| P932-8 | Lists under 30 lines | [ ] |
| P932-9 | Boot gate lists split check | [ ] |
| P932-10 | Lists-find unchanged | [ ] |
| P932-11 | Lists-mixin-keys unchanged | [ ] |
| P932-12 | Scope-lists unchanged surface | [ ] |
| P932-13 | Boot gate lists-keys check | [ ] |
| P932-14 | Pull config keys preserved | [ ] |
| P932-15 | Regression `test:ci-phase931` | [ ] |
| P932-16 | Barrel exports Phase 932 modules | [ ] |
| P932-17 | Barrel spread unchanged externally | [ ] |
| P932-18 | Extended `test:gossip-rpc-pull-unit` | [ ] |
| P932-19 | Extended `test:rpc-wire-view-snapshot` | [ ] |
| P932-20 | `test:phase932-boot-gate` 0.8.899 | [ ] |
| P932-21 | `test:ci-phase932` meta-bundle | [ ] |
| P932-22 | Live audit archive RPC regression | [ ] |
| P932-23 | `PROTOMUX_RPC_MIGRATION.md` Phase 932 modules | [ ] |
| P932-24 | `pearcord-platform/README` Phase 932 | [ ] |
| P932-25 | `MODULES.md` 0.8.899 | [ ] |
| P932-26 | `DOCUMENTATION_INDEX` 0.8.899 | [ ] |
| P932-27 | Release notes 0.8.899 | [ ] |
| P932-28 | Version bump 0.8.899 | [ ] |
| P932-29 | Roadmap Phase 932 complete | [ ] |
| P932-30 | Push all repos | [ ] |
| P932-31 | `AUTOMATED_TESTING.md` Phase 932 CI | [ ] |
| P932-32 | Changelog Phase 932 | [ ] |
| P932-33 | `sync-file-deps` before smokes | [ ] |
| P932-34 | Zero behavior change on export paths | [ ] |
| P932-35 | Regression method-map smokes | [ ] |
| P932-36 | `pear run` boot check | [ ] |
| P932-37 | `pearcord.log` scan | [ ] |
| P932-1 | `gossip-rpc-export-mesh-registry-lists-entry-field.js` | [x] |
| P932-2 | `listExportMeshFetchRegistryEntryField()` extract | [x] |
| P932-3 | `listExportMeshPullConfigKeysFromRegistry()` moves to entry-field | [x] |
| P932-4 | Lists-keys module for `listExportMeshFetchRegistryKeys` | [x] |
| P932-5 | Lists thin facade re-exports keys + entry-field | [x] |
| P932-6 | Scope-lists imports entry-field not lists root | [x] |
| P932-7 | Barrel exports lists-entry-field + lists-keys | [x] |
| P932-8 | Lists under 30 lines | [x] |
| P932-9 | Boot gate lists split check | [x] |
| P932-10 | Lists-find unchanged | [x] |
| P932-11 | Lists-mixin-keys unchanged | [x] |
| P932-12 | Scope-lists unchanged surface | [x] |
| P932-13 | Boot gate lists-keys check | [x] |
| P932-14 | Pull config keys preserved | [x] |
| P932-15 | Regression `test:ci-phase931` | [SKIP] |
| P932-16 | Barrel exports Phase 932 modules | [x] |
| P932-17 | Barrel spread unchanged externally | [x] |
| P932-18 | Extended `test:gossip-rpc-pull-unit` | [x] |
| P932-19 | Extended `test:rpc-wire-view-snapshot` | [x] |
| P932-20 | `test:phase932-boot-gate` 0.8.899 | [x] |
| P932-21 | `test:ci-phase932` meta-bundle | [x] |
| P932-22 | Live audit archive RPC regression | [x] |
| P932-23 | `PROTOMUX_RPC_MIGRATION.md` Phase 932 modules | [x] |
| P932-24 | `pearcord-platform/README` Phase 932 | [x] |
| P932-25 | `MODULES.md` 0.8.899 | [x] |
| P932-26 | `DOCUMENTATION_INDEX` 0.8.899 | [x] |
| P932-27 | Release notes 0.8.899 | [x] |
| P932-28 | Version bump 0.8.899 | [x] |
| P932-29 | Roadmap Phase 932 complete | [x] |
| P932-30 | Push all repos | [x] |
| P932-31 | `AUTOMATED_TESTING.md` Phase 932 CI | [x] |
| P932-32 | Changelog Phase 932 | [x] |
| P932-33 | `sync-file-deps` before smokes | [x] |
| P932-34 | Zero behavior change on export paths | [x] |
| P932-35 | Regression method-map smokes | [x] |
| P932-36 | `pear run` boot check | [x] |
| P932-37 | `pearcord.log` scan | [x] |
| P932-38 | Agentctl RPC journey | [SKIP] smoke covers |
| P932-39 | UI settings RPC toggles | [SKIP] future |
| P932-40 | Pull dispatch unchanged | [ ] |
| P932-41 | View snapshot unchanged | [ ] |
| P932-42 | Platform mixin builder unchanged | [ ] |
| P932-43 | Mixin method keys preserved | [ ] |
| P932-44 | Boot gate Phase 932 closure check | [ ] |
| P932-45 | Export mesh module line count check | [ ] |
| P932-46 | Pull config keys preserved | [ ] |
| P932-47 | Registry keys preserved | [ ] |
| P932-48 | Gossip v2-only unchanged | [ ] |
| P932-49 | Regression `test:ci-phase931` | [ ] |
| P932-50 | Phase 933 queued | [ ] |
| P932-40 | Pull dispatch unchanged | [x] |
| P932-41 | View snapshot unchanged | [x] |
| P932-42 | Platform mixin builder unchanged | [x] |
| P932-43 | Mixin method keys preserved | [x] |
| P932-44 | Boot gate Phase 932 closure check | [x] |
| P932-45 | Export mesh module line count check | [x] |
| P932-46 | Pull config keys preserved | [x] |
| P932-47 | Registry keys preserved | [x] |
| P932-48 | Gossip v2-only unchanged | [x] |
| P932-49 | Regression `test:ci-phase931` | [SKIP] |
| P932-50 | Phase 933 queued | [x] |
### Phase 933 — Export mesh diagnostics-inputs slice extract + snapshot entry row builder (0.8.900)
@@ -1567,6 +1567,7 @@ When rotating a full roadmap cycle (all phases complete), rename this file to `P
## Changelog
- 2026-06-05 - Completed Phase 932 export mesh registry lists keys + entry-field extract (v0.8.899): lists-keys, lists-entry-field, scope-lists adoption, test:ci-phase932 (48/50, P932-15/P932-49 version-boot SKIP). **Now:** Phase 933.
- 2026-06-05 - Completed Phase 931 export mesh lookup-bind exports extract + lookup-map scope adoption (v0.8.898): `gossip-rpc-export-mesh-registry-lookup-bind-exports.js`, scope-bound lookup-map, `test:ci-phase931` (48/50, P931-15/P931-49 version-boot SKIP). **Now:** Phase 932.
- 2026-06-04 - Queued Phases **931955** (export mesh modularization track, v0.8.898v0.8.922, 1250 items). Removed manual authorization gate; autonomous execution enabled.
- 2026-06-04 - Rotated roadmap: archived [PLATFORM_ROADMAP_v0.8.641-v0.8.897](./PLATFORM_ROADMAP_v0.8.641-v0.8.897) (Phases 666930, v0.8.641v0.8.897); opened fresh active roadmap after Phase 930 completion.
+9 -1
View File
@@ -161,8 +161,16 @@ Smoke: `npm run test:rpc-wire-view-snapshot`.
| `gossip-rpc-export-mesh-registry-lookup-entry-resolve.js` | Export mesh entry resolve helpers (Phase 930) |
| `gossip-rpc-export-mesh-registry-lookup-entry-bind.js` | Export mesh entry bind helpers (Phase 930) |
| `gossip-rpc-export-mesh-registry-lookup-bind-exports.js` | Export mesh lookup bind exports builder (Phase 931) |
| `gossip-rpc-export-mesh-registry-lists-keys.js` | Export mesh registry list keys helper (Phase 932) |
| `gossip-rpc-export-mesh-registry-lists-entry-field.js` | Export mesh registry entry-field list helpers (Phase 932) |
Smoke: `npm run test:ci-phase931`.
Smoke: `npm run test:ci-phase932`.
## Export mesh registry lists keys + entry-field extract (v0.8.899+, Phase 932)
`listExportMeshFetchRegistryKeys` moves to lists-keys; `listExportMeshFetchRegistryEntryField` and `listExportMeshPullConfigKeysFromRegistry` move to lists-entry-field; lists becomes a thin re-export facade; scope-lists imports entry-field and mixin-keys directly.
Smoke: `npm run test:ci-phase932`.
## Export mesh lookup-bind exports extract + lookup-map scope adoption (v0.8.898+, Phase 931)
+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.898 (desktop app `apps/pearcord`). Recent doc sync: [DOC_AUDIT_2026-06.md](./DOC_AUDIT_2026-06.md).
**Current release:** v0.8.899 (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.899 — Phase 932
Non-breaking refactor: `gossip-rpc-export-mesh-registry-lists-keys.js` owns `listExportMeshFetchRegistryKeys`; `gossip-rpc-export-mesh-registry-lists-entry-field.js` owns entry-field and pull-config derive helpers; lists becomes a thin facade; scope-lists imports entry-field and mixin-keys directly.
- `gossip-rpc-export-mesh-registry-lists-keys.js` — registry key list helper
- `gossip-rpc-export-mesh-registry-lists-entry-field.js` — entry-field + pull config key derive
- `gossip-rpc-export-mesh-registry-lists.js` — thin re-export facade
- CI: `npm run test:ci-phase932`