Commit Graph
639 Commits
Author SHA1 Message Date
Raven ScottandCursor 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 ScottandCursor 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 ScottandCursor 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 ScottandCursor 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 ScottandCursor 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
Raven ScottandCursor 53044f0be3 Gate guild boost APIs and view data behind boostsEnabled server setting.
Co-authored-by: Cursor <[email protected]>
2026-06-03 18:52:13 -04:00
Raven ScottandCursor ddcdc33363 docs: link mixin README to PLATFORM_MIXINS and prestage workflow
Clarify category folders, regenerate npm script, and OTA prestage docs.

Co-authored-by: Cursor <[email protected]>
2026-06-03 17:45:18 -04:00
Raven ScottandCursor a5dba86570 refactor(platform): organize mixins into category directories
Move 136 prototype mixins under mixins/domain, json-export, and
runtime/* so the package root stays navigable. Manifest assign order
is unchanged; apply-platform-mixins and runtime registry paths updated.

Co-authored-by: Cursor <[email protected]>
2026-06-03 17:42:26 -04:00
Raven Scott 08bdbf4d17 Update Docs 2026-06-03 17:33:33 -04:00
Raven ScottandCursor de7dfb3b1d feat(permissions): effective inspector polish and cross-links (v0.8.746)
Phase 779 adds copy effective-permissions deep links with optional memberId,
live breakdown refresh while the inspector is open, and a cross-link to
channel permissions for the focused role. Closes deferred P778-42.

Co-authored-by: Cursor <[email protected]>
2026-06-03 16:03:16 -04:00
Raven ScottandCursor cdf6a1178a feat(platform): effective permissions deep link role focus (Phase 778)
navigateDeepLink returns openEffectivePermissions and
effectivePermFocusRoleId from guild-channel query params.

Co-authored-by: Cursor <[email protected]>
2026-06-03 15:58:55 -04:00
Raven ScottandCursor 3da679e2cf feat(platform): return channelPermFocusRoleId from channel permissions deep links
navigateDeepLink guild-channel results now include the roleId query param
for UI modal focus (Phase 777).

Co-authored-by: Cursor <[email protected]>
2026-06-03 15:49:44 -04:00
Raven ScottandCursor 192ec0fd5e Document Phase 776 role editor CI closure in platform README.
Notes editor track completion and partition heal verification for custom
roles in the Phase 776 release bundle.

Co-authored-by: Cursor <[email protected]>
2026-06-03 15:36:25 -04:00
Raven ScottandCursor d0119b9442 Annotate role span taxonomy for Phase 775 editor track.
Documents role.create/update/delete/reorder/member spans and tags create
paths with editorTrack role.editor.create for editor-origin telemetry.

Co-authored-by: Cursor <[email protected]>
2026-06-03 15:24:12 -04:00
Raven ScottandCursor bfc5eb4508 feat(deep-links): pass roleId and roleTab through settings navigateDeepLink
Surface settings deep-link role selection fields in deep-link-result for
the role editor Permissions tab (Phase 772).

Co-authored-by: Cursor <[email protected]>
2026-06-03 14:52:24 -04:00
Raven ScottandCursor 30965efaf7 feat(platform): pass hoist/mentionable on createGuildCustomRole (Phase 771)
Role create IPC now forwards display flags to guild-roles storage.

Co-authored-by: Cursor <[email protected]>
2026-06-03 14:33:43 -04:00
Raven ScottandCursor d1caedef8b feat(platform): view.roleEditor and roleEditorPrefs slice (Phase 769)
Expose role editor selection state on the guild settings view snapshot.

Co-authored-by: Cursor <[email protected]>
2026-06-03 14:20:01 -04:00
Raven ScottandCursor 438ef65cc4 feat(platform): debounce user pref sliders and guild name updates (Phase 768)
Coalesce fontScale/voiceAttenuation patches in updateUserPrefs and debounce
name-only updateGuildSettings calls to reduce mesh churn during settings edits.

Co-authored-by: Cursor <[email protected]>
2026-06-03 14:00:25 -04:00
Raven ScottandCursor 06c8d9b7c7 Expose settingsHub on platform view and extend settings deep links.
Platform view now includes settingsHub metadata from the shared taxonomy.
formatSettingsDeepLink forwards guildId and category for Phase 766 copy-link
and navigation parity.

Co-authored-by: Cursor <[email protected]>
2026-06-03 13:24:05 -04:00
Raven ScottandCursor 6d6d8bca00 refactor(platform): one-pass class decomposition into 25 mixins (Phase 756)
Move ~30k lines from platform-pearcord-platform-class.js into dedicated
platform-* mixins including view(), guild wire/sync, JSON export surface,
and domain APIs. Manifest grows to 136 rows with 76 runtime mixins; class
spine retains constructor, session lifecycle, openGuild, and close (~938 lines).

Co-authored-by: Cursor <[email protected]>
2026-06-03 13:11:56 -04:00
Raven ScottandCursor f455de2bfa fix(platform): static mixin requires for Pear bundler compatibility
Replace dynamic require() loop in apply-platform-mixins with generated
static requires (ORDERED_PLATFORM_MIXINS). Pear runtime resolves dynamic
paths to .bare addons with unsupported pear: protocol; static requires
fix pear run and staged release boot. Regenerate via
apps/pearcord/scripts/regenerate-apply-platform-mixins.py when manifest changes.

Co-authored-by: Cursor <[email protected]>
2026-06-03 12:24:28 -04:00
Raven ScottandCursor e1c3f27641 refactor(platform): Phase 755 embed/voicenote/attachment heal mixins (v0.8.731)
Extract stale embed cache heal, failed voicenote draft retry, and orphaned
attachment relink into three prototype mixins (manifest 111 rows, runtime registry
51). Non-breaking: identical partition extended heal embed/voice/attachment paths;
platform class ~31205 lines (~96 net drop).

Co-authored-by: Cursor <[email protected]>
2026-06-03 12:06:26 -04:00
Raven ScottandCursor f3e2583dde refactor(platform): Phase 754 forum filter & partition heal mixins (v0.8.730)
Extract setForumIncludeArchived, partition reaction/sticker relist heal, and
member/voice/thread metadata partition heal into three prototype mixins (manifest
108 rows, runtime registry 48). Non-breaking: identical forum filter behavior,
reaction cache invalidation, sticker gossip upsert, and roster/thread heal paths;
platform class ~31300 lines (~125 net drop).

Co-authored-by: Cursor <[email protected]>
2026-06-03 12:02:30 -04:00
Raven ScottandCursor 15b0b4600e refactor(platform): Phase 753 pin/discovery/partition heal mixins (v0.8.729)
Extract orphan pin row repair, unread consistency audit, discovery tag mesh
publish, and partition pin/search index heal into four prototype mixins
(manifest 105 rows, runtime registry 45). Non-breaking: identical pin repair,
unread audit logging, discovery tag updates, and partition heal gossip/index
behavior; platform class ~31424 lines (~141 net drop).

Co-authored-by: Cursor <[email protected]>
2026-06-03 11:58:41 -04:00
Raven ScottandCursor 5d242d5da9 refactor(platform): Phase 752 forum search & view consistency mixins (v0.8.728)
Extract forum post local/mesh search, partition forum index heal, and channel
view pin/reaction consistency audit into three prototype mixins (manifest 101
rows, runtime registry 41). Non-breaking: identical forum search, partition heal,
and view consistency audit behavior; platform class ~31564 lines (~311 net drop).

Co-authored-by: Cursor <[email protected]>
2026-06-03 11:54:22 -04:00
Raven ScottandCursor 713658b6bc refactor(platform): Phase 751 guild search query & mesh resolve mixins (v0.8.727)
Extract searchGuildMessages, getGuildSearchIndexMeta, _applySearchQueryFilters,
and searchGuildMessagesWithMesh into three prototype mixins (manifest 98 rows,
runtime registry 38). Non-breaking: identical local/mesh search, structured filter
matching, and index meta reporting; platform class ~31874 lines (~127 net drop).

Co-authored-by: Cursor <[email protected]>
2026-06-03 11:50:29 -04:00
Raven ScottandCursor 02a879fed3 refactor(platform): Phase 750 search index & discovery mesh mixins (v0.8.726)
Extract guild search index store/persist/rebuild, mesh search gossip handlers,
and discovery listing refresh after mesh actions into four prototype mixins
(manifest 95 rows, runtime registry 35). Non-breaking: identical search index
persistence, mesh waiter behavior, and federation-scoped discovery refresh;
platform class ~32001 lines (~152 net reduction).

Co-authored-by: Cursor <[email protected]>
2026-06-03 11:45:30 -04:00
Raven ScottandCursor 315318a90b refactor(platform): Phase 749 view/search/discovery cache mixins (v0.8.725)
Extract view list cache, guild search cache, and discovery prefs baseline
helpers into three prototype mixins (manifest 91 rows, runtime registry 31).
Non-breaking: identical cache invalidation, composer focus TTL, and prefs
ingest behavior; platform class ~32154 lines (~91 net reduction).

Co-authored-by: Cursor <[email protected]>
2026-06-03 11:39:19 -04:00
Raven ScottandCursor f7aeb84704 Phase 748: extract thread/forum export and schedule mixins
Non-breaking refactor: move thread archive and forum tag palette export,
discovery listing push/revoke scheduling and listing delta hints, member page
debounce scheduling, guild sync attachment pull scheduling, and reaction
tombstone key helper out of platform-pearcord-platform-class.js. Manifest
rows 85→88; runtime registry 25→28. Sync and discovery scheduling unchanged.

Co-authored-by: Cursor <[email protected]>
2026-06-03 11:35:18 -04:00
Raven ScottandCursor 7d81dcf305 Phase 747: extract sparse QoS, contacts presence, voice mesh mixins
Non-breaking refactor: move channel core key filtering, sparse ack defer
policy, guild sync ack gossip, debounced contacts presence reconcile, and
voice speaking/mute mesh state helpers out of platform-pearcord-platform-class.js.
Manifest rows 82→85; runtime registry 22→25. Sparse sync, presence, and voice
mesh behavior unchanged.

Co-authored-by: Cursor <[email protected]>
2026-06-03 11:31:10 -04:00
Raven ScottandCursor 6d7f3b8a4e Phase 746: extract presence vector, settings mesh health, wire/sparse mixins
Non-breaking refactor: move presence vector export/reconcile/bump, settings
mesh health gossip schedule/broadcast/ingest and packet routing, guild sync
bundle wire sanitization, sparse open rate limiting, and presence vector mesh
broadcast out of platform-pearcord-platform-class.js. Manifest rows 79→82;
runtime registry 19→22. Presence and settings mesh behavior unchanged.

Co-authored-by: Cursor <[email protected]>
2026-06-03 11:27:17 -04:00
Raven ScottandCursor c05223413c Phase 745: extract sync health patch, gossip view, push schedule mixins
Non-breaking refactor: move _patchGuildSyncHealth and health count refresh,
gossip lane alert thresholds, sparse ack view rows, compact health slice,
discovery listing expiry view, and guild sync push/request burst schedulers
out of platform-pearcord-platform-class.js. Manifest rows 76→79; runtime
registry 16→19. Sync health and mesh scheduling behavior unchanged.

Co-authored-by: Cursor <[email protected]>
2026-06-03 11:23:08 -04:00
Raven ScottandCursor 88a1624a2c Phase 744: extract guild sync watermark, gossip, bandwidth mixins
Non-breaking refactor: move sync watermark/ack/tail helpers, gossip outbox
queue and flush, and bandwidth/member-page slice helpers out of
platform-pearcord-platform-class.js. Manifest rows 73→76; runtime registry
13→16. Mesh sync behavior and observability unchanged.

Co-authored-by: Cursor <[email protected]>
2026-06-03 11:18:51 -04:00
Raven ScottandCursor 870cb61b46 Phase 743: extract mesh view, logging, and member burst mixins
Non-breaking refactor: move sync fanout watermarks, mesh peer quality and
status summary, mesh span logging (partition heal, topic pool, churn,
resilience, federation live), topic pool peer tracking, and member page
burst limit helpers out of platform-pearcord-platform-class.js. Manifest
rows 70→73; runtime registry 10→13. Behavior and observability unchanged.

Co-authored-by: Cursor <[email protected]>
2026-06-03 11:14:10 -04:00
Raven ScottandCursor 6fe8bda25b Phase 742: extract topic replication, mesh auto-heal, peer retry mixins
Non-breaking refactor: move _refreshGuildTopicPoolCap,
_recordChannelReplicationDiag, _channelReplicationDiagnosticsForExport,
_touchMeshZeroPeerSince, _maybeTriggerMeshAutoHeal, _startMeshAutoHealWatchdog,
_clearGuildMeshPeerRetry, and _scheduleGuildMeshPeerRetry from
platform-pearcord-platform-class.js into dedicated runtime mixins. Manifest
rows 67→70; runtime registry 7→10. Observable mesh and replication behavior
unchanged.

Co-authored-by: Cursor <[email protected]>
2026-06-03 11:08:38 -04:00
Raven ScottandCursor e1aa68456c refactor(platform): extract guild mesh peer mixin (Phase 741)
Move peer seen tracking, stale peer eviction, sweep timers, and adaptive
mesh retry delay into platform-guild-mesh-peer-mixin.js (67 manifest rows;
runtime registry 7 modules). Class ~33607 lines. No behavior change.

Co-authored-by: Cursor <[email protected]>
2026-06-03 11:02:43 -04:00
Raven ScottandCursor 8e53355fd5 refactor(platform): mesh bounded and federation view mixins (Phase 740)
Extract _isGuildMeshBounded/_setGuildMeshBounded and federation/multi-guild
view helpers (_guildSyncHealthRailForView, _federationSyncAggregateForView,
_logMultiGuildMesh, etc.) to dedicated runtime mixins. Manifest 66 rows;
runtime registry 6 modules. Class ~33864 lines. No behavior change.

Co-authored-by: Cursor <[email protected]>
2026-06-03 10:58:16 -04:00
Raven ScottandCursor 7a573ae2e2 refactor(platform): guild open and partition heal mixins (Phase 739)
Extract guild open fallback throttle and partition heal state helpers to
platform-guild-open-fallback-mixin and platform-partition-heal-state-mixin
(64 manifest rows). Add platform-runtime-mixin-registry. Class ~34044 lines.
No behavior change.

Co-authored-by: Cursor <[email protected]>
2026-06-03 10:53:35 -04:00
Raven ScottandCursor 3c348f4fcc refactor(platform): runtime mixins and export manifest (Phase 738)
Extract _hyperswarmOpts/_newHyperswarm and _startupStepTimeout to
platform-hyperswarm-runtime-mixin and platform-session-startup-mixin
(62 manifest rows). Add platform-class-imports and
platform-index-export-manifest; registries derive counts from manifest.
No behavior change.

Co-authored-by: Cursor <[email protected]>
2026-06-03 10:49:34 -04:00
Raven ScottandCursor deba5f15bb refactor(platform): extract PearcordPlatform class module (Phase 737)
Move PearcordPlatform to platform-pearcord-platform-class.js; add
platform-index-bindings.js to unpack preamble exports (including
id/now/guildTopic). index.js is now a thin finalize entry (7 lines).
Registries for bindings, class, and entry line limits. No behavior change.

Co-authored-by: Cursor <[email protected]>
2026-06-03 10:43:26 -04:00
Raven ScottandCursor 4d061f666d refactor(platform): centralize index imports in platform-index-preamble (Phase 736)
Move 92 preamble bindings into platform-index-preamble.js; slim index.js to
ix destructuring (~36 preamble lines, ~64 net line reduction). Add
platform-index-preamble-registry for CI export counts. No behavior change.

Co-authored-by: Cursor <[email protected]>
2026-06-03 10:36:17 -04:00
Raven ScottandCursor b3c011e61f refactor(platform): Phase 735 core preamble scopes and scope registry
Add swarmScope, dmScope, appEventsScope, cryptoScope, channelMetaScope,
permissionsScope, and hyperdbScope namespaces in index.js with dedicated
import modules and platform-index-scope-registry.js (17 scopes). No
behavior or mesh semantics changes.

Co-authored-by: Cursor <[email protected]>
2026-06-03 10:29:40 -04:00
Raven ScottandCursor 60a103a653 refactor(platform): Phase 734 secondary scopes and index exports finalize
Add foldersScope, enrichmentScope, threadsScope, botAuthScope, and
automationScope namespaces in index.js; consolidate automation-export,
bot-auth, and threads import modules; finalize exports via
platform-index-exports.js. No behavior or mesh semantics changes.

Co-authored-by: Cursor <[email protected]>
2026-06-03 10:24:52 -04:00
Raven ScottandCursor 1071c99b8e refactor(platform): Phase 733 multi-scope index preamble namespaces
Add sharedScope, localScope, searchScope, and integrationScope usage in
index.js with preamble block extraction and body-only codemod. Keep id,
now, and guildTopic as local bindings to avoid shadowing collisions.
Add platform-index-integration-imports.js. No behavior changes.

Co-authored-by: Cursor <[email protected]>
2026-06-03 10:20:15 -04:00
Raven ScottandCursor 231de7bff2 refactor(platform): Phase 732 deliveryScope namespace and diagnostics mixin
Replace 173-line delivery import destructuring in index.js with
deliveryScope.* references (~205 lines removed). Extract
platform-diagnostics-mixin and platform-server-folders-imports; add
manifest row 60 (PLATFORM_MIXIN_ASSIGNMENT_COUNT). No behavior changes.

Co-authored-by: Cursor <[email protected]>
2026-06-03 10:15:11 -04:00
Raven ScottandCursor 584d1a1565 refactor(platform): Phase 731 index import bundles and bootstrap
Extract platform-pearcord-shared-imports, platform-index-local-imports,
platform-bootstrap, and explicit delivery-receipts named exports (173).
Add ALL_GOSSIP_ALIGNMENT_ROWS and PLATFORM_MIXIN_ASSIGNMENT_COUNT guard.
No behavior or mesh semantics changes.

Co-authored-by: Cursor <[email protected]>
2026-06-03 10:10:58 -04:00
Raven ScottandCursor 59314420af refactor(platform): Phase 730 mixin manifest and gossip validation DRY
Introduce platform-mixin-assign-manifest.js (59 rows, same assign order) and
manifest-driven apply-platform-mixins loop. Add json-export-gossip-alignment-
validate.js, platform-ipc-contract.js; digest-json uses per-entry gossip keys.
No observable behavior or mesh semantics changes.

Co-authored-by: Cursor <[email protected]>
2026-06-03 10:05:49 -04:00
Raven ScottandCursor 4ca8d53553 fix(platform): Phase 729 dual-heal gossip keys and HyperDB extract
Repair corrupted voice/stage/screen dual-heal mixins (wrong thread gossip
keys and heal contexts). Regenerate 14 dual-heal legacy json mixins with
per-entry keysField/initMethod; add json-export-gossip-registry alignment
tables and platform-hyperdb-sync.js from index.js. Behavior unchanged;
mesh dedupe now matches dedicated export mixins where aligned.

Co-authored-by: Cursor <[email protected]>
2026-06-03 09:59:22 -04:00
Raven ScottandCursor c15e539b53 refactor: align combined JSON gossip keys with dedicated mixins
Delegate combined mixins (slash/oauth/invite/permission/worker) use the same
gossip keysField and initMethod as dedicated *-json-mixin.js modules. Extract
platform-message-enrichment.js and platform-delivery-receipts-imports.js from
index.js (~38 lines removed). Mesh ingest and heal behavior unchanged.

Co-authored-by: Cursor <[email protected]>
2026-06-03 09:53:49 -04:00
Raven ScottandCursor 29d61a9ec9 refactor: extract apply-platform-mixins.js from index.js
Move all 59 mixin Object.assign registrations into apply-platform-mixins.js
with identical order; index.js invokes applyPlatformMixins after export.
Refactor slash/oauth/invite/permission/worker json mixins to
createJsonExportHealDelegateMixin. index.js reduced by ~116 lines; behavior
unchanged.

Co-authored-by: Cursor <[email protected]>
2026-06-03 09:48:09 -04:00