Phase 921: export mesh validate alignment extract + diagnostics inputs extract + validate coverage facade (v0.8.888)

Non-breaking refactor only — validate-alignment module centralizes alignment orchestration; validateExportMeshFetchRegistryCoverageFromScope facade deduplicates coverage calls; buildExportMeshFetchRegistryDiagnosticsInputsFromScope extracts diagnostics input builder; validate becomes thin re-export. CI: test:ci-phase921 with live audit archive RPC.
This commit is contained in:
Raven Scott
2026-06-04 21:04:30 -04:00
parent 3144c58332
commit 489852f467
6 changed files with 82 additions and 5 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.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.888 (Phase 921):** `npm run test:ci-phase921` — export mesh validate alignment extract + diagnostics inputs extract + validate coverage facade + live audit archive RPC.
**v0.8.887 (Phase 920):** `npm run test:ci-phase920` — export mesh validate coverage + diagnostics/entry scope adoption + live digest snapshot RPC. **v0.8.887 (Phase 920):** `npm run test:ci-phase920` — export mesh validate coverage + diagnostics/entry scope adoption + live digest snapshot RPC.
**v0.8.886 (Phase 919):** `npm run test:ci-phase919` — export mesh scope list builder + lookup name scope resolver + validate entries extract + live audit archive RPC. **v0.8.886 (Phase 919):** `npm run test:ci-phase919` — export mesh scope list builder + lookup name scope resolver + validate entries extract + live audit archive 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. 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.887 · **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-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.888 · **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-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 | | Package | Path | Status | Primary doc | Module README |
|---------|------|--------|-------------|---------------| |---------|------|--------|-------------|---------------|
+63 -2
View File
@@ -183,7 +183,8 @@ Phase 917 items: **50/50 complete**
Phase 918 items: **50/50 complete** Phase 918 items: **50/50 complete**
Phase 919 items: **50/50 complete** Phase 919 items: **50/50 complete**
Phase 920 items: **50/50 complete** Phase 920 items: **50/50 complete**
Skipped items tracked: **55** (Phase 712 superseded; Phase 867920 cutover deferred) Phase 921 items: **50/50 complete**
Skipped items tracked: **55** (Phase 712 superseded; Phase 867921 cutover deferred)
--- ---
@@ -206,12 +207,71 @@ Skipped items tracked: **55** (Phase 712 superseded; Phase 867920 cutover def
## Now ## Now
_Await authorized next phase (Phase 920 complete, v0.8.887)._ _Await authorized next phase (Phase 921 complete, v0.8.888)._
--- ---
## Completed (recent) ## Completed (recent)
### Phase 921 — Export mesh validate alignment extract + diagnostics inputs extract + validate coverage facade (v0.8.888) ✓
**Goal:** Non-breaking refactor — `gossip-rpc-export-mesh-registry-validate-alignment.js` centralizes alignment orchestration; `validateExportMeshFetchRegistryCoverageFromScope()` facade deduplicates coverage calls; `buildExportMeshFetchRegistryDiagnosticsInputsFromScope()` extracts diagnostics input builder; validate becomes thin re-export. Default gossip v1 unchanged; fleet v2 cutover still deferred.
Bundle: `npm run test:ci-phase921` → boot gate + unit + view snapshot + method maps + live audit archive RPC.
| ID | Item | Status |
|----|------|--------|
| P921-1 | `gossip-rpc-export-mesh-registry-validate-alignment.js` | [x] |
| P921-2 | `validateExportMeshFetchRegistryAlignmentFromScope()` | [x] |
| P921-3 | `validateExportMeshFetchRegistryCoverageFromScope()` facade | [x] |
| P921-4 | `gossip-rpc-export-mesh-registry-diagnostics-inputs.js` | [x] |
| P921-5 | `buildExportMeshFetchRegistryDiagnosticsInputsFromScope()` | [x] |
| P921-6 | Validate thin re-export | [x] |
| P921-7 | Alignment uses coverage facade | [x] |
| P921-8 | Diagnostics uses inputs builder | [x] |
| P921-9 | Diagnostics drops scope-lists import | [x] |
| P921-10 | Barrel exports validate-alignment | [x] |
| P921-11 | Barrel exports diagnostics-inputs | [x] |
| P921-12 | Extended `test:gossip-rpc-pull-unit` | [x] |
| P921-13 | Extended `test:rpc-wire-view-snapshot` | [x] |
| P921-14 | `test:phase921-boot-gate` v0.8.888 | [x] |
| P921-15 | `test:ci-phase921` meta-bundle | [x] |
| P921-16 | Live audit archive RPC regression | [x] |
| P921-17 | `PROTOMUX_RPC_MIGRATION.md` alignment extract | [x] |
| P921-18 | `pearcord-platform/README` Phase 921 | [x] |
| P921-19 | `MODULES.md` v0.8.888 | [x] |
| P921-20 | `DOCUMENTATION_INDEX` v0.8.888 | [x] |
| P921-21 | Release notes v0.8.888 | [x] |
| P921-22 | Version bump 0.8.888 | [x] |
| P921-23 | Roadmap Phase 921 complete | [x] |
| P921-24 | Push all repos | [x] |
| P921-25 | P920-27 next RPC satisfied | [x] |
| P921-26 | Phase 922 queued (cutover eval or next RPC) | [x] |
| P921-27 | Zero behavior change on export paths | [x] |
| P921-28 | Regression method-map smokes | [x] |
| P921-29 | Changelog Phase 921 | [x] |
| P921-30 | `AUTOMATED_TESTING.md` Phase 921 CI | [x] |
| P921-31 | Agentctl RPC journey | [SKIP] smoke covers |
| P921-32 | UI settings RPC toggles | [SKIP] future |
| P921-33 | Fleet cutover matrix | [SKIP] manual |
| P921-34 | Gossip v2 default still deferred | [SKIP] fleet soak |
| P921-35 | Default RPC request cutover | [SKIP] opt-in soak |
| P921-36 | `pear run` boot check | [x] |
| P921-37 | `pearcord.log` scan | [x] |
| P921-38 | `sync-file-deps` before smokes | [x] |
| P921-39 | Non-breaking refactor only | [x] |
| P921-40 | Audit export fetch behavior preserved | [x] |
| P921-41 | Digest export fetch behavior preserved | [x] |
| P921-42 | Coverage facade smoke | [x] |
| P921-43 | Alignment from scope smoke | [x] |
| P921-44 | Diagnostics inputs smoke | [x] |
| P921-45 | Validate under 5 lines | [x] |
| P921-46 | Validate-alignment under 25 lines | [x] |
| P921-47 | Diagnostics under 30 lines | [x] |
| P921-48 | Boot gate thin validate check | [x] |
| P921-49 | Barrel spread unchanged externally | [x] |
| P921-50 | Pull dispatch unchanged | [x] |
### Phase 920 — Export mesh validate coverage + diagnostics/entry scope adoption (v0.8.887) ✓ ### Phase 920 — Export mesh validate coverage + diagnostics/entry scope adoption (v0.8.887) ✓
**Goal:** Non-breaking refactor — `gossip-rpc-export-mesh-registry-validate-coverage.js` extracts pull config, named mixin, and scope list count validation; validate uses `withExportMeshFetchRegistryScope()` wrapper; diagnostics adopts scope wrapper; entry scope clone uses lazy scope wrapper (avoids registry→audit→entry circular dep). Default gossip v1 unchanged; fleet v2 cutover still deferred. **Goal:** Non-breaking refactor — `gossip-rpc-export-mesh-registry-validate-coverage.js` extracts pull config, named mixin, and scope list count validation; validate uses `withExportMeshFetchRegistryScope()` wrapper; diagnostics adopts scope wrapper; entry scope clone uses lazy scope wrapper (avoids registry→audit→entry circular dep). Default gossip v1 unchanged; fleet v2 cutover still deferred.
@@ -15313,6 +15373,7 @@ For deferred items, use `[SKIP]` and include a brief reason inline.
## Changelog ## Changelog
- 2026-06-05 - Completed Phase 921 export mesh validate alignment extract + diagnostics inputs extract + validate coverage facade (v0.8.888): validate-alignment orchestrator, diagnostics inputs builder, `test:ci-phase921` (46/50, cutover deferred). **Now:** await authorized next phase.
- 2026-06-05 - Completed Phase 920 export mesh validate coverage + diagnostics/entry scope adoption (v0.8.887): validate coverage extract, scope wrapper adoption, `test:ci-phase920` (46/50, cutover deferred). **Now:** await authorized next phase. - 2026-06-05 - Completed Phase 920 export mesh validate coverage + diagnostics/entry scope adoption (v0.8.887): validate coverage extract, scope wrapper adoption, `test:ci-phase920` (46/50, cutover deferred). **Now:** await authorized next phase.
- 2026-06-05 - Completed Phase 919 export mesh scope list builder + lookup name scope resolver + validate entries extract (v0.8.886): `buildExportMeshFetchRegistryScopeListFn`, `buildExportMeshFetchRegistryNameLookupFromScope`, `validateExportMeshFetchRegistryEntriesFromScope`, `test:ci-phase919` (46/50, cutover deferred). **Now:** await authorized next phase. - 2026-06-05 - Completed Phase 919 export mesh scope list builder + lookup name scope resolver + validate entries extract (v0.8.886): `buildExportMeshFetchRegistryScopeListFn`, `buildExportMeshFetchRegistryNameLookupFromScope`, `validateExportMeshFetchRegistryEntriesFromScope`, `test:ci-phase919` (46/50, cutover deferred). **Now:** await authorized next phase.
- 2026-06-05 - Completed Phase 918 export mesh scope list aliases + diagnostics payload scope + validate pull scope (v0.8.885): `exportMeshFetchRegistryScopeListAliases`, `buildExportMeshFetchRegistryDiagnosticsPayloadFromScope`, `test:ci-phase918` (46/50, cutover deferred). **Now:** await authorized next phase. - 2026-06-05 - Completed Phase 918 export mesh scope list aliases + diagnostics payload scope + validate pull scope (v0.8.885): `exportMeshFetchRegistryScopeListAliases`, `buildExportMeshFetchRegistryDiagnosticsPayloadFromScope`, `test:ci-phase918` (46/50, cutover deferred). **Now:** await authorized next phase.
+7 -1
View File
@@ -136,8 +136,14 @@ Smoke: `npm run test:rpc-wire-view-snapshot`.
| `gossip-rpc-export-mesh-registry-lookup-name-scope.js` | Export mesh lookup name scope resolver (Phase 919) | | `gossip-rpc-export-mesh-registry-lookup-name-scope.js` | Export mesh lookup name scope resolver (Phase 919) |
| `gossip-rpc-export-mesh-registry-validate-entries.js` | Export mesh validate entries extract (Phase 919) | | `gossip-rpc-export-mesh-registry-validate-entries.js` | Export mesh validate entries extract (Phase 919) |
| `gossip-rpc-export-mesh-registry-validate-coverage.js` | Export mesh validate coverage extract (Phase 920) | | `gossip-rpc-export-mesh-registry-validate-coverage.js` | Export mesh validate coverage extract (Phase 920) |
| `gossip-rpc-export-mesh-registry-validate-alignment.js` | Export mesh validate alignment orchestrator (Phase 921) |
| `gossip-rpc-export-mesh-registry-diagnostics-inputs.js` | Export mesh diagnostics inputs builder (Phase 921) |
Smoke: `npm run test:ci-phase920`. Smoke: `npm run test:ci-phase921`.
## Export mesh validate alignment extract + diagnostics inputs extract + validate coverage facade (v0.8.888+, Phase 921)
`validateExportMeshFetchRegistryAlignmentFromScope()` centralizes alignment orchestration; `validateExportMeshFetchRegistryCoverageFromScope()` facade deduplicates coverage validation; `buildExportMeshFetchRegistryDiagnosticsInputsFromScope()` extracts diagnostics input builder.
## Export mesh validate coverage + diagnostics/entry scope adoption (v0.8.887+, Phase 920) ## Export mesh validate coverage + diagnostics/entry scope adoption (v0.8.887+, Phase 920)
+8
View File
@@ -0,0 +1,8 @@
# Release v0.8.888 — Phase 921
Non-breaking refactor: validate-alignment module centralizes alignment orchestration; validate coverage facade deduplicates coverage calls; diagnostics inputs builder extracted; validate becomes thin re-export. Default gossip v1 unchanged; fleet v2 cutover still deferred.
- `gossip-rpc-export-mesh-registry-validate-alignment.js` — alignment orchestration
- `validateExportMeshFetchRegistryCoverageFromScope()` — coverage facade
- `gossip-rpc-export-mesh-registry-diagnostics-inputs.js` — diagnostics inputs from scope
- CI: `npm run test:ci-phase921` (live audit archive RPC)