Phase 902: export mesh view snapshot + mixin pick helper + RPC import consolidation (v0.8.869)

Non-breaking refactor — pickGuildExportMeshFetchMixinMethods() eliminates duplicate
mixin builds; buildExportMeshFetchRegistryDiagnosticsSnapshot() surfaces export
mesh registry on platform RPC view; audit/digest RPC mixins import consolidated
platform-export-mesh-fetch-mixin directly. Default gossip v1 unchanged; fleet v2
cutover still deferred.

Verification: test:ci-phase902, pear run boot, pearcord.log scan.
This commit is contained in:
Raven Scott
2026-06-04 19:39:27 -04:00
parent bd72cce61f
commit a5e6dc7c92
7 changed files with 35 additions and 11 deletions
+2
View File
@@ -92,6 +92,8 @@ Application facade: one `PearcordPlatform` class that wires identity, database,
**Phase 822 (v0.8.789):** Triple-peer topology via `guild-mesh-topology` + `getMeshStabilityStats`. Bundle: `npm run test:ci-phase822`.
**Phase 902 (v0.8.869):** Export mesh view snapshot + mixin pick helper + RPC import consolidation. Bundle: `npm run test:ci-phase902`.
**Phase 901 (v0.8.868):** Export mesh registry entry split + lookup/alignment validation. Bundle: `npm run test:ci-phase901`.
**Phase 900 (v0.8.867):** Export mesh registry root move + consolidated mesh fetch mixin. Bundle: `npm run test:ci-phase900`.
+10
View File
@@ -59,9 +59,19 @@ function buildGuildExportMeshFetchMixinsFromRegistry (registry) {
return mixins
}
/** Pick one registry entry's methods from a consolidated mixin (Phase 902). */
function pickGuildExportMeshFetchMixinMethods (entry, mixin) {
return {
[entry.resolveWaiterMethod]: mixin[entry.resolveWaiterMethod],
[entry.fetchFromMeshMethod]: mixin[entry.fetchFromMeshMethod],
[entry.fetchOnceMethod]: mixin[entry.fetchOnceMethod]
}
}
module.exports = {
buildGuildExportMeshFetchMixin,
buildGuildExportMeshFetchMixinsFromRegistry,
pickGuildExportMeshFetchMixinMethods,
buildGuildExportMeshGossipRequestBase,
buildGuildExportMeshGossipWaitCallback
}
+9 -1
View File
@@ -33,9 +33,17 @@ function buildExportMeshFetchRegistrySnapshot () {
})
}
function buildExportMeshFetchRegistryDiagnosticsSnapshot () {
return {
exportMeshFetchRegistryKeys: listExportMeshFetchRegistryKeys(),
exportMeshFetchRegistrySnapshot: buildExportMeshFetchRegistrySnapshot()
}
}
module.exports = {
listExportMeshFetchRegistryKeys,
lookupExportMeshFetchRegistryEntry,
lookupExportMeshFetchRegistryEntryByPullConfig,
buildExportMeshFetchRegistrySnapshot
buildExportMeshFetchRegistrySnapshot,
buildExportMeshFetchRegistryDiagnosticsSnapshot
}
+3 -1
View File
@@ -22,11 +22,13 @@ function buildRpcWireViewSnapshot () {
function buildGuildGossipRpcDiagnosticsSnapshot () {
const { listGuildGossipRpcRequestMethodKeys } = require('./gossip-rpc-handler-map')
const { buildGuildGossipRpcRegistrySnapshot } = require('./gossip-rpc-registry')
const { buildExportMeshFetchRegistryDiagnosticsSnapshot } = require('./gossip-rpc-export-mesh-registry-lookup')
const methods = listGuildGossipRpcRequestMethodKeys()
return {
guildGossipRpcHandlerCount: methods.length,
guildGossipRpcRequestMethods: methods,
...buildGuildGossipRpcRegistrySnapshot()
...buildGuildGossipRpcRegistrySnapshot(),
...buildExportMeshFetchRegistryDiagnosticsSnapshot()
}
}
@@ -2,7 +2,7 @@
const { platformAuditArchiveRpcRespondersMixin } = require('./platform-audit-archive-rpc-responders-mixin')
const { platformTargetedExportRpcPullMixin } = require('./platform-targeted-export-rpc-pull-mixin')
const { platformAuditExportMeshFetchMixin } = require('./platform-audit-export-mesh-fetch-mixin')
const { platformAuditExportMeshFetchMixin } = require('./platform-export-mesh-fetch-mixin')
const platformAuditArchiveRpcMixin = {
...platformAuditArchiveRpcRespondersMixin,
@@ -4,7 +4,7 @@ const {
platformAutomationDigestSnapshotRpcRespondersMixin
} = require('./platform-automation-digest-snapshot-rpc-responders-mixin')
const { platformTargetedExportRpcPullMixin } = require('./platform-targeted-export-rpc-pull-mixin')
const { platformAutomationDigestMeshFetchMixin } = require('./platform-automation-digest-mesh-fetch-mixin')
const { platformAutomationDigestMeshFetchMixin } = require('./platform-export-mesh-fetch-mixin')
const platformAutomationDigestSnapshotRpcMixin = {
...platformAutomationDigestSnapshotRpcRespondersMixin,
@@ -1,18 +1,20 @@
'use strict'
const {
buildGuildExportMeshFetchMixin,
buildGuildExportMeshFetchMixinsFromRegistry
buildGuildExportMeshFetchMixinsFromRegistry,
pickGuildExportMeshFetchMixinMethods
} = require('../../../gossip-rpc-export-mesh-bind')
const { exportMeshFetchRegistry } = require('../../../gossip-rpc-export-mesh-registry')
/** Consolidated export mesh fetch mixins from registry entries (Phase 900901). */
/** Consolidated export mesh fetch mixins from registry entries (Phase 900902). */
const platformExportMeshFetchMixin = buildGuildExportMeshFetchMixinsFromRegistry(exportMeshFetchRegistry)
const platformAuditExportMeshFetchMixin = buildGuildExportMeshFetchMixin(
exportMeshFetchRegistry.auditExportArchive
const platformAuditExportMeshFetchMixin = pickGuildExportMeshFetchMixinMethods(
exportMeshFetchRegistry.auditExportArchive,
platformExportMeshFetchMixin
)
const platformAutomationDigestMeshFetchMixin = buildGuildExportMeshFetchMixin(
exportMeshFetchRegistry.automationDigestSnapshot
const platformAutomationDigestMeshFetchMixin = pickGuildExportMeshFetchMixinMethods(
exportMeshFetchRegistry.automationDigestSnapshot,
platformExportMeshFetchMixin
)
module.exports = {