Raven Scott
41798b3b58
Phase 899: export mesh fetch registry + bind helper extract (v0.8.866)
...
Non-breaking refactor — platform-export-mesh-fetch-registry.js and
buildGuildExportMeshFetchMixin() registry-bind audit/digest mesh fetch
mixins into thin config-driven wrappers. Default gossip v1 unchanged;
fleet v2 cutover still deferred.
Verification: test:ci-phase899, pear run boot, pearcord.log scan.
2026-06-04 19:29:27 -04:00
Raven Scott
686bd96fe7
Phase 898: export mesh barrel + attempt/waiter/gossip-wait-build extract (v0.8.865)
...
Non-breaking refactor — gossip-rpc-export-mesh.js barrel consolidates export
mesh helpers; attempt/waiter-resolve/gossip-wait-build modules dedupe
audit/digest mesh fetch mixins; pull barrel imports export mesh module only.
Default gossip v1 unchanged; fleet v2 cutover still deferred.
Verification: test:ci-phase898, pear run boot, pearcord.log scan.
2026-06-04 19:22:35 -04:00
Raven Scott
bbaa6a530e
Phase 897: export mesh fetch-once orchestrator extract (v0.8.864)
...
Non-breaking refactor — gossip-rpc-export-mesh-fetch-once.js extracts
fetchGuildExportMeshFromMesh() and fetchGuildExportMeshResourceOnce()
orchestrators; audit/digest mesh fetch mixins adopt shared entry and
once-path helpers. Default gossip v1 unchanged; fleet v2 cutover still
deferred.
Verification: test:ci-phase897, pear run boot, pearcord.log scan.
2026-06-04 19:18:29 -04:00
Raven Scott
c2b5f7cf2f
Phase 896: export mesh gossip-wait + permission helper extract (v0.8.863)
...
Non-breaking refactor — gossip-rpc-export-mesh-gossip-wait.js dedupes
gossip waiter/timeout orchestration; assertGuildExportMeshFetchPermission()
centralizes MANAGE_GUILD gate; audit/digest mesh fetch mixins adopt both
helpers. Default gossip v1 unchanged; fleet v2 cutover still deferred.
Verification: test:ci-phase896, pear run boot, pearcord.log scan.
2026-06-04 19:16:00 -04:00
Raven Scott
134dd522f9
Phase 895: export mesh fetch mixin extract to RPC mixins (v0.8.862)
...
Non-breaking refactor — platform-audit-export-mesh-fetch-mixin.js and
platform-automation-digest-mesh-fetch-mixin.js move mesh fetch orchestration
out of the 1800+ line audit/automation export mixin into dedicated RPC
mixins. Default gossip v1 unchanged; fleet v2 cutover still deferred.
Verification: test:ci-phase895, pear run boot, pearcord.log scan.
2026-06-04 19:12:19 -04:00
Raven Scott
14b89d9bbd
Phase 894: export mesh wait orchestrator + retry helper extract (v0.8.861)
...
Non-breaking refactor — gossip-rpc-mesh-wait-fallback.js and
gossip-rpc-export-mesh-retry.js dedupe audit/digest export mesh fetch
orchestration. fetchGuildGossipRpcThenMeshWait() chains RPC try with
gossip wait; runGuildExportMeshFetchWithRetry() centralizes retry/backoff.
Default gossip v1 unchanged; fleet v2 cutover still deferred.
Verification: test:ci-phase894, pear run boot, pearcord.log scan.
2026-06-04 19:09:11 -04:00
Raven Scott
e1257cb568
Phase 893: fanout prepare extract + await fallback adoption (v0.8.860)
...
Non-breaking refactor — gossip-rpc-fanout-prepare.js splits fanout prep from
orchestrator core; tryGuildGossipRpcFirstElse() and isSuccess on await fallback;
audit/digest export and search mesh adopt shared await helpers. test:ci-phase893
passes (46/50, cutover deferred).
2026-06-04 19:06:13 -04:00
Raven Scott
d12322ba87
Phase 892: RPC-first fallback helper + response validators split (v0.8.859)
...
Non-breaking refactor — scheduleGuildGossipRpcFirstWithFallback() dedupes RPC-first
fire-and-forget paths; gossip-rpc-response-validators.js splits isValid* predicates;
search/audit/export mixins migrate to centralized isGuildGossipRpcRequestEnabled gate.
test:ci-phase892 passes (46/50, cutover deferred).
2026-06-04 19:03:36 -04:00
Raven Scott
3eb69f5a1d
Phase 891: guild sync RPC fanout extract + sync responder access (v0.8.858)
...
Non-breaking refactor — isGuildGossipRpcRequestEnabled() centralizes opt-in RPC
gate; assertGuildSyncRpcResponderAccess() dedupes sync/member page responder checks;
platform-guild-sync-host-rpc-pull-mixin and platform-guild-sync-rpc-fanout-mixin
extracted from mesh RPC pull mixin. test:ci-phase891 passes (46/50, cutover deferred).
2026-06-04 19:01:03 -04:00
Raven Scott
3232f68421
Phase 890: registry split + delivery receipt responder helper (v0.8.857)
...
Non-breaking refactor — split gossip-rpc-registry into entries/lookup/validate
modules; buildGuildRpcTargetedDeliveryReceiptResponse() shared by audit/digest
responders; platform-search-rpc-pull-mixin for search mesh config pulls. test:ci-phase890
passes (46/50, cutover deferred).
2026-06-04 18:58:22 -04:00
Raven Scott
1569cd0d74
Phase 889: config orchestrator extract + targeted pull dedupe (v0.8.856)
...
Non-breaking refactor — split gossip-rpc-orchestrators into core + config modules;
buildTargetedGuildGossipRpcPullOptsFromRegistry() centralizes targeted pull opts;
platform-gossip-rpc-config-pull-mixin shared by host and export mixins. Targeted
pullByConfig drops redundant manual rpcMethod resolve. test:ci-phase889 passes
(46/50, cutover deferred).
2026-06-04 18:51:50 -04:00
Raven Scott
75447383bf
Phase 888: registry pull opts auto-resolve + host/search pull mixin extract (v0.8.855)
...
Non-breaking refactor — buildGuildGossipRpcPullOptsFromRegistry() resolves rpcMethod
from the gossip RPC registry for all pull paths; fetchMessageSearchGuildGossipRpcPullByConfig
for search mesh; platform-host-rpc-pull-mixin shared by mesh RPC mixin. Mesh sync/member
page and search mixins drop manual RPC id wiring. test:ci-phase888 passes (46/50, cutover deferred).
2026-06-04 18:49:39 -04:00
Raven Scott
de549d66a0
Phase 887: registry RPC method resolve + targeted export pull mixin (v0.8.854)
...
Non-breaking refactor: resolveGuildGossipRpcMethodId and
fetchTargetedGuildGossipRpcPullByConfig for audit/digest pulls without manual
rpcMethod; platform-targeted-export-rpc-pull-mixin shared pull helper;
validatePlatformGuildGossipRpcHandlers for handler manifest checks. Default
gossip v1 unchanged; fleet v2 cutover still deferred.
2026-06-04 18:43:51 -04:00
Raven Scott
0d77618210
Phase 886: registry-driven handler map + guild RPC bind extract (v0.8.853)
...
Non-breaking refactor: single registry source for method keys, handler methods,
pull configs, and pull kinds; registry-driven buildGuildGossipRpcHandlerMap;
bindGuildGossipRpcHandlers centralized in gossip-rpc-handler-bind.js with wire
bind mixin extract. Default gossip v1 unchanged; fleet v2 cutover still deferred.
2026-06-04 18:41:32 -04:00
Raven Scott
7a9fe34478
Phase 885: targeted RPC pull orchestrator + audit/digest responders extract (v0.8.852)
...
Non-breaking refactor: fetchTargetedGuildGossipRpcPullHit and
fetchGuildGossipRpcPullByConfig orchestrators; shared responder helpers in
gossip-rpc-responders.js; extract audit/digest RPC responders; registry-driven
pull dispatch for mesh/search paths. Default gossip v1 unchanged; fleet v2
cutover still deferred.
2026-06-04 18:34:55 -04:00
Raven Scott
f3a4e2a700
Phase 884: gossip RPC pull opts, payload builders, search responders extract (v0.8.851)
...
Non-breaking refactor: buildGuildGossipRpcPullOpts() for config+override assembly;
extend payload builders for host sync, member page, and message search pulls;
registry lookup helpers; extract message search RPC responders; unify all pull
mixins on shared opts builder. Default gossip v1 unchanged; fleet v2 cutover
still deferred.
2026-06-04 18:32:32 -04:00
Raven Scott
553d4e3ca5
Phase 883: gossip RPC registry, payload helper, sync responders extract (v0.8.850)
...
Non-breaking refactor: centralize handler-to-config registry alignment in
gossip-rpc-registry.js, shared targeted fetch payloads for audit/digest pulls,
and extract guild sync/member page RPC responders into a dedicated mixin.
Default gossip v1 unchanged; fleet v2 cutover still deferred.
2026-06-04 18:22:55 -04:00
Raven Scott
2758c73d6b
refactor(platform): Phase 882 gossip RPC pull config + mesh mixin (v0.8.849)
...
Non-breaking: centralize guild gossip RPC pull timeout env defaults in
gossip-rpc-pull-config.js; extract guild sync/member page RPC pull into
platform-mesh-rpc-pull-mixin.js spread by platform-mesh-view-mixin. Default
gossip v1 unchanged; fleet v2 cutover deferred.
Tests: test:ci-phase882 (boot gate, unit, view snapshot, method maps, live audit RPC).
Docs: PLATFORM_ROADMAP, PROTOMUX_RPC_MIGRATION, AUTOMATED_TESTING, release notes.
2026-06-04 18:19:47 -04:00
Raven Scott
eba01c1151
feat(platform): Phase 880 host-prefer RPC pull + search merge (v0.8.847)
...
Non-breaking refactor: fetchGuildGossipRpcFromHostHit for guild sync and
member page mesh pulls; fetchGuildGossipRpcPullMerged with
mergeGuildMessageSearchRpcHits for search; prepareGuildGossipRpcFanoutRequest
dedupes fanout prep shared by pick-first and merge paths. Default gossip v1
unchanged; fleet v2 cutover deferred.
Tests: test:ci-phase880 (boot gate, unit, view snapshot, method maps, live search RPC).
Docs: PLATFORM_ROADMAP, PROTOMUX_RPC_MIGRATION, AUTOMATED_TESTING, release notes.
2026-06-04 18:15:46 -04:00
Raven Scott
e3632f5adb
feat(platform): Phase 879 gossip RPC mesh pull orchestrator (v0.8.846)
...
Non-breaking refactor: fetchGuildGossipRpcPullHit centralizes audit archive
and digest snapshot RPC mesh pulls; buildPlatformRpcViewSnapshot merges wire
flags and handler diagnostics on platform view. Removed dead b4a import.
Default gossip v1 unchanged; fleet v2 cutover deferred.
Tests: test:ci-phase879 (boot gate, unit, view snapshot, method maps, live audit RPC).
Docs: PLATFORM_ROADMAP, PROTOMUX_RPC_MIGRATION, AUTOMATED_TESTING, release notes.
2026-06-04 18:12:31 -04:00
Raven Scott
9bba800893
feat(platform): Phase 878 gossip RPC pull helpers + view diagnostics (v0.8.845)
...
Non-breaking mesh hardening: pickFirstGuildRpcResponse with shared validation
predicates for audit/digest RPC pulls; buildGuildGossipRpcDiagnosticsSnapshot
on platform view; unify pull-path viaRpc via markRpcResponse across mesh view
and fetch helpers. Default gossip v1 unchanged; fleet v2 cutover deferred.
Tests: test:ci-phase878 (boot gate, unit, view snapshot, method maps, live digest RPC).
Docs: PLATFORM_ROADMAP, PROTOMUX_RPC_MIGRATION, AUTOMATED_TESTING, release notes.
2026-06-04 18:09:20 -04:00
Raven Scott
2910aefedb
feat(platform): Phase 877 RPC wire view snapshot + responder hardening (v0.8.844)
...
Non-breaking: expose protomux-rpc opt-in flags via buildRpcWireViewSnapshot()
on platform view; guild sync/member page RPC responders use markRpcResponse;
listGuildGossipRpcRequestMethodKeys() for diagnostics. Default gossip v1
unchanged; fleet v2 cutover remains deferred.
Tests: test:ci-phase877 (boot gate, unit, view snapshot, method maps, live digest RPC).
Docs: PLATFORM_ROADMAP, PROTOMUX_RPC_MIGRATION, AUTOMATED_TESTING, release notes.
2026-06-04 18:03:39 -04:00
Raven Scott
22e0b9904a
Phase 876: gossip RPC pull shared helpers + handler map (v0.8.843)
...
Extract gossip-rpc-pull.js and gossip-rpc-handler-map.js; deduplicate
meshPeerIdHex, peer resolution, wire prep, and multi-peer RPC fanout across
audit archive, digest snapshot, message search, and mesh view mixins.
Non-breaking refactor only — default gossip v1 unchanged. test:ci-phase876.
2026-06-04 18:00:29 -04:00
Raven Scott
8ef089af2d
Phase 875: protomux-rpc automation digest snapshot pull (v0.8.842)
...
Extract platform-automation-digest-snapshot-rpc-mixin for
AUTOMATION_DIGEST_EXPORT_SNAPSHOT_REQUEST RPC-first mesh fetch;
register guild RPC handler; harden digest fetch waiters (body required).
Smokes, CI bundle test:ci-phase875, docs, version 0.8.842.
2026-06-04 17:52:08 -04:00
Raven Scott
9083ee4121
Phase 874: protomux-rpc audit export archive pull (v0.8.841)
...
Extract platform-audit-archive-rpc-mixin for AUDIT_EXPORT_ARCHIVE_REQUEST
RPC-first path in fetchAuditExportArchiveFromMesh; register guild RPC handler.
Harden archive fetch waiters to require full entries (non-breaking fix).
Smokes, CI bundle test:ci-phase874, docs, version 0.8.841.
2026-06-04 17:45:27 -04:00
Raven Scott
b956ef4764
Phase 872: protomux-rpc MESSAGE_SEARCH_REQUEST multi-peer pull (v0.8.839)
...
Opt-in mesh search RPC to all connected peers with deduped merge and gossip
fanout fallback. Non-breaking; default event path unchanged.
2026-06-04 16:58:47 -04:00
Raven Scott
89639389d5
Phase 871: protomux-rpc MEMBER_PAGE_REQUEST pull (v0.8.838)
...
Opt-in member page RPC pull mirrors guild sync request wire: _buildMemberPagePayload,
_handleMemberPageRequestRpc, _tryMemberPageRequestRpc, RPC-first requestGuildMemberPage
with gossip fanout fallback. Non-breaking; default event path unchanged.
2026-06-04 16:52:55 -04:00
Raven Scott
727ef8c764
feat(rpc): Phase 869 guild sync request/response pull (v0.8.836)
...
Add opt-in protomux-rpc GUILD_SYNC_REQUEST pull when PEARCORD_RPC_WIRE=v2|dual
and PEARCORD_RPC_REQUEST_WIRE=1. Platform binds RPC responders on the mesh host,
joiner uses _tryGuildSyncRequestRpc with event-fanout fallback unchanged by default.
Includes mux-wire/gossip-request.js, live smoke, CI bundle test:ci-phase869, and
hardened dual-stack/v2 roundtrip smokes (bounded flush, longer timeouts). No
breaking change: default gossip event paths remain v1 unless env enables v2.
2026-06-04 16:38:45 -04:00
Raven Scott
6a63655f09
refactor(wire): Phase 868 mux-wire modularization (v0.8.835)
...
Split pearcord-drive/mux-wire into common/v1/v2/gossip modules with unchanged
barrel exports. Add dual-stack live smoke, view rpcWireVersion, and doc/CI
hardening. No behavior change; default PEARCORD_RPC_WIRE remains v1.
2026-06-04 16:12:23 -04:00
Raven Scott
669993aea9
feat(wire): Phase 867 protomux-rpc gossip migration (v0.8.834)
...
Add protomux-rpc v2 gossip plane with PEARCORD_RPC_WIRE gate (default v1,
non-breaking). Centralize RPC constants, method keys, and attachGossipWireSession
in pearcord-drive/mux-wire; migrate guild/contacts/discovery/settings meshes.
Dual-stack and v2 roundtrip smokes; test:ci-phase867 bundle. Cutover to v2
default deferred (P867-49/50).
2026-06-04 16:08:50 -04:00
Raven Scott and Cursor
ac5dcd4182
feat(mesh): guild-sync-ready channels on create/delete gossip (Phase 800)
...
Channel and channel-delete wire events emit structural channel slices for mesh peers.
Co-authored-by: Cursor <[email protected] >
2026-06-03 22:41:51 -04:00
Raven Scott and Cursor
11bbc0c8e3
feat(mesh): guild-sync-ready channelTopic on topic gossip (Phase 797)
...
GUILD_SYNC counts channel rows with topics so workers force structural topic pushes.
Co-authored-by: Cursor <[email protected] >
2026-06-03 22:32:29 -04:00
Raven Scott and Cursor
f90ea2fe20
feat(mesh): emit partition-heal-complete after heal sync (Phase 796)
...
Worker and UI can refresh presence rails when triple-mesh partition heal finishes.
Co-authored-by: Cursor <[email protected] >
2026-06-03 22:29:21 -04:00
Raven Scott and Cursor
37d7f297bd
feat(mesh): emit guild-mesh-topology on peer join (Phase 795)
...
Lightweight topology events fire when mesh peers connect so workers can
refresh P2P badges during 3-peer fanout without a full guild reload.
Co-authored-by: Cursor <[email protected] >
2026-06-03 22:25:37 -04:00
Raven Scott and Cursor
8d23288b41
feat(mesh): guild channel settings gossip sync-ready (Phase 794)
...
Apply slowmode on CHANNEL_SETTINGS gossip, count channelSettings in GUILD_SYNC
ingest/wire handlers, and emit guild-sync-ready for remote settings propagation.
Co-authored-by: Cursor <[email protected] >
2026-06-03 22:21:44 -04:00
Raven Scott and Cursor
0ac42af467
feat(mesh): guild soundboard GUILD_SYNC slice and gossip sync-ready (Phase 793)
...
Export and ingest guildSounds in full sync bundles, emit guild-sync-ready on
sound gossip (including tombstone deletes), and sanitize sound rows for wire.
Co-authored-by: Cursor <[email protected] >
2026-06-03 22:16:36 -04:00
Raven Scott and Cursor
675ee4ac52
Phase 792: pin gossip guild-sync-ready and GUILD_SYNC pins slice counts.
...
Track pinsApplied on sync ingest; emit pin after bundle pin rows apply.
Co-authored-by: Cursor <[email protected] >
2026-06-03 22:09:53 -04:00
Raven Scott and Cursor
7fb3be2adb
Phase 791: GUILD_SYNC guildStickers slice and guild-sync-ready stickers count.
...
Export/ingest custom sticker bundles; sticker gossip emits structural sync-ready.
Co-authored-by: Cursor <[email protected] >
2026-06-03 22:04:20 -04:00
Raven Scott and Cursor
bf16bd2e9a
Phase 790: GUILD_SYNC guildEmojis slice and guild-sync-ready emojis count.
...
Export/ingest custom emoji bundles; emoji gossip emits structural sync-ready.
Co-authored-by: Cursor <[email protected] >
2026-06-03 21:59:11 -04:00
Raven Scott and Cursor
2476fad34e
Phase 789: guild-sync-ready reactions slice on reaction gossip (v0.8.756)
...
Emit guild-sync-ready with reactions on REACTION_TOGGLE ingest and count
GUILD_SYNC reactions bundle in wire handler.
Co-authored-by: Cursor <[email protected] >
2026-06-03 21:51:40 -04:00
Raven Scott and Cursor
e0a6eaeab7
Phase 788: guild-mesh-reconnected on rejoin and peer-drop recovery (v0.8.755)
...
Emit after zero-peer mesh rejoin and when _recoverGuildMeshAfterPeerDrop
completes with active peers.
Co-authored-by: Cursor <[email protected] >
2026-06-03 21:46:15 -04:00
Raven Scott and Cursor
b17e7bdc74
Phase 787: guild-sync-ready roles slice on role gossip (v0.8.754)
...
Emit guild-sync-ready with roles on guild-role, guild-role-delete, and
guild-member-roles; count guildRoles/memberRoleLinks in GUILD_SYNC ingest.
Co-authored-by: Cursor <[email protected] >
2026-06-03 21:40:24 -04:00
Raven Scott and Cursor
7e4942f709
Phase 785: voiceOccupancy guild-sync ready and voice-state emit
...
Return voice applied count from ingest; wire guild-sync-ready includes
voice; detect voiceOccupancy-only sync slices.
Co-authored-by: Cursor <[email protected] >
2026-06-03 21:30:03 -04:00
Raven Scott and Cursor
d18971a689
Phase 784: guild-sync channel slice ready events and channel emit
...
Return channels count from ingest; emit channel after channel bundle
ingest; wire guild-sync-ready includes channels for structural UI push.
Co-authored-by: Cursor <[email protected] >
2026-06-03 21:25:48 -04:00
Raven Scott and Cursor
31cdce2c9d
Phase 783: clear sync push halt on guest mesh peer-join
...
Guests resume watermark delta sync after reconnect instead of staying
halted when ACK gate had paused host pushes.
Co-authored-by: Cursor <[email protected] >
2026-06-03 21:20:57 -04:00
Raven Scott and Cursor
f5f2f2987d
Phase 782: surface presence count on guild-sync ingest and ready events
...
Return presence applied from vector ingest; wire emits guild-sync-ready when
presenceVector-only bundles arrive so workers push peer status to UI.
Co-authored-by: Cursor <[email protected] >
2026-06-03 21:16:59 -04:00
Raven Scott and Cursor
bc663d29fc
feat(mesh): emit guild-sync-ready after MEMBER_PAGE ingest (v0.8.748)
...
Member-page completion notifies the worker for structural roster pushes.
Co-authored-by: Cursor <[email protected] >
2026-06-03 21:11:23 -04:00
Raven Scott and Cursor
2792be67c8
feat(mesh): peer retry on guild create and wire/outbox hardening (v0.8.747)
...
Schedule mesh peer retry when create finishes with no peers; gossip outbox and
wire mixin tweaks for join reliability during guild loading.
Co-authored-by: Cursor <[email protected] >
2026-06-03 21:04:38 -04:00
Raven Scott and Cursor
66160bbc53
Improve guild member roster sync and mesh recovery reliability.
...
Queue member join and sync-request gossip through the outbox, infer members from mesh peers and profiles, add host-initiated identify handshake, and harden partition heal plus mesh bounded clearing.
Co-authored-by: Cursor <[email protected] >
2026-06-03 20:28:00 -04:00
Raven Scott and Cursor
822cc91554
Restore compliance snapshot partition heal dropped in JSON export factory migration.
...
Co-authored-by: Cursor <[email protected] >
2026-06-03 19:00:58 -04:00