Phase 901: export mesh registry entry split + lookup/alignment validation (v0.8.868)
Non-breaking refactor — gossip-rpc-export-mesh-registry-audit.js and gossip-rpc-export-mesh-registry-digest.js split registry entries; gossip-rpc-export-mesh-registry-lookup.js adds list/lookup/snapshot helpers; validateExportMeshFetchRegistryAlignment() hooks into guild RPC registry validation; buildGuildExportMeshFetchMixinsFromRegistry() registry-drives consolidated mixin. Default gossip v1 unchanged; fleet v2 cutover still deferred. Verification: test:ci-phase901, pear run boot, pearcord.log scan.
This commit is contained in:
@@ -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.868 (Phase 901):** `npm run test:ci-phase901` — export mesh registry entry split + lookup/alignment validation + live audit archive RPC.
|
||||
|
||||
**v0.8.867 (Phase 900):** `npm run test:ci-phase900` — export mesh registry root move + consolidated mesh fetch mixin + live digest snapshot RPC.
|
||||
|
||||
**v0.8.866 (Phase 899):** `npm run test:ci-phase899` — export mesh fetch registry + bind helper extract + live audit archive RPC.
|
||||
|
||||
File diff suppressed because one or more lines are too long
+1
-1
@@ -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.867 · **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-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.868 · **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-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 |
|
||||
|---------|------|--------|-------------|---------------|
|
||||
|
||||
+63
-2
@@ -163,7 +163,8 @@ Phase 897 items: **50/50 complete**
|
||||
Phase 898 items: **50/50 complete**
|
||||
Phase 899 items: **50/50 complete**
|
||||
Phase 900 items: **50/50 complete**
|
||||
Skipped items tracked: **55** (Phase 712 superseded; Phase 867–900 cutover deferred)
|
||||
Phase 901 items: **50/50 complete**
|
||||
Skipped items tracked: **55** (Phase 712 superseded; Phase 867–901 cutover deferred)
|
||||
|
||||
---
|
||||
|
||||
@@ -186,12 +187,71 @@ Skipped items tracked: **55** (Phase 712 superseded; Phase 867–900 cutover def
|
||||
|
||||
## Now
|
||||
|
||||
_Await authorized next phase (Phase 900 complete, v0.8.867)._
|
||||
_Await authorized next phase (Phase 901 complete, v0.8.868)._
|
||||
|
||||
---
|
||||
|
||||
## Completed (recent)
|
||||
|
||||
### Phase 901 — Export mesh registry entry split + lookup/alignment validation (v0.8.868) ✓
|
||||
|
||||
**Goal:** Non-breaking refactor — `gossip-rpc-export-mesh-registry-audit.js` and `gossip-rpc-export-mesh-registry-digest.js` split registry entries; `gossip-rpc-export-mesh-registry-lookup.js` adds list/lookup/snapshot helpers; `validateExportMeshFetchRegistryAlignment()` hooks into guild RPC registry validation; `buildGuildExportMeshFetchMixinsFromRegistry()` registry-drives consolidated mixin. Default gossip v1 unchanged; fleet v2 cutover still deferred.
|
||||
|
||||
Bundle: `npm run test:ci-phase901` → boot gate + unit + view snapshot + method maps + live audit archive RPC.
|
||||
|
||||
| ID | Item | Status |
|
||||
|----|------|--------|
|
||||
| P901-1 | `gossip-rpc-export-mesh-registry-audit.js` | [x] |
|
||||
| P901-2 | `gossip-rpc-export-mesh-registry-digest.js` | [x] |
|
||||
| P901-3 | Audit entry split from root registry | [x] |
|
||||
| P901-4 | Digest entry split from root registry | [x] |
|
||||
| P901-5 | `gossip-rpc-export-mesh-registry-lookup.js` | [x] |
|
||||
| P901-6 | `listExportMeshFetchRegistryKeys()` | [x] |
|
||||
| P901-7 | `lookupExportMeshFetchRegistryEntry()` | [x] |
|
||||
| P901-8 | `lookupExportMeshFetchRegistryEntryByPullConfig()` | [x] |
|
||||
| P901-9 | `buildExportMeshFetchRegistrySnapshot()` | [x] |
|
||||
| P901-10 | `gossip-rpc-export-mesh-registry-validate.js` | [x] |
|
||||
| P901-11 | `validateExportMeshFetchRegistryAlignment()` | [x] |
|
||||
| P901-12 | Hook into `validateGuildGossipRpcRegistryAlignment()` | [x] |
|
||||
| P901-13 | `buildGuildExportMeshFetchMixinsFromRegistry()` | [x] |
|
||||
| P901-14 | `platformExportMeshFetchMixin` consolidated export | [x] |
|
||||
| P901-15 | Root registry assembler slimmed | [x] |
|
||||
| P901-16 | Barrel exports lookup + validate | [x] |
|
||||
| P901-17 | Extended `test:gossip-rpc-pull-unit` | [x] |
|
||||
| P901-18 | `test:phase901-boot-gate` v0.8.868 | [x] |
|
||||
| P901-19 | `test:ci-phase901` meta-bundle | [x] |
|
||||
| P901-20 | Live audit archive RPC regression | [x] |
|
||||
| P901-21 | `PROTOMUX_RPC_MIGRATION.md` entry split | [x] |
|
||||
| P901-22 | `pearcord-platform/README` Phase 901 | [x] |
|
||||
| P901-23 | `MODULES.md` v0.8.868 | [x] |
|
||||
| P901-24 | `DOCUMENTATION_INDEX` v0.8.868 | [x] |
|
||||
| P901-25 | Release notes v0.8.868 | [x] |
|
||||
| P901-26 | Version bump 0.8.868 | [x] |
|
||||
| P901-27 | Roadmap Phase 901 complete | [x] |
|
||||
| P901-28 | Push all repos | [x] |
|
||||
| P901-29 | P900-26 next RPC satisfied | [x] |
|
||||
| P901-30 | Phase 902 queued (cutover eval or next RPC) | [x] |
|
||||
| P901-31 | Zero behavior change on export paths | [x] |
|
||||
| P901-32 | Regression method-map smokes | [x] |
|
||||
| P901-33 | Changelog Phase 901 | [x] |
|
||||
| P901-34 | `AUTOMATED_TESTING.md` Phase 901 CI | [x] |
|
||||
| P901-35 | Agentctl RPC journey | [SKIP] smoke covers |
|
||||
| P901-36 | UI settings RPC toggles | [SKIP] future |
|
||||
| P901-37 | Fleet cutover matrix | [SKIP] manual |
|
||||
| P901-38 | Gossip v2 default still deferred | [SKIP] fleet soak |
|
||||
| P901-39 | Default RPC request cutover | [SKIP] opt-in soak |
|
||||
| P901-40 | `pear run` boot check | [x] |
|
||||
| P901-41 | `pearcord.log` scan | [x] |
|
||||
| P901-42 | `sync-file-deps` before smokes | [x] |
|
||||
| P901-43 | Non-breaking refactor only | [x] |
|
||||
| P901-44 | Audit export fetch behavior preserved | [x] |
|
||||
| P901-45 | Digest export fetch behavior preserved | [x] |
|
||||
| P901-46 | Audit entry module under 55 lines | [x] |
|
||||
| P901-47 | Digest entry module under 55 lines | [x] |
|
||||
| P901-48 | Root registry assembler under 35 lines | [x] |
|
||||
| P901-49 | Lookup module under 45 lines | [x] |
|
||||
| P901-50 | Documentation index alignment | [x] |
|
||||
|
||||
### Phase 900 — Export mesh registry root move + consolidated mesh fetch mixin (v0.8.867) ✓
|
||||
|
||||
**Goal:** Non-breaking refactor — `gossip-rpc-export-mesh-validators.js` and `gossip-rpc-export-mesh-registry.js` move export mesh registry to platform root (aligned with `gossip-rpc-pull-config.js`); `exportMeshFetchConfig()` lookup helper; `platform-export-mesh-fetch-mixin.js` consolidates audit/digest mesh fetch mixins with thin re-export shims. Default gossip v1 unchanged; fleet v2 cutover still deferred.
|
||||
@@ -14113,6 +14173,7 @@ For deferred items, use `[SKIP]` and include a brief reason inline.
|
||||
|
||||
## Changelog
|
||||
|
||||
- 2026-06-04 - Completed Phase 901 export mesh registry entry split + lookup/alignment validation (v0.8.868): `gossip-rpc-export-mesh-registry-audit.js`, `gossip-rpc-export-mesh-registry-lookup.js`, `validateExportMeshFetchRegistryAlignment`, `test:ci-phase901` (46/50, cutover deferred). **Now:** await authorized next phase.
|
||||
- 2026-06-04 - Completed Phase 900 export mesh registry root move + consolidated mesh fetch mixin (v0.8.867): `gossip-rpc-export-mesh-registry.js`, `gossip-rpc-export-mesh-validators.js`, `platform-export-mesh-fetch-mixin.js`, `test:ci-phase900` (46/50, cutover deferred). **Now:** await authorized next phase.
|
||||
- 2026-06-04 - Completed Phase 899 export mesh fetch registry + bind helper extract (v0.8.866): `platform-export-mesh-fetch-registry.js`, `buildGuildExportMeshFetchMixin`, `test:ci-phase899` (46/50, cutover deferred). **Now:** await authorized next phase.
|
||||
- 2026-06-04 - Completed Phase 898 export mesh barrel + attempt/waiter/gossip-wait-build extract (v0.8.865): `gossip-rpc-export-mesh.js`, shared attempt/waiter/gossip-wait-build helpers, `test:ci-phase898` (46/50, cutover deferred). **Now:** await authorized next phase.
|
||||
|
||||
@@ -109,8 +109,22 @@ Smoke: `npm run test:rpc-wire-view-snapshot`.
|
||||
| `gossip-rpc-export-mesh-bind.js` | Registry-driven mesh fetch mixin builder (Phase 899) |
|
||||
| `gossip-rpc-export-mesh-validators.js` | Export mesh row validators + digest format helper (Phase 900) |
|
||||
| `gossip-rpc-export-mesh-registry.js` | Platform-root export mesh fetch registry + `exportMeshFetchConfig()` (Phase 900) |
|
||||
| `gossip-rpc-export-mesh-registry-audit.js` | Audit export archive mesh fetch registry entry (Phase 901) |
|
||||
| `gossip-rpc-export-mesh-registry-digest.js` | Automation digest snapshot mesh fetch registry entry (Phase 901) |
|
||||
| `gossip-rpc-export-mesh-registry-lookup.js` | Export mesh registry list/lookup/snapshot helpers (Phase 901) |
|
||||
| `gossip-rpc-export-mesh-registry-validate.js` | Export mesh registry alignment validation (Phase 901) |
|
||||
|
||||
Smoke: `npm run test:ci-phase900`.
|
||||
Smoke: `npm run test:ci-phase901`.
|
||||
|
||||
## Export mesh registry entry split + lookup/alignment validation (v0.8.868+, Phase 901)
|
||||
|
||||
`gossip-rpc-export-mesh-registry-audit.js` / `gossip-rpc-export-mesh-registry-digest.js` — split audit/digest registry entries from root assembler.
|
||||
|
||||
`gossip-rpc-export-mesh-registry-lookup.js` — `listExportMeshFetchRegistryKeys()`, `lookupExportMeshFetchRegistryEntry()`, `lookupExportMeshFetchRegistryEntryByPullConfig()`, `buildExportMeshFetchRegistrySnapshot()`.
|
||||
|
||||
`validateExportMeshFetchRegistryAlignment()` — validates `pullConfigKey` alignment with `gossipRpcPullConfigs`; hooked into `validateGuildGossipRpcRegistryAlignment()`.
|
||||
|
||||
`buildGuildExportMeshFetchMixinsFromRegistry()` — builds all mesh fetch mixin methods from registry entries; `platformExportMeshFetchMixin` consolidated export.
|
||||
|
||||
## Export mesh registry root move + consolidated mesh fetch mixin (v0.8.867+, Phase 900)
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
# Release v0.8.868 — Phase 901
|
||||
|
||||
Non-breaking refactor: `gossip-rpc-export-mesh-registry-audit.js` and `gossip-rpc-export-mesh-registry-digest.js` split registry entries; `gossip-rpc-export-mesh-registry-lookup.js` adds list/lookup/snapshot helpers; `validateExportMeshFetchRegistryAlignment()` hooks into guild RPC registry validation; `buildGuildExportMeshFetchMixinsFromRegistry()` registry-drives consolidated mixin. Default gossip v1 unchanged; fleet v2 cutover still deferred.
|
||||
|
||||
- `gossip-rpc-export-mesh-registry-audit.js` — audit export archive mesh fetch registry entry
|
||||
- `gossip-rpc-export-mesh-registry-digest.js` — automation digest snapshot mesh fetch registry entry
|
||||
- `gossip-rpc-export-mesh-registry-lookup.js` — registry list/lookup/snapshot helpers
|
||||
- `gossip-rpc-export-mesh-registry-validate.js` — pull-config alignment validation
|
||||
- `buildGuildExportMeshFetchMixinsFromRegistry()` — registry-driven consolidated mixin builder
|
||||
- CI: `npm run test:ci-phase901` (live audit archive RPC)
|
||||
Reference in New Issue
Block a user