Commit Graph
63 Commits
Author SHA1 Message Date
Raven ScottandCursor 5c8d9c21fa refactor(platform): extract mesh replication diagnostics payload keys (Phase 960)
Non-breaking modularization: guild-mesh-replication-diagnostics-keys.js
centralizes export field registries, channel row builders, and diagnostics
snapshot assembly. Mesh replication export paths now delegate to builders with
identical external output.

Co-authored-by: Cursor <[email protected]>
2026-06-05 02:29:58 -04:00
Raven ScottandCursor c7dcda3318 refactor(platform): extract guild mesh peer quality snapshot (Phase 959)
Non-breaking modularization: guild-mesh-peer-quality-snapshot.js centralizes
ranked peer quality rows, 6 view field keys, and 12-peer cap. Mesh view mixin
delegates _meshPeerQualityForView to builder with identical output.

Co-authored-by: Cursor <[email protected]>
2026-06-05 02:25:24 -04:00
Raven ScottandCursor 8f64574cd4 refactor(platform): extract guild mesh bandwidth stats build (Phase 958)
Non-breaking modularization: guild-mesh-bandwidth-stats-build.js centralizes
bandwidth window snapshot, cap effective/total key pairs, and guild sync
diagnostics slice. getMeshStabilityStats and exportGuildSyncDiagnostics
delegate to builders with identical output.

Co-authored-by: Cursor <[email protected]>
2026-06-05 02:22:34 -04:00
Raven ScottandCursor d70925d4fc Phase 957: gossip outbox stats build extract (v0.8.924)
Add guild-mesh-gossip-outbox-stats-build with lane alert thresholds,
outbox stats resolve, and replication diagnostics gossip slice. Gossip
view and partition-heal mixins delegate without behavior change.

Co-authored-by: Cursor <[email protected]>
2026-06-04 23:13:43 -04:00
Raven ScottandCursor eb5f18fba5 Phase 956: guild mesh stability stats build extract (v0.8.923)
Add buildMeshStabilityStatsSnapshot with 29 canonical field keys and
guild-mesh-production-track-index for phases 956–980. getMeshStabilityStats
delegates to builder with identical output. Non-breaking refactor only.

Co-authored-by: Cursor <[email protected]>
2026-06-04 23:09:41 -04:00
Raven ScottandCursor 07dbc8a7ca refactor(platform): extract export mesh gossip RPC pull dispatch (Phase 944)
Add gossip-rpc-export-mesh-pull-dispatch with config-key guards and lazy
orchestrator require to avoid circular deps. Route targeted export pulls
through dispatch from platform-gossip-rpc-config-pull-mixin. Validate-pull-keys
asserts registry/gossip pull config alignment. No observable behavior change.

Co-authored-by: Cursor <[email protected]>
2026-06-04 22:40:10 -04:00
Raven ScottandCursor 081dd6f537 refactor(platform): split export mesh fetch mixin bootstrap (Phase 943)
Add gossip-rpc-export-mesh-mixin-bootstrap and platform-export-mesh-fetch-bootstrap
wiring registry shim to buildPlatformExportMeshFetchMixins. Thin platform-export-mesh-fetch-mixin
re-exports bootstrap. Barrel spreads mixin-bootstrap. No observable mixin method changes.

Co-authored-by: Cursor <[email protected]>
2026-06-04 22:33:08 -04:00
Raven Scott 40a0de8329 Phase 906: export mesh mixin builder extract + waiters lookup (v0.8.873)
Non-breaking refactor — gossip-rpc-export-mesh-mixin.js extracts all mixin
builder functions from bind module; gossip-rpc-export-mesh-bind.js reduced
to backward-compatible re-export barrel; listExportMeshFetchWaitersKeys()
and lookupExportMeshFetchRegistryEntryByWaitersKey() extend registry lookup;
exportMeshFetchWaitersKeys on platform RPC view. Default gossip v1 unchanged;
fleet v2 cutover still deferred.

Verification: test:ci-phase906, boot gate, pearcord.log scan.
2026-06-04 20:02:51 -04:00
Raven Scott 45a8c2a524 Phase 904: export mesh row helper extract + platform mixin builder (v0.8.871)
Non-breaking refactor — gossip-rpc-export-mesh-row-audit.js and
gossip-rpc-export-mesh-row-digest.js extract getLocalRow/tryRpc/ingestRpc
from registry entries; buildPlatformExportMeshFetchMixins() consolidates
platform mixin construction; platform-export-mesh-fetch-mixin.js reduced to
single builder call. Default gossip v1 unchanged; fleet v2 cutover still deferred.

Verification: test:ci-phase904, pear run boot, pearcord.log scan.
2026-06-04 19:52:36 -04:00
Raven Scott a5e6dc7c92 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.
2026-06-04 19:39:27 -04:00
Raven Scott bd72cce61f 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.
2026-06-04 19:35:40 -04:00
Raven Scott 3c53ffed9a Phase 900: export mesh registry root move + consolidated mesh fetch mixin (v0.8.867)
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.

Verification: test:ci-phase900, pear run boot, pearcord.log scan.
2026-06-04 19:32:15 -04:00
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 ScottandCursor 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 ScottandCursor 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 ScottandCursor 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 ScottandCursor 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 ScottandCursor 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 ScottandCursor 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 ScottandCursor 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 ScottandCursor 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