Commit Graph
100 Commits
Author SHA1 Message Date
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
Raven ScottandCursor 5622a2be1e refactor: migrate 21 legacy JSON mixins to export factory
Replace hand-rolled gossip dedupe and heal spans in combined *-json-mixin.js
files with createJsonExportDualHealMixin or createJsonExportGossipMixin plus
thin heal delegates where dedicated mixins own partition heal. Audit-json
keeps custom mod-digest notify heal merged via Object.assign. No observable
mesh ingest, heal, or span behavior changes.

Co-authored-by: Cursor <[email protected]>
2026-06-03 09:43:16 -04:00
Raven ScottandCursor 7f21905256 refactor: slim mesh/federation/worker JSON mixins via factory
Migrate mesh-json-mixin and federation-json-mixin to createJsonExportMeshMixin;
worker-json-mixin uses createJsonExportGossipMixin with thin heal delegates to
dedicated mixins. Fix thread-json-mixin gossip name to _shouldGossipThreadArchiveJson
so platform ingest matches prototype wiring. No observable behavior changes.

Co-authored-by: Cursor <[email protected]>
2026-06-03 09:37:30 -04:00
Raven ScottandCursor ef50ad1cb6 refactor(platform): extract JSON export mesh mixins to shared factory
Regenerate dedicated *-json-mixin.js modules via pearcord-json-export-mixin
with platform-correct _shouldGossip* names. Fix bot registry and webhook
execute gossip wiring; export webhookJsonMixin alias; remove dead bot-json-mixin.
Behavior unchanged; partition heal and mesh dedupe paths restored.

Co-authored-by: Cursor <[email protected]>
2026-06-03 09:27:10 -04:00
Raven ScottandCursor 054c18abb7 feat(phase725): bot-registry.json spans and dedicated heal mixin
Add bot-registry-json-mixin with partition heal cursors, migrate bot
registry platform spans from bot.json, and expose guildBotRegistryJsonCount
in the guild view (v0.8.701).

Co-authored-by: Cursor <[email protected]>
2026-06-03 09:15:13 -04:00
Raven ScottandCursor 48ab2c64e5 feat(platform): Phase 724 worker-release.json and integration-manifest.json mesh (v0.8.700)
Add dedicated mixins, integration manifest read/clear APIs, partition heal
cursors, view meta/counts, and span renames for worker export JSON parity.

Co-authored-by: Cursor <[email protected]>
2026-06-03 09:06:18 -04:00
Raven ScottandCursor c861e51cf3 feat(platform): Phase 723 slash-registry.json and slash-invoke-audit.json mesh (v0.8.699)
Add dedicated mixins, invoke audit read/clear APIs, partition heal cursors,
view meta/counts, duplicate-at export, and span renames for slash export parity.

Co-authored-by: Cursor <[email protected]>
2026-06-03 08:54:41 -04:00
Raven ScottandCursor 3ba26ce719 feat(platform): Phase 722 oauth-grant.json and oauth-install-token.json mesh (v0.8.698)
Add dedicated mixins, read/clear install-token export APIs, partition heal
cursors, view meta/counts, and span renames for OAuth export JSON parity.

Co-authored-by: Cursor <[email protected]>
2026-06-03 08:43:15 -04:00
Raven ScottandCursor cb3b5f1b56 feat(platform): Phase 721 invite-link.json and role-override.json mesh API
Add dedicated mixins, dedicated log spans on push/read, guildInviteLinkJsonCount
and guildRoleOverrideJsonCount view fields, and roleOverrideJsonDuplicateAt exposure.

Co-authored-by: Cursor <[email protected]>
2026-06-03 08:29:01 -04:00
Raven ScottandCursor a0a34c8638 feat(platform): Phase 720 vanity-url.json and effective-permission.json mesh API
Add dedicated mixins and get/clear export helpers, view meta fields, dedicated log
spans on push, and partition-heal hooks for vanity URL and effective permission
signed JSON exports (RPC 113 / 115).

Co-authored-by: Cursor <[email protected]>
2026-06-03 08:19:46 -04:00
Raven ScottandCursor 6a7ae68bbd Phase 719: read state and webhook execute JSON mesh parity (v0.8.695)
Add dedicated signed-export modals for read receipts and webhook execute
exports, populate view rows and meta, partition-heal mixins with dedicated
spans, agentctl journeys, and CI smokes following the Phase 718 pattern.

Co-authored-by: Cursor <[email protected]>
2026-06-03 08:07:59 -04:00
Raven ScottandCursor 4d185d7898 Phase 718: channel follow and guild widget JSON mesh parity (v0.8.694)
Add dedicated signed-export modals, platform view population, partition-heal
mixins, agentctl journeys, and CI smokes so announcement follows and guild
widgets match the Phase 717 multi-guild JSON hardening pattern.

Co-authored-by: Cursor <[email protected]>
2026-06-03 07:58:09 -04:00
Raven ScottandCursor 77b6449b91 feat(platform): multi-guild sync and partition heal JSON mesh export (Phase 717)
Co-authored-by: Cursor <[email protected]>
2026-06-03 07:37:45 -04:00
Raven ScottandCursor c4f66ba70b feat(platform): federation sync and mesh replication JSON mesh export (Phase 716)
Wire push/gossip/view/heal, mixins, and RPC 146/147 parity with device/discovery JSON exports.

Co-authored-by: Cursor <[email protected]>
2026-06-03 07:29:23 -04:00
Raven ScottandCursor 828098ba96 feat: device sync and discovery listing JSON mesh parity (v0.8.691)
Implement push/clear/gossip/view wiring, partition heal mixins, and signed JSON
export builders for paired devices and Explore discovery listings (Phase 715).

Co-authored-by: Cursor <[email protected]>
2026-06-03 07:03:57 -04:00
Raven ScottandCursor ca345dbc90 feat: wire session JSON mesh push, gossip, and view state (v0.8.690)
Implement pushSessionActivityJsonToMesh, pushAvatarDecorationExportToMesh,
gossip handlers, partition heal hooks, and sessionJsonMixin assignment.
Populate sessionActivityJsonMeta/rows and avatar decoration export in guild view.

Co-authored-by: Cursor <[email protected]>
2026-06-03 06:54:46 -04:00
Raven Scott e898912942 feat(v0.8.689): rename all export CSV identifiers to JSON-only naming
Complete sweep of filenames, symbols, IPC channels, storage keys, CSS classes,
smoke scripts, and docs. Payloads remain signed JSON envelopes (Phase 713).
2026-06-03 05:54:25 -04:00
Raven Scott b08d346fcd feat(phase711): activity invite CSV & profile banner export mesh parity (v0.8.686)
Complete Phase 711 with RPC 140/141 activity invite and profile banner CSV
mesh exports. Add activity-csv-ui.js modal, platform mixin, delivery-receipts
collections, guild gossip, ui-flow IPC, agentctl journeys, smokes, and app.js
integration. Fix corrupted CSS media-query blocks for CSV modals. Document in
ACTIVITY_INVITE_CSV.md and open Phase 712 session activity + avatar decoration.
2026-06-03 05:16:47 -04:00
Raven Scott 92d82485f5 feat(phase710): custom status CSV & guild widget export mesh parity (v0.8.685)
Complete Phase 710 with RPC 138/139 custom status and guild widget CSV mesh
exports. Wire status-csv-ui.js modal, platform mixin, ui-flow IPC, agentctl
journeys, smokes, and app.js integration. Fix syntax errors in CSV UI helpers
from phases 707–710 (presence, notification, screen, stage, thread, voice,
status). Restore app.js after accidental truncation; add showStatusCsvMeshModal,
deep links, dev-log filters, and settings entry. Document in CUSTOM_STATUS_CSV.md,
release notes, and roadmap; open Phase 711 activity invite + profile banner CSV.
2026-06-03 05:06:51 -04:00
Raven Scott d63a1e6ae1 feat(phase709): notification override CSV & channel follow export mesh parity (v0.8.684)
Add signed guild notification override CSV mesh export and channel follow CSV
export (RPC 136/137): notification-csv-ui.js, notification-csv-mixin.js,
listGuildFollows in pearcord-announcements, delivery-receipts collections,
guild gossip handlers, ui-flow IPC, deep link ?notification-csv=1,
notification-csv-errors dev filter, agentctl notification/follow journeys, and
test:ci-phase709 regression bundle chaining phase708.
2026-06-03 04:49:37 -04:00
Raven Scott 1396841b98 feat(phase708): presence activity CSV & read-state export mesh parity (v0.8.683)
Add signed guild presence activity CSV mesh export and read-state CSV export
(RPC 134/135): presence-csv-ui.js, presence-csv-mixin.js, delivery-receipts
collections, guild gossip handlers, ui-flow IPC, deep link ?presence-csv=1,
presence-csv-errors dev filter, agentctl presence/read-state journeys, and
test:ci-phase708 regression bundle chaining phase707.
2026-06-03 04:37:36 -04:00
Raven Scott 5a844427dc feat(phase707): screen share CSV & soundboard registry export mesh parity (v0.8.682)
Add signed guild screen share CSV mesh export and soundboard registry CSV
export (RPC 132/133): screen-csv-ui.js, screen-csv-mixin.js, delivery-receipts
collections, guild gossip handlers, ui-flow IPC, deep link ?screen-csv=1,
screen-csv-errors dev filter, agentctl screen/soundboard journeys, and
test:ci-phase707 regression bundle chaining phase706.
2026-06-03 04:22:55 -04:00
Raven Scott 982e39f8f2 feat(v0.8.681): Phase 706 voice state CSV & boost ledger export mesh parity
Complete signed guild voice state CSV mesh export and boost ledger CSV export
(RPC 130/131): voice-csv-ui.js, voice-csv-mixin.js, delivery-receipts store,
guild gossip handlers, ui-flow IPC, deep link ?voice-csv=1, agentctl voice +
boost journeys, smokes, and docs. Fix stage705 smoke dev-filter check.

Bundle: npm run test:ci-phase706 (50/50). Roadmap Phase 706 complete; Phase 707 slot opened.
2026-06-03 04:11:10 -04:00
Raven Scott 95b0a1ab23 feat(v0.8.680): Phase 705 stage instance CSV & guild event export mesh parity
Complete signed guild stage instance CSV mesh export and guild notification
event export (RPC 128/129): stage-csv-ui.js, stage-csv-mixin.js,
delivery-receipts store, guild gossip handlers, ui-flow IPC, deep link
?stage-csv=1, agentctl stage + guild event journeys, smokes, and docs.

Bundle: npm run test:ci-phase705 (50/50). Roadmap Phase 705 complete; Phase 706 slot opened.
2026-06-03 03:59:09 -04:00
Raven Scott a845ad52a1 feat(v0.8.679): Phase 704 thread archive CSV & forum tag export mesh parity
Complete signed guild thread archive CSV mesh export and forum tag palette
export (RPC 126/127): thread-csv-ui.js, thread-csv-mixin.js, delivery-receipts
store, guild gossip handlers, ui-flow IPC, deep link ?thread-csv=1, agentctl
journeys, smokes, and docs. Fix pushForumTagExportToMesh naming from pin clone.

Bundle: npm run test:ci-phase704 (50/50). Roadmap Phase 704 complete; Phase 705 slot opened.
2026-06-03 03:45:00 -04:00
Raven Scott d99dfb8a94 Phase 703: pin registry CSV & reaction summary export mesh parity (v0.8.678)
Add signed pin registry CSV mesh modal and guild reaction summary CSV export
(RPC 124/125) following the poll/ban CSV parity pattern. Includes pin-csv-ui,
platform pin-csv-mixin, ui-flow IPC, deep link ?pin-csv=1, agentctl journeys,
test:ci-phase703 regression bundle, and documentation updates.
2026-06-03 03:33:17 -04:00
Raven Scott e2032f74cd Phase 702: poll registry CSV & scheduled message export mesh parity (v0.8.677)
Add signed poll registry CSV mesh modal and scheduled message queue CSV export
following the ban/member CSV parity pattern. RPC 122/123 gossip sync, poll-csv-ui,
platform poll-csv-mixin, ui-flow IPC, deep link ?poll-csv=1, agentctl journeys,
test:ci-phase702 regression bundle, and documentation updates.

Also fixes missing showBanCsvMeshModalFromDeepLink helper from Phase 701.
2026-06-03 03:21:25 -04:00
Raven Scott 7b487ed984 feat(phase701): ban registry CSV and automod rule export mesh parity (v0.8.676)
Add signed ban registry CSV mesh (RPC 120) and automod rule export CSV (RPC 121)
with ban-csv-ui, platform ban-csv-mixin, delivery-receipts store, guild gossip,
ui-flow IPC, agentctl journeys, and test:ci-phase701 regression chain.
2026-06-03 03:08:47 -04:00
Raven Scott bf9cb10905 feat(phase700): member roster CSV and moderation timeout export mesh parity (v0.8.675)
Add signed member roster CSV mesh (RPC 118) and moderation timeout export CSV
(RPC 119) with member-csv-ui, platform member-csv-mixin, delivery-receipts store
methods, guild gossip, ui-flow IPC, agentctl journeys, and test:ci-phase700.
2026-06-03 02:57:57 -04:00
Raven Scott abd2445aa8 feat(phase699): emoji registry CSV and sticker pack export mesh parity (v0.8.674)
Add signed emoji registry CSV mesh (RPC 116) and sticker pack export CSV (RPC 117)
with emoji-csv UI, platform mixin, delivery receipts, ui-flow IPC, agentctl journeys,
and test:ci-phase699 regression bundle including phase698 chain.
2026-06-03 02:41:50 -04:00
Raven Scott a5518c3f24 feat(phase698): role override CSV and effective permission export mesh parity (v0.8.673)
Add signed channel permission overwrite CSV mesh (RPC 114) and effective
permission export (RPC 115) with permission-csv UI, platform mixin, delivery
receipts, ui-flow IPC, agentctl journeys, and test:ci-phase698 regression bundle.
2026-06-03 02:31:03 -04:00
Raven Scott 721ba4703d feat(v0.8.672): Phase 697 invite link CSV and vanity URL mesh parity
Signed invite link CSV (listGuildInvites) and vanity URL export mesh follow
the OAuth/slash CSV pattern: invite-csv-ui, invite-csv-mixin, delivery-receipts
collections, guild gossip RPC 112/113, ui-flow IPC, deep link ?invite-csv=1,
invite-errors filter, and agentctl invite + vanity journeys.

Repairs app.js bot/slash/oauth modal corruption from prior session. Adds
test:ci-phase697, docs INVITE_LINK_CSV.md, RELEASE_v0.8.672, and Phase 698 roadmap.
2026-06-03 02:15:12 -04:00
Raven Scott d510209e7e feat(v0.8.671): Phase 696 OAuth grant CSV and install token mesh parity
Signed OAuth grant CSV (guild bots as application grants) and install
token export CSV follow the bot/slash CSV mesh pattern: oauth-csv-ui,
oauth-csv-mixin, delivery-receipts collections, guild gossip, ui-flow IPC,
deep link ?oauth-csv=1, oauth-errors dev filter, and agentctl journeys.

Adds test:ci-phase696 (static + boot + agentctl) and bumps app to 0.8.671.
Documents OAUTH_GRANT_CSV.md, RELEASE_v0.8.671, and opens Phase 697 on the roadmap.
2026-06-03 02:03:19 -04:00
Raven Scott 51d734eda1 feat(v0.8.670): slash registry CSV and invoke audit mesh parity
Implement Phase 695 signed slash command registry CSV and slash invoke
audit export across delivery-receipts, platform gossip (RPC 108/109),
slash-csv-ui modal, agentctl journeys, and test:ci-phase695 regression.

Also backfill relay/worker CSV styles missing from pearcord.css and bump
phase687 boot gate to 0.8.670 for RELEASE_CI continuity.
2026-06-03 01:53:28 -04:00
Raven Scott 20d5c7f2a7 feat(v0.8.669): bot registry CSV and webhook execute mesh parity
Phase 694: bot-csv-ui, bot-csv-mixin, delivery-receipts bot/webhook CSV
collections, platform mesh APIs, guild RPC 106/107, deep link bot-csv,
agentctl bot registry and webhook execute journeys, test:ci-phase694.

Tighten bot-errors dev filter for bot.csv spans. Roadmap Phase 694 complete,
Phase 695 opened.
2026-06-03 01:41:25 -04:00
Raven Scott 3ba68439bb docs(platform): note Phase 693 worker CSV in README 2026-06-03 01:32:47 -04:00
Raven Scott 223146f4c6 feat(v0.8.667–0.8.668): relay CSV and worker release CSV mesh parity
Phase 692 (v0.8.667): digest relay handoff CSV, archive peer export mesh,
relay-csv-ui, relay-csv-mixin, agentctl relay journeys, test:ci-phase692.

Phase 693 (v0.8.668): worker release CSV, integration manifest export mesh,
worker-csv-ui, worker-csv-mixin, RPC 104/105, agentctl worker journeys,
test:ci-phase693.

Fix relay modal IPC (sync-digest-relay-handoff-csv), worker-errors filter,
and phase687 boot gate version pin. Roadmap: Phases 692–693 complete, Phase 694 opened.
2026-06-03 01:32:25 -04:00
Raven ScottandCursor 2edc5f468f feat(platform): digest.csv spans, compliance snapshot, CSV mesh (v0.8.666)
Wire digest-csv-mixin gossip dedupe and partition heal, extend view slices
for hook failure digest CSV and compliance snapshot, and add mesh APIs with
structured digest.csv logging.

Co-authored-by: Cursor <[email protected]>
2026-06-03 01:13:55 -04:00
Raven ScottandCursor 2cb664253e feat(audit-csv): Phase 690 audit-csv-mixin, spans, and mod digest clear
Add audit-csv-mixin gossip dedupe and partition heal; extend getAuditExportCsvExport
and pushAuditExportCsvToMesh audit.csv spans; clearModDigestNotifyPrefs and
auditExportCsvDuplicateAt view flag; openAuditCsv deep link field.

Co-authored-by: Cursor <[email protected]>
2026-06-03 01:06:21 -04:00
Raven ScottandCursor d3056b4b6d feat(health): Phase 689 health-mixin, spans, and handoff clear (v0.8.664)
Add health-mixin gossip dedupe and partition heal hooks; extend
getAutomationHealthDashboard automation.health spans; clearDigestRelayHandoffs
and digestRelayHandoffDuplicateAt view flag; openHealth deep link field.

Co-authored-by: Cursor <[email protected]>
2026-06-03 00:59:09 -04:00
Raven ScottandCursor eb83522efb feat(platform): delivery-mixin gossip dedupe, heal, and clear receipts (v0.8.663)
Add delivery-mixin for receipt registry and failure digest partition heal,
extend delivery.receipt span metadata, clearAutomationDeliveryReceipts,
deliveryReceiptRows view slice, and openReceipts deep-link handling.

Co-authored-by: Cursor <[email protected]>
2026-06-03 00:53:37 -04:00
Raven ScottandCursor 19a3c280af Add workers-mixin gossip dedupe and integration.worker spans (Phase 687).
Extend runIntegrationWorkerTrial with integration.worker span metadata
(guildWorkerCount, bridgeKind), worker release gossip dedupe, and partition
heal for worker registry + trial cursor on mesh partition recovery.

Co-authored-by: Cursor <[email protected]>
2026-06-03 00:41:51 -04:00
Raven ScottandCursor c629bb7d81 feat(automation): Phase 686 automation-mixin gossip dedupe and partition heal (v0.8.661)
Add automation-mixin.js with hook manifest gossip dedupe, registry/relay
cursor partition heal, guildAutomationCount and relayKind span metadata,
and openAutomation deep-link field. Extend upsert/delete/dispatch spans.

Co-authored-by: Cursor <[email protected]>
2026-06-03 00:34:04 -04:00
Raven ScottandCursor d3a73cd578 feat(webhooks): Phase 685 webhooks-mixin gossip dedupe and partition heal (v0.8.660)
Add webhooks-mixin.js with upsert gossip dedupe, registry/execute cursor
partition heal, guildWebhookCount and bridgeKind span metadata, and
openWebhooks deep-link field. Update README for Phase 685.

Co-authored-by: Cursor <[email protected]>
2026-06-03 00:26:50 -04:00
Raven ScottandCursor 611977a135 feat(bots): Phase 684 bots-mixin gossip dedupe and partition heal (v0.8.659)
Add bots-mixin.js with install gossip dedupe, registry/token cursor partition
heal, uninstallBot API, sendBotMessage permission fallback, guildBotCount span
metadata, and openBots deep-link field. Update README for Phase 684.

Co-authored-by: Cursor <[email protected]>
2026-06-03 00:20:54 -04:00
Raven ScottandCursor bcd96e4936 feat(platform): Phase 683 slash-mixin gossip dedupe and partition heal
Add slash-mixin with registry/usage partition heal, gossip dedupe on register,
extended slash.register span metadata, and openSlashCommands deep link field.

Co-authored-by: Cursor <[email protected]>
2026-06-03 00:10:18 -04:00
Raven ScottandCursor ec2698b4db feat(roles): Phase 682 member-roles mixin and effective perm view (v0.8.657)
Add member-roles-mixin for link gossip dedupe and partition heal, extend
permission.eval spans with effectivePermissionCount, deep link openAssignMemberRoles.

Co-authored-by: Cursor <[email protected]>
2026-06-02 23:57:12 -04:00
Raven ScottandCursor 49b3e46e60 feat(permissions): Phase 681 mixin, heal, gossip dedupe (v0.8.656)
Add permissions-mixin for overwrite dedupe and partition heal (overwrites +
roles), extend permission.overwrite span metadata, deep link openChannelPermissions.

Co-authored-by: Cursor <[email protected]>
2026-06-02 23:49:00 -04:00
Raven ScottandCursor 6b983ad722 feat(announcements): Phase 680 mixin, heal, cross-post hardening (v0.8.655)
Add announcements-mixin for gossip dedupe and partition heal, announcement.follow
spans, cross-post rate limit and audit, retryAnnouncementCrosspost, text-only
target normalization, announcement search scope, and crosspostPublishResult view.

Co-authored-by: Cursor <[email protected]>
2026-06-02 23:39:50 -04:00
Raven ScottandCursor 2a1cd96b11 feat(threads-forum): Phase 679 mixin, heal auto-archive, deep-link create
Add threads-forum.js partition heal for forum tag palettes, extend thread heal
with watermark and auto-archive reconciliation, guild-scoped threads panel,
create-thread deep link navigation payload, and thread.create autoArchiveMinutes
(Phase 679 / v0.8.654).

Co-authored-by: Cursor <[email protected]>
2026-06-02 23:27:28 -04:00
Raven ScottandCursor 8e1054fd24 feat(platform): invites-discovery mixin and view fields for Phase 678
Add invites-discovery.js with list/heal/gossip helpers, wire into platform
view as guildInvites, inviteCount, and discoveryListingVersion, and extend
createInvite/join/preview validation plus invite.create gossip dedupe.

Co-authored-by: Cursor <[email protected]>
2026-06-02 23:11:27 -04:00
Raven ScottandCursor e2253cfdc2 feat(platform): moderation mixin for Phase 677 audit and ban heal
Add moderation.js with unbanMember, role hierarchy checks, audit gossip
dedupe, partition heal for audit log and ban list, and extended audit filters.

Co-authored-by: Cursor <[email protected]>
2026-06-02 22:56:46 -04:00
Raven ScottandCursor d27873d7bb feat(platform): user-settings mixin for Phase 676 (v0.8.651)
Wire userSettingsMixin with gossip dedupe, user prefs and profile cosmetics
partition heal, and userSettings.patch span metadata for settings parity.

Co-authored-by: Cursor <[email protected]>
2026-06-02 22:44:14 -04:00
Raven ScottandCursor 1a3a9aea65 feat(notifications): Phase 675 platform notifications-activity mixin (v0.8.650)
Add notifications-activity.js with gossip dedupe, fanout rate limits,
@everyone/@here and role mention routing, partition heal for inbox and
activity feed, and local notification stubs (poll, scheduled, voice,
stage, boost, friend online). Hook stage speaker and boost level-up flows.

Co-authored-by: Cursor <[email protected]>
2026-06-02 22:36:11 -04:00
Raven Scott f85cf2d1c5 feat(platform): platform-wide polls and scheduled messages (Phase 674)
Add polls-scheduling mixin with guild+DM createPoll/votePoll/closePoll and
schedule APIs, gossip dedupe, partition heal, unified view fields, and poll
question search indexing.
2026-06-02 22:18:43 -04:00
Raven ScottandCursor ce0001c8c3 feat(platform): Phase 673 member heal, presence dedupe, and audit spans
Extend partition heal with member list and voice occupancy recovery,
presence gossip dedupe via _gossipPresenceIfNew, kick span metadata, and
member.role.add/remove audit on custom role assignment.

Co-authored-by: Cursor <[email protected]>
2026-06-02 22:05:03 -04:00
Raven ScottandCursor 6fcabcae33 Phase 672 platform: thread rate limit, gossip dedupe, heal, lock, tag filters
Add thread create rate limiting, idempotent thread metadata gossip, partition
heal on rejoin, lockThread with audit, spanKind on thread.create, and
multi-select forumTagFilters with toggle IPC support.

Co-authored-by: Cursor <[email protected]>
2026-06-02 21:54:09 -04:00
Raven ScottandCursor 5093bd6ca7 feat(v0.8.646): Phase 671 pin/search mesh hardening and jump fetch
Pin rate limits, gossip dedupe, partition heal, audit entries, announcement
pin fanout, search index remove/heal on edit/delete, mesh jump fetch via
GUILD_SYNC_REQUEST, and thread-root channel search scope.

Co-authored-by: Cursor <[email protected]>
2026-06-02 21:09:52 -04:00
Raven ScottandCursor 2a6c782693 feat(v0.8.645): Phase 670 sticker/GIF mesh hardening and platform spans
Sticker and GIF rate limits, gossip dedupe, partition heal, pack reorder,
announcement sticker fanout, DM sticker notifications, and extended
sticker.send/sticker.create span metadata.

Co-authored-by: Cursor <[email protected]>
2026-06-02 20:59:53 -04:00
Raven ScottandCursor 88c3b4bbdd Phase 669: reaction rate limit, gossip dedupe, and partition heal.
Add removeMemberReaction with audit, emojiName span metadata, notifyOnReaction
DM path, frequent-reaction pref recording, and reactionTotalsByMessage for
thread badges.

Co-authored-by: Cursor <[email protected]>
2026-06-02 20:44:47 -04:00
Raven ScottandCursor e50d317aa4 Phase 668: composer embed preview and mesh embed guards.
Add prefetchComposerEmbed, clearComposerEmbedPreview, guild resolve rate
limit, DM gossip bandwidth cap, URL-hash dedupe, and domain policy gates.

Co-authored-by: Cursor <[email protected]>
2026-06-02 20:34:17 -04:00
Raven ScottandCursor 295f233bfb Integrate markdown unfurl policy into embed queue and edit flows.
Skips hub and emoji-only layouts, refreshes embeds when edit changes URL,
filters linkEmbedsByMessage by layout, and logs markdown-embed suppressions.

Co-authored-by: Cursor <[email protected]>
2026-06-02 20:22:26 -04:00
Raven ScottandCursor 743f6bfb37 Phase 666: DM embed queue, gossip, retry, and IME prefetch gate.
Wire DM link-embed ingest, conversation-scoped cache lookups, retryLinkEmbedForMessage,
and document slowmode-safe read-only embed resolve path.

Co-authored-by: Cursor <[email protected]>
2026-06-02 20:16:30 -04:00
Raven ScottandCursor 09e254432a feat(embeds): exportEmbedDiagnostics, prefetch coalesce, embed heal (P666)
Extend _queueLinkEmbed for DM mode, embed.prefetch spans, multi-embed view
slice, embed.clear on message edit, and partition heal stale cache entries.

Co-authored-by: Cursor <[email protected]>
2026-06-02 20:01:39 -04:00
Raven ScottandCursor 13aecb1211 feat(attachments): forward, heal, preview reads for Phase 665 batch 2
Add forwardAttachment, cancelAttachmentDownload, _healOrphanedAttachmentRefs,
read-only stageAttachment gate, and extended readAttachmentPreview for video
and modern image formats.

Co-authored-by: Cursor <[email protected]>
2026-06-02 19:50:52 -04:00
Raven ScottandCursor 0eb4922790 Phase 665: attachment diagnostics, fetch progress, group DM quota
Add exportAttachmentDiagnostics, attachment.fetch spans with setFetchProgress,
groupDmAttachmentMaxBytes on stageAttachment, and slowmode gate on staging.

Co-authored-by: Cursor <[email protected]>
2026-06-02 19:36:02 -04:00
Raven ScottandCursor c7e10d09dd Phase 664: voice-note fetch, forward, heal, and group DM quota.
Add fetchVoiceNoteBlob, forwardVoiceNote, failed-commit heal on partition
sync, group DM byte caps on stage, and extended diagnostics export.

Co-authored-by: Cursor <[email protected]>
2026-06-02 19:26:04 -04:00
Raven ScottandCursor ec14ac1dc0 Phase 664: voice note diagnostics, gate in view, and gossip idempotency.
Adds exportVoiceNoteDiagnostics, voiceNoteGate in view, voiceNote.commit span, max duration guard on stage, and _ingestVoiceNoteGossip for duplicate VOICE_NOTE_CREATE payloads.

Co-authored-by: Cursor <[email protected]>
2026-06-02 19:15:28 -04:00
Raven ScottandCursor aac8cb4da3 Docs: Phase 654 partition-heal batch 2 README note.
Co-authored-by: Cursor <[email protected]>
2026-06-02 19:03:30 -04:00
Raven ScottandCursor db94b6ee26 Phase 654 batch 2: extend partition heal with sparse ACK resume, hyperbee rebuild, and sync fanout.
Adds heal hooks for member roles, forum/search, settings device sync, and extended voice/emoji/automod slices; wires retryWire on host mesh join and adaptive guild.create mesh caps.

Co-authored-by: Cursor <[email protected]>
2026-06-02 19:03:25 -04:00
Raven ScottandCursor acd9cbbb6b Phase 654 mesh resilience: diagnostics, auto-heal, joiner attach.
Per-channel replication lag in exportMeshReplicationDiagnostics; zero-peer auto-heal; partition heal channel metadata; discovery refresh on peer retry; adaptive retry span; gossip replay watermark; multi-guild sync QoS; rail replicating/healing state.

Co-authored-by: Cursor <[email protected]>
2026-06-02 17:43:28 -04:00
Raven ScottandCursor 93dae1cac4 Complete Phase 658 DM video, screen share, and stage bridge.
Stage speaker to DM bridge API, attach-mesh video tile ingest, dmScreenShare view + screen-frame broadcast, dmVideoTiles snapshot.

Co-authored-by: Cursor <[email protected]>
2026-06-02 17:30:29 -04:00
Raven ScottandCursor 2a48f91877 Wire DmPollStore sync and scenario fixtures into platform.
Sync poll rows on create/vote/edit/close/delete, expose export/import APIs and dmPollEngine in view.

Co-authored-by: Cursor <[email protected]>
2026-06-02 17:17:55 -04:00
Raven ScottandCursor a62b63b918 Harden DM scheduled message queue delivery for Phase 659.
Add per-channel queue limits, blocked-peer guards, exponential retry,
recurrence re-queue, stale prune, audit log entries, and dm.schedule spans.

Co-authored-by: Cursor <[email protected]>
2026-06-02 17:09:14 -04:00
Raven ScottandCursor 60fe33356b Add compose.draft.save telemetry span for draft persistence.
Surfaces draft save duration and payload size in platform logs to support
Phase 660 composer draft flush debounce verification.

Co-authored-by: Cursor <[email protected]>
2026-06-02 16:58:55 -04:00
Raven ScottandCursor 93bd5d7cfb Add composerPostBlockReason and updateDmScheduledMessage APIs.
Expose announcement vs lurker block reason in view; allow editing queued
DM scheduled messages before send.

Co-authored-by: Cursor <[email protected]>
2026-06-02 16:48:13 -04:00
Raven ScottandCursor 96f5893aad Complete Phase 409 platform perf, integrity, and mesh hardening.
Add adaptive poll helpers, discovery frame dedupe, poll DB read budget,
view integrity (draft prune, pin fallback, cross-ref audit, prefs checksum),
mesh quiet mode, topic merge counters, and discovery local-only guard.

Co-authored-by: Cursor <[email protected]>
2026-06-02 16:41:37 -04:00
Raven ScottandCursor ca50f20639 feat(platform): screen share refresh and presence stale reaper
Add refreshScreenSharePreview for frozen stream recovery and invoke
presence.reapStalePeers during view() so ghost peers are cleared.

Co-authored-by: Cursor <[email protected]>
2026-06-02 16:32:16 -04:00
Raven ScottandCursor fc344fac87 Phase 408: GUILD_SYNC replay and mark-read fanout hardening
Add guild-sync-replay tracker with syncBundleId on export bundles to skip
duplicate message applies after partial ingest. Coalesce rapid channel/thread
mark-read through MarkReadFanoutQueue with stall watchdog. Reject oversized
automation hook payloads via sanitizeAutomationEventPayload.

Co-authored-by: Cursor <[email protected]>
2026-06-02 16:24:13 -04:00
Raven ScottandCursor 0fdf35e7d8 Phase 408: mesh peer quality scores and platform capability APIs
Add mesh-peer-quality helpers (RTT, drop rate, stale cursor) for selective
sync prioritization and rejoin jitter on mesh peer retries. Expose
meshStatusSummary, platformCapabilities, and ipcContractVersion on view;
exportActiveChannelTopicPreview now passes guildId to getChannelSettings so
descriptions resolve correctly for automation smokes.

Co-authored-by: Cursor <[email protected]>
2026-06-02 16:17:35 -04:00
Raven ScottandCursor 28cd09b38c feat(platform): gossip lane alerts and mesh bounded hints (Phase 408)
Expose gossipLaneAlerts thresholds in meshStabilityStats and add
boundedStage/boundedStatusHint on guildSyncHealthRail for clearer UI.

Co-authored-by: Cursor <[email protected]>
2026-06-02 16:09:48 -04:00
Raven ScottandCursor 7f754eb295 perf(platform): skip pin/reaction list spans on cache hits (Phase 408)
Stop emitting pin.list and reaction.list timing spans when serving
cached rows; expose viewBuildStats counters in the view payload.

Co-authored-by: Cursor <[email protected]>
2026-06-02 16:05:31 -04:00
Raven ScottandCursor 6ff4def1ed feat(platform): invite preview and guild create templates (Phase 663)
Add previewJoinInvite for join preview metadata and templateId channel
presets on createGuild for friends/club onboarding branches.

Co-authored-by: Cursor <[email protected]>
2026-06-02 16:01:17 -04:00
Raven ScottandCursor c3caa74566 feat(attachments): staged list, meta sync, and send-time UI fields
Expose stagedAttachments in view, reorder/updateMeta APIs, and apply
attachmentUiById caption/spoiler on send (Phase 662).

Co-authored-by: Cursor <[email protected]>
2026-06-02 15:49:49 -04:00
Raven ScottandCursor dad7d3badb feat(voice-notes): sendVoiceNote and voiceNotesByMessage in view
Complete voice note send path, gossip enrichment, and per-message
voice note metadata for timeline rendering (Phase 662).

Co-authored-by: Cursor <[email protected]>
2026-06-02 15:40:14 -04:00
Raven ScottandCursor 2271419f8d Wire voice note staging, view draft field, and mesh gossip.
Integrate pearcord-voice-notes with stage/discard/commit APIs, permission
gates, and voiceNoteDraft in view payloads for composer UI parity.

Co-authored-by: Cursor <[email protected]>
2026-06-02 15:31:24 -04:00
Raven ScottandCursor cafcf95979 Phase 410: orphan pin repair, unread audit, webhook burst guard.
Repair orphan pin rows during channel consistency audit, run periodic
unread map sanity checks, and enforce webhook execute burst limits via
pearcord-bot-limits before relay execution.

Co-authored-by: Cursor <[email protected]>
2026-06-02 15:02:58 -04:00
Raven ScottandCursor 51c4a8daa1 Gate joinInvite and navigateDeepLink with shared paste validation (P410-30).
Reject malformed invites and deep links at the platform layer using
validatePastedNavigationInput before mesh join or navigation side effects.

Co-authored-by: Cursor <[email protected]>
2026-06-02 14:47:05 -04:00
Raven ScottandCursor 5c387d416d Wire user prefs startup recovery into session boot and view (P410-19).
Call ensurePrefsRecoveredOnStartup after settings ready, log
userPrefs.startup-recovery spans, and expose userPrefsRecovery in view().

Co-authored-by: Cursor <[email protected]>
2026-06-02 11:43:51 -04:00
Raven ScottandCursor 7a86efac40 fix(view): recover active channel when it disappears mid-build
Resolve stale activeChannelId against the visible channel list during
view finalize and channel-delete gossip, clear mismatched message slices,
and expose activeChannel plus activeChannelRecovery in the view payload.

Co-authored-by: Cursor <[email protected]>
2026-06-02 11:37:50 -04:00
Raven ScottandCursor 985dcdef06 fix(view): audit channel pin/reaction/message consistency
Run _auditChannelViewConsistency during view() to detect orphan rows
and pin/reaction cache mismatches, auto-invalidate stale list caches,
and expose channelConsistencyAudit in the view payload.

Co-authored-by: Cursor <[email protected]>
2026-06-02 11:31:31 -04:00
Raven ScottandCursor 47732f25db fix(mesh): evict stale guild peers with health metrics
Track per-peer lastSeenAt, sweep idle hyperswarm sockets on an interval
and before peer-retry, and expose peerRetryAttempt, lastPeerSeenAt, and
eviction totals on guildSyncHealthRail.

Co-authored-by: Cursor <[email protected]>
2026-06-02 11:23:54 -04:00
Raven ScottandCursor eb9122b7ad fix(mesh): coalesce guild mesh joins across open/retry paths
Route guild.open, mesh-bounded bootstrap, create, and peer-retry joins
through _requestGuildMeshJoin so startup/switch races skip stale loadGen
attempts and share one in-flight join per guild instance.

Co-authored-by: Cursor <[email protected]>
2026-06-02 11:19:28 -04:00
Raven ScottandCursor 95ba2a2272 Space guild mesh peer retries by last peer contact staleness.
Add _computeGuildMeshPeerRetryDelayMs keyed off lastPeerSeenAt with RTT and env min/max bounds, record peer contact on join, and emit spacingSource diagnostics for bounded retry scheduling.

Co-authored-by: Cursor <[email protected]>
2026-06-02 11:10:33 -04:00
Raven ScottandCursor 0e69175eb5 Expose mesh bounded retry timing in guild sync health rail.
Track per-guild mesh retry attempt metadata and publish countdown fields in view.guildSyncHealthRail so UI can present bounded-mode retry guidance without parsing logs.

Co-authored-by: Cursor <[email protected]>
2026-06-02 11:06:28 -04:00
Raven ScottandCursor 5440d8ff25 Add explicit platform view detail-level selection.
Introduce `opts.detail` support for minimal/light/full/diagnostic polling with legacy light-mode compatibility and expose the resolved detail level in view diagnostics metadata.

Co-authored-by: Cursor <[email protected]>
2026-06-02 10:45:55 -04:00
Raven ScottandCursor fe5c3d087a Harden view-list caching diagnostics and coalescing.
Add cache-hit/source metadata for pin, reaction, and discovery list spans, coalesce in-flight discovery list fetches, and batch view lookups to reduce redundant reads during render bursts.

Co-authored-by: Cursor <[email protected]>
2026-06-02 10:41:09 -04:00
Raven Scott 73075b6bd6 sync 2026-06-02 10:29:06 -04:00
Raven ScottandCursor efca048c2f Add strict pearcord module dependency guards for platform imports.
This introduces CI-enforced checks that compare index.js pearcord-* requires against declared dependencies and smoke-resolve imported modules, preventing undeclared module regressions in local file-link and attached runtime environments.

Co-authored-by: Cursor <[email protected]>
2026-06-02 09:27:52 -04:00