From b0c89015202d29999ea284d9116b72406e89299b Mon Sep 17 00:00:00 2001 From: Raven Scott Date: Thu, 4 Jun 2026 19:35:38 -0400 Subject: [PATCH] Phase 901: export mesh registry entry split + lookup/alignment validation (v0.8.868) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- AUTOMATED_TESTING.md | 2 + DOCUMENTATION_INDEX.md | 2 +- MODULES.md | 2 +- PLATFORM_ROADMAP.md | 65 ++++++++++++++++++++++++++++++- PROTOMUX_RPC_MIGRATION.md | 16 +++++++- release_notes/RELEASE_v0.8.868.md | 10 +++++ 6 files changed, 92 insertions(+), 5 deletions(-) create mode 100644 release_notes/RELEASE_v0.8.868.md diff --git a/AUTOMATED_TESTING.md b/AUTOMATED_TESTING.md index df76d82..da53744 100644 --- a/AUTOMATED_TESTING.md +++ b/AUTOMATED_TESTING.md @@ -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. diff --git a/DOCUMENTATION_INDEX.md b/DOCUMENTATION_INDEX.md index ab198fd..bedcb96 100644 --- a/DOCUMENTATION_INDEX.md +++ b/DOCUMENTATION_INDEX.md @@ -1,6 +1,6 @@ # Pearcord documentation index -All project documentation lives in **`pearcord-docs`** (`/Users/raven/dev/pearcord/docs/`). **Release:** v0.8.867 (Phase 900 — export mesh registry root move + consolidated mesh fetch mixin; Phase 899 — export mesh fetch registry + bind helper extract; Phase 898 — export mesh barrel + attempt/waiter/gossip-wait-build extract; Phase 897 — export mesh fetch-once orchestrator extract; Phase 896 — export mesh gossip-wait + permission helper extract; Phase 895 — export mesh fetch mixin extract to RPC mixins; Phase 894 — export mesh wait orchestrator + retry helper extract; Phase 893 — fanout prepare extract + await fallback adoption; Phase 892 — RPC-first fallback helper + response validators split + gate migration; Phase 891 — guild sync RPC fanout extract + sync responder access helper; Phase 890 — registry split + delivery receipt responder helper + search pull mixin; Phase 889 — config orchestrator extract + targeted pull dedupe + config pull mixin; Phase 888 — registry pull opts auto-resolve + host/search pull mixin extract; Phase 887 — registry RPC method resolve + targeted export pull mixin; Phase 886 — registry-driven handler map + guild RPC bind extract; Phase 885 — targeted RPC pull orchestrator + audit/digest responders extract; Phase 884 — gossip RPC pull opts + payload builders + search responders extract; Phase 883 — gossip RPC registry + payload helper + sync responders extract; Phase 882 — gossip RPC pull config + mesh RPC mixin extract; Phase 881 — gossip RPC pull module split; Phase 880 — host-prefer RPC pull + message search merge refactor; Phase 879 — gossip RPC mesh pull orchestrator + unified view snapshot; Phase 878 — gossip RPC pull response helpers + view diagnostics; Phase 877 — RPC wire view snapshot + responder hardening; Phase 876 — gossip RPC pull shared helpers + handler map cleanup; Phase 875 — protomux-rpc automation digest snapshot request/response pull; Phase 874 — protomux-rpc audit export archive request/response pull; Phase 873 — protomux-rpc device pair request/response pull; Phase 872 — protomux-rpc message search request/response pull; Phase 871 — protomux-rpc member page request/response pull; Phase 870 — media mesh protomux-rpc dual-stack; Phase 869 — protomux-rpc guild sync request/response pull; Phase 868 — mux-wire modularization + dual-stack gossip CI; Phase 867 — protomux-rpc wire migration; Phase 866 — guild multi-guild production matrix + offline recovery; Phase 865 — guild multi-guild production matrix + presence vector heal; Phase 864 — guild multi-guild production matrix + gossip outbox; Phase 863 — guild multi-guild production matrix + replication lag; Phase 862 — guild multi-guild scale + DM-during-heal composite; Phase 861 — guild multi-guild 4×quad churn matrix P654-24; Phase 860 — guild 4-peer ultimate roster scale heal + DM during heal; Phase 859 — guild 4-peer ultimate roster heal at 300+ scale; Phase 858 — guild 4-peer ultimate roster heal composite; Phase 857 — guild 4-peer resilience mega-soak + large roster composite; Phase 856 — guild 4-peer churn + large roster + partition heal composite; Phase 855 — guild 4-peer large roster + partition heal mesh fanout; Phase 854 — guild 4-peer resilience mega-soak reconnect/heal + expression; Phase 853 — guild 4-peer offline recovery + partition heal composite soak; Phase 852 — guild 4-peer recovery-burst + partition heal composite soak; Phase 851 — guild 4-peer churn-rejoin + partition heal composite soak; Phase 850 — guild 4-peer partition heal mesh fanout; Phase 849 — guild 4-peer composite expression & channel metadata mesh soak; Phase 848 — guild 4-peer channel create/delete lifecycle mesh fanout; Phase 847 — guild 4-peer soundboard mesh fanout; Phase 846 — guild 4-peer channel settings slowmode mesh fanout; Phase 845 — guild 4-peer channel topic & forum tag mesh fanout; Phase 844 — guild 4-peer custom sticker mesh fanout; Phase 843 — guild 4-peer custom emoji mesh fanout; Phase 842 — guild 4-peer offline recovery mesh fanout; Phase 841 — guild 4-peer sync health rail mesh fanout; Phase 840 — guild 4-peer sync pending & gossip outbox mesh fanout; Phase 839 — guild 4-peer member roster sync complete mesh fanout; Phase 838 — guild 4-peer pinned messages mesh fanout; Phase 837 — guild 4-peer member custom roles mesh fanout; Phase 836 — guild 4-peer message reactions mesh fanout; Phase 835 — guild 4-peer typing indicator mesh fanout; Phase 834 — guild 4-peer voice occupancy mesh fanout; Phase 833 — guild 4-peer channel unread mesh fanout; Phase 832 — guild 4-peer member roster mesh fanout; Phase 831 — guild 4-peer presence mesh fanout; Phase 830 — guild 4-peer composite recovery burst mesh soak; Phase 829 — guild 4-peer single-peer churn rejoin mesh recovery; Phase 828 — guild 4-peer sync burst mesh fanout; Phase 827 — guild 4-peer mesh message fanout; Phase 826 — guild 3-peer single-peer churn rejoin mesh recovery; Phase 825 — guild 3-peer composite recovery burst mesh soak; Phase 824 — guild 3-peer sync burst mesh fanout; Phase 823 — guild 3-peer sync push-halt clear mesh fanout; Phase 822 — guild 3-peer mesh topology & stability stats fanout; Phase 821 — guild 3-peer sync ACK watermark mesh fanout; Phase 820 — guild 3-peer member roster sync complete mesh fanout; Phase 819 — guild 3-peer sync pending & gossip outbox mesh fanout; Phase 818 — guild 3-peer sync health rail mesh fanout; Phase 817 — guild 3-peer offline recovery mesh fanout; Phase 816 — guild 3-peer partition heal mesh hardening; Phase 815 — guild 3-peer loading mesh sync; Phase 814 — guild 3-peer sync watermark & message delta fanout; Phase 813 — guild 3-peer member roster mesh fanout; Phase 812 — guild 3-peer presence mesh fanout; Phase 811 — guild 3-peer channel unread mesh fanout; Phase 810 — guild 3-peer voice occupancy mesh fanout; Phase 809 — guild 3-peer mesh reconnect & recovery; Phase 808 — guild 3-peer member custom roles mesh fanout; Phase 807 — guild 3-peer typing indicator mesh fanout; Phase 806 — guild 3-peer message reactions mesh fanout; Phase 805 — guild 3-peer pinned messages mesh fanout; Phase 804 — guild 3-peer soundboard mesh fanout; Phase 803 — guild 3-peer custom sticker mesh fanout; Phase 802 — guild 3-peer custom emoji mesh fanout; Phase 801 — guild 3-peer channel delete fanout; Phase 800 — guild mesh channel create/delete propagation; Phase 799 — guild 3-peer channel settings slowmode fanout; Phase 798 — guild 3-peer channel topic & forum tag fanout; Phase 797 — guild channel topic & forum tag mesh sync; Phase 796 — guild 3-peer partition heal & presence reconcile; Phase 795 — guild 3-peer mesh message fanout; Phase 794 — guild channel settings mesh sync; Phase 793 — guild soundboard mesh sync; Phase 792 — guild pinned messages mesh sync; Phase 791 — guild custom stickers mesh sync; Phase 790 — guild custom emoji mesh sync; Phase 789 — guild message reactions mesh sync; Phase 788 — guild mesh reconnect hardening; Phase 787 — guild member custom roles mesh sync; Phase 786 — guild typing mesh sync; Phase 785 — guild voice occupancy mesh sync; Phase 784 — guild channel unread mesh sync; Phase 783 — guild sync watermark & message delta; Phase 782 — guild presence mesh sync; Phase 781 — member roster mesh sync; Phase 780 guild loading mesh; Phases 766–779 settings/roles/permissions). **48h audit:** [DOC_AUDIT_2026-06.md](./DOC_AUDIT_2026-06.md). Platform mixin map: [PLATFORM_MIXINS.md](./PLATFORM_MIXINS.md). +All project documentation lives in **`pearcord-docs`** (`/Users/raven/dev/pearcord/docs/`). **Release:** v0.8.868 (Phase 901 — export mesh registry entry split + lookup/alignment validation; Phase 900 — export mesh registry root move + consolidated mesh fetch mixin; Phase 899 — export mesh fetch registry + bind helper extract; Phase 898 — export mesh barrel + attempt/waiter/gossip-wait-build extract; Phase 897 — export mesh fetch-once orchestrator extract; Phase 896 — export mesh gossip-wait + permission helper extract; Phase 895 — export mesh fetch mixin extract to RPC mixins; Phase 894 — export mesh wait orchestrator + retry helper extract; Phase 893 — fanout prepare extract + await fallback adoption; Phase 892 — RPC-first fallback helper + response validators split + gate migration; Phase 891 — guild sync RPC fanout extract + sync responder access helper; Phase 890 — registry split + delivery receipt responder helper + search pull mixin; Phase 889 — config orchestrator extract + targeted pull dedupe + config pull mixin; Phase 888 — registry pull opts auto-resolve + host/search pull mixin extract; Phase 887 — registry RPC method resolve + targeted export pull mixin; Phase 886 — registry-driven handler map + guild RPC bind extract; Phase 885 — targeted RPC pull orchestrator + audit/digest responders extract; Phase 884 — gossip RPC pull opts + payload builders + search responders extract; Phase 883 — gossip RPC registry + payload helper + sync responders extract; Phase 882 — gossip RPC pull config + mesh RPC mixin extract; Phase 881 — gossip RPC pull module split; Phase 880 — host-prefer RPC pull + message search merge refactor; Phase 879 — gossip RPC mesh pull orchestrator + unified view snapshot; Phase 878 — gossip RPC pull response helpers + view diagnostics; Phase 877 — RPC wire view snapshot + responder hardening; Phase 876 — gossip RPC pull shared helpers + handler map cleanup; Phase 875 — protomux-rpc automation digest snapshot request/response pull; Phase 874 — protomux-rpc audit export archive request/response pull; Phase 873 — protomux-rpc device pair request/response pull; Phase 872 — protomux-rpc message search request/response pull; Phase 871 — protomux-rpc member page request/response pull; Phase 870 — media mesh protomux-rpc dual-stack; Phase 869 — protomux-rpc guild sync request/response pull; Phase 868 — mux-wire modularization + dual-stack gossip CI; Phase 867 — protomux-rpc wire migration; Phase 866 — guild multi-guild production matrix + offline recovery; Phase 865 — guild multi-guild production matrix + presence vector heal; Phase 864 — guild multi-guild production matrix + gossip outbox; Phase 863 — guild multi-guild production matrix + replication lag; Phase 862 — guild multi-guild scale + DM-during-heal composite; Phase 861 — guild multi-guild 4×quad churn matrix P654-24; Phase 860 — guild 4-peer ultimate roster scale heal + DM during heal; Phase 859 — guild 4-peer ultimate roster heal at 300+ scale; Phase 858 — guild 4-peer ultimate roster heal composite; Phase 857 — guild 4-peer resilience mega-soak + large roster composite; Phase 856 — guild 4-peer churn + large roster + partition heal composite; Phase 855 — guild 4-peer large roster + partition heal mesh fanout; Phase 854 — guild 4-peer resilience mega-soak reconnect/heal + expression; Phase 853 — guild 4-peer offline recovery + partition heal composite soak; Phase 852 — guild 4-peer recovery-burst + partition heal composite soak; Phase 851 — guild 4-peer churn-rejoin + partition heal composite soak; Phase 850 — guild 4-peer partition heal mesh fanout; Phase 849 — guild 4-peer composite expression & channel metadata mesh soak; Phase 848 — guild 4-peer channel create/delete lifecycle mesh fanout; Phase 847 — guild 4-peer soundboard mesh fanout; Phase 846 — guild 4-peer channel settings slowmode mesh fanout; Phase 845 — guild 4-peer channel topic & forum tag mesh fanout; Phase 844 — guild 4-peer custom sticker mesh fanout; Phase 843 — guild 4-peer custom emoji mesh fanout; Phase 842 — guild 4-peer offline recovery mesh fanout; Phase 841 — guild 4-peer sync health rail mesh fanout; Phase 840 — guild 4-peer sync pending & gossip outbox mesh fanout; Phase 839 — guild 4-peer member roster sync complete mesh fanout; Phase 838 — guild 4-peer pinned messages mesh fanout; Phase 837 — guild 4-peer member custom roles mesh fanout; Phase 836 — guild 4-peer message reactions mesh fanout; Phase 835 — guild 4-peer typing indicator mesh fanout; Phase 834 — guild 4-peer voice occupancy mesh fanout; Phase 833 — guild 4-peer channel unread mesh fanout; Phase 832 — guild 4-peer member roster mesh fanout; Phase 831 — guild 4-peer presence mesh fanout; Phase 830 — guild 4-peer composite recovery burst mesh soak; Phase 829 — guild 4-peer single-peer churn rejoin mesh recovery; Phase 828 — guild 4-peer sync burst mesh fanout; Phase 827 — guild 4-peer mesh message fanout; Phase 826 — guild 3-peer single-peer churn rejoin mesh recovery; Phase 825 — guild 3-peer composite recovery burst mesh soak; Phase 824 — guild 3-peer sync burst mesh fanout; Phase 823 — guild 3-peer sync push-halt clear mesh fanout; Phase 822 — guild 3-peer mesh topology & stability stats fanout; Phase 821 — guild 3-peer sync ACK watermark mesh fanout; Phase 820 — guild 3-peer member roster sync complete mesh fanout; Phase 819 — guild 3-peer sync pending & gossip outbox mesh fanout; Phase 818 — guild 3-peer sync health rail mesh fanout; Phase 817 — guild 3-peer offline recovery mesh fanout; Phase 816 — guild 3-peer partition heal mesh hardening; Phase 815 — guild 3-peer loading mesh sync; Phase 814 — guild 3-peer sync watermark & message delta fanout; Phase 813 — guild 3-peer member roster mesh fanout; Phase 812 — guild 3-peer presence mesh fanout; Phase 811 — guild 3-peer channel unread mesh fanout; Phase 810 — guild 3-peer voice occupancy mesh fanout; Phase 809 — guild 3-peer mesh reconnect & recovery; Phase 808 — guild 3-peer member custom roles mesh fanout; Phase 807 — guild 3-peer typing indicator mesh fanout; Phase 806 — guild 3-peer message reactions mesh fanout; Phase 805 — guild 3-peer pinned messages mesh fanout; Phase 804 — guild 3-peer soundboard mesh fanout; Phase 803 — guild 3-peer custom sticker mesh fanout; Phase 802 — guild 3-peer custom emoji mesh fanout; Phase 801 — guild 3-peer channel delete fanout; Phase 800 — guild mesh channel create/delete propagation; Phase 799 — guild 3-peer channel settings slowmode fanout; Phase 798 — guild 3-peer channel topic & forum tag fanout; Phase 797 — guild channel topic & forum tag mesh sync; Phase 796 — guild 3-peer partition heal & presence reconcile; Phase 795 — guild 3-peer mesh message fanout; Phase 794 — guild channel settings mesh sync; Phase 793 — guild soundboard mesh sync; Phase 792 — guild pinned messages mesh sync; Phase 791 — guild custom stickers mesh sync; Phase 790 — guild custom emoji mesh sync; Phase 789 — guild message reactions mesh sync; Phase 788 — guild mesh reconnect hardening; Phase 787 — guild member custom roles mesh sync; Phase 786 — guild typing mesh sync; Phase 785 — guild voice occupancy mesh sync; Phase 784 — guild channel unread mesh sync; Phase 783 — guild sync watermark & message delta; Phase 782 — guild presence mesh sync; Phase 781 — member roster mesh sync; Phase 780 guild loading mesh; Phases 766–779 settings/roles/permissions). **48h audit:** [DOC_AUDIT_2026-06.md](./DOC_AUDIT_2026-06.md). Platform mixin map: [PLATFORM_MIXINS.md](./PLATFORM_MIXINS.md). | Start here | Document | |------------|----------| diff --git a/MODULES.md b/MODULES.md index 7bcc0ab..dde63bb 100644 --- a/MODULES.md +++ b/MODULES.md @@ -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 | |---------|------|--------|-------------|---------------| diff --git a/PLATFORM_ROADMAP.md b/PLATFORM_ROADMAP.md index 93140b2..7e3b1c9 100644 --- a/PLATFORM_ROADMAP.md +++ b/PLATFORM_ROADMAP.md @@ -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. diff --git a/PROTOMUX_RPC_MIGRATION.md b/PROTOMUX_RPC_MIGRATION.md index 89a998e..d43f56c 100644 --- a/PROTOMUX_RPC_MIGRATION.md +++ b/PROTOMUX_RPC_MIGRATION.md @@ -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) diff --git a/release_notes/RELEASE_v0.8.868.md b/release_notes/RELEASE_v0.8.868.md new file mode 100644 index 0000000..c401dd7 --- /dev/null +++ b/release_notes/RELEASE_v0.8.868.md @@ -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)