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.
This commit is contained in:
Raven Scott
2026-06-03 02:41:45 -04:00
parent e69e1281a8
commit 962da9ebf9
4 changed files with 94 additions and 3 deletions
+19
View File
@@ -0,0 +1,19 @@
# Emoji registry CSV & sticker pack export (v0.8.674)
Signed guild emoji registry CSV mesh gossip and sticker pack export for expression management.
## Parity matrix
| Capability | P2P | Notes |
|------------|-----|-------|
| Emoji registry CSV | Yes | `emojiRegistry.list()` → signed CSV |
| Mesh gossip | Yes | `EMOJI_REGISTRY_CSV_SYNC` (116), `STICKER_PACK_EXPORT_CSV_SYNC` (117) |
| Server settings | Yes | **Manage emoji registry CSV** |
| Deep link | Yes | `?emoji-csv=1` |
| Agentctl | Yes | `runEmojiRegistryCsvJourney`, `runStickerPackExportJourney` |
## Verification
```bash
npm run test:ci-phase699
```
+2
View File
@@ -2,6 +2,8 @@
Discord [Integrations](https://docs.discord.com/developers/docs/intro) rely on centralized webhooks and OAuth. Pearcord uses **local Pear workers**, **mesh gossip**, and **signed bot tokens** — no HTTP callback URLs. Discord [Integrations](https://docs.discord.com/developers/docs/intro) rely on centralized webhooks and OAuth. Pearcord uses **local Pear workers**, **mesh gossip**, and **signed bot tokens** — no HTTP callback URLs.
**v0.8.674 (Phase 699):** Emoji registry CSV mesh modal — signed emoji rows, sticker pack export, mesh push/clear, deep link `?emoji-csv=1`. See [EMOJI_REGISTRY_CSV.md](./EMOJI_REGISTRY_CSV.md). Bundle: `npm run test:ci-phase699`.
**v0.8.673 (Phase 698):** Role override CSV mesh modal — signed overwrite rows, effective permission export, mesh push/clear, deep link `?permission-csv=1`. See [ROLE_OVERRIDE_CSV.md](./ROLE_OVERRIDE_CSV.md). Bundle: `npm run test:ci-phase698`. **v0.8.673 (Phase 698):** Role override CSV mesh modal — signed overwrite rows, effective permission export, mesh push/clear, deep link `?permission-csv=1`. See [ROLE_OVERRIDE_CSV.md](./ROLE_OVERRIDE_CSV.md). Bundle: `npm run test:ci-phase698`.
**v0.8.672 (Phase 697):** Invite link CSV mesh modal — signed invite rows, vanity URL export, mesh push/clear, deep link `?invite-csv=1`. See [INVITE_LINK_CSV.md](./INVITE_LINK_CSV.md). Bundle: `npm run test:ci-phase697`. **v0.8.672 (Phase 697):** Invite link CSV mesh modal — signed invite rows, vanity URL export, mesh push/clear, deep link `?invite-csv=1`. See [INVITE_LINK_CSV.md](./INVITE_LINK_CSV.md). Bundle: `npm run test:ci-phase697`.
+64 -3
View File
@@ -6,7 +6,7 @@ Focused roadmap of unfinished items extracted from `PLATFORM_ROADMAP_v0.1-v0.8.6
**Legend:** `[SKIP]` skip for now **Legend:** `[SKIP]` skip for now
Unfinished items tracked: **0** (no active phase in **Now**) Unfinished items tracked: **0** (no active phase in **Now**)
Platform carryover tracked: **0** (Phase 698 role override CSV & effective permission export mesh parity complete) Platform carryover tracked: **0** (Phase 699 emoji registry CSV & sticker pack export mesh parity complete)
Skipped items tracked: **18** Skipped items tracked: **18**
--- ---
@@ -24,13 +24,73 @@ Skipped items tracked: **18**
## Now ## Now
_No active phase. Phase 699 will be opened when authorized (50 items)._ _No active phase. Phase 700 will be opened when authorized (50 items)._
--- ---
## Completed (recent) ## Completed (recent)
### Phase 699 — Emoji registry CSV & sticker pack export mesh parity (v0.8.674)
Signed guild emoji registry CSV mesh, sticker pack export modal, expression parity, and agentctl regression.
| ID | Item | Status |
|----|------|--------|
| P699-1 | Emoji registry CSV modal with virtual window for emoji rows | [x] |
| P699-2 | Emoji row aria-label includes name + slot state | [x] |
| P699-3 | Emoji list sort: name / slot / exported | [x] |
| P699-4 | Emoji filter chips: signed / unsigned / invalid HMAC | [x] |
| P699-5 | Emoji search by name or pack | [x] |
| P699-6 | Sticker pack detail modal with JSON preview | [x] |
| P699-7 | Clear emoji registry CSV confirmation modal | [x] |
| P699-8 | Managed expression channel lock indicator | [x] |
| P699-9 | Emoji export schedule panel with optimistic refresh | [x] |
| P699-10 | Emoji CSV HMAC validation + preview chip | [x] |
| P699-11 | Platform emoji.csv span metadata extend | [x] |
| P699-12 | Platform emoji CSV mesh gossip dedupe keys | [x] |
| P699-13 | Partition heal: emoji export cursor reconcile | [x] |
| P699-14 | Partition heal: sticker pack export cursor reconcile | [x] |
| P699-15 | Dev overlay: emoji-errors filter tightened | [x] |
| P699-16 | Dev-log clipboard guildEmojiCsvCount meta extend | [x] |
| P699-17 | Agentctl runEmojiRegistryCsvJourney | [x] |
| P699-18 | Agentctl runStickerPackExportJourney | [x] |
| P699-19 | Smoke test:phase699-emoji-csv static contract | [x] |
| P699-20 | Smoke test:agentctl-phase699-emoji journey chain | [x] |
| P699-21 | Integrate test:ci-phase699 RELEASE_CI gate | [x] |
| P699-22 | pear run boot gate after emoji CSV wiring | [x] |
| P699-23 | Docs: EMOJI_REGISTRY_CSV.md parity matrix update | [x] |
| P699-24 | Module README audit: pearcord-emoji + stickers CSV | [x] |
| P699-25 | UI-flow IPC: emoji CSV modal open + composer blur | [x] |
| P699-26 | Server settings emoji CSV mesh entry | [x] |
| P699-27 | Expression inherit indicator in channel editor | [x] |
| P699-28 | Emoji event groups in export builder | [x] |
| P699-29 | Forum emoji stub row in export list | [x] |
| P699-30 | Announcement emoji row highlight | [x] |
| P699-31 | Thread emoji inherit-from-parent banner | [x] |
| P699-32 | Emoji diff live region on gossip ingest | [x] |
| P699-33 | Guild-loading aria-busy on emoji CSV modal | [x] |
| P699-34 | Keyboard roving on emoji rows | [x] |
| P699-35 | Mobile layout: emoji CSV modal stack | [x] |
| P699-36 | Empty state when no emoji exports yet | [x] |
| P699-37 | Cross-guild emoji list partition scope guard | [x] |
| P699-38 | DM emoji N/A guard for guild export UI | [x] |
| P699-39 | Duplicate emoji ingest toast copy parity | [x] |
| P699-40 | emoji-csv-ui.js extracted modal helpers | [x] |
| P699-41 | emoji-csv-mixin.js platform gossip + heal | [x] |
| P699-42 | Release notes v0.8.674 draft | [x] |
| P699-43 | Gitea release notes v0.8.674 + roadmap Phase 700 planning | [x] |
| P699-44 | Incremental render hash for emoji CSV modal | [x] |
| P699-45 | Permission CSV bridge row in emoji settings | [x] |
| P699-46 | Managed integration lock indicator extend | [x] |
| P699-47 | Sticker pack bridge stub row in emoji registry | [x] |
| P699-48 | Emoji preset chips (registry/sticker/unicode) | [x] |
| P699-49 | Onboarding emoji CSV deep-link parity | [x] |
| P699-50 | Regression bundle includes phase698 permission CSV smokes | [x] |
Bundle: `npm run test:ci-phase699`. `emoji-csv-ui.js` + platform `emoji-csv-mixin.js`, emoji registry CSV mesh modal, sticker pack export, agentctl emoji + sticker journeys.
### Phase 698 — Role override CSV & effective permission export mesh parity (v0.8.673) ### Phase 698 — Role override CSV & effective permission export mesh parity (v0.8.673)
Signed channel permission overwrite CSV mesh, effective permission breakdown export, role hierarchy parity, and agentctl regression. Signed channel permission overwrite CSV mesh, effective permission breakdown export, role hierarchy parity, and agentctl regression.
@@ -2533,6 +2593,7 @@ For deferred items, use `[SKIP]` and include a brief reason inline.
## Changelog ## Changelog
- 2026-06-03 - Completed Phase 699 emoji registry CSV & sticker pack export mesh parity (v0.8.674): `emoji-csv-ui.js` + platform `emoji-csv-mixin.js`, emoji registry CSV mesh modal, sticker pack export, deep link `?emoji-csv=1`, ui-flow emoji CSV IPC, tightened **emoji-errors**, agentctl emoji + sticker journeys; bundle `npm run test:ci-phase699` (50/50). Opened Phase 700 planning slot.
- 2026-06-03 - Completed Phase 698 role override CSV & effective permission export mesh parity (v0.8.673): `permission-csv-ui.js` + platform `permission-csv-mixin.js`, role override CSV mesh modal, effective permission export, deep link `?permission-csv=1`, ui-flow permission CSV IPC, tightened **permission-errors**, agentctl override + effective journeys; bundle `npm run test:ci-phase698` (50/50). - 2026-06-03 - Completed Phase 698 role override CSV & effective permission export mesh parity (v0.8.673): `permission-csv-ui.js` + platform `permission-csv-mixin.js`, role override CSV mesh modal, effective permission export, deep link `?permission-csv=1`, ui-flow permission CSV IPC, tightened **permission-errors**, agentctl override + effective journeys; bundle `npm run test:ci-phase698` (50/50).
- 2026-06-03 - Completed Phase 697 invite link CSV & vanity URL export mesh parity (v0.8.672): `invite-csv-ui.js` + platform `invite-csv-mixin.js`, invite link CSV mesh modal, vanity URL export, deep link `?invite-csv=1`, ui-flow invite CSV IPC, tightened **invite-errors**, agentctl invite + vanity journeys; bundle `npm run test:ci-phase697` (50/50). Opened Phase 698 (role override CSV & effective permission export mesh parity, v0.8.673, 50 items). - 2026-06-03 - Completed Phase 697 invite link CSV & vanity URL export mesh parity (v0.8.672): `invite-csv-ui.js` + platform `invite-csv-mixin.js`, invite link CSV mesh modal, vanity URL export, deep link `?invite-csv=1`, ui-flow invite CSV IPC, tightened **invite-errors**, agentctl invite + vanity journeys; bundle `npm run test:ci-phase697` (50/50). Opened Phase 698 (role override CSV & effective permission export mesh parity, v0.8.673, 50 items).
- 2026-06-03 - Completed Phase 696 OAuth grant CSV & app install mesh parity (v0.8.671): `oauth-csv-ui.js` + platform `oauth-csv-mixin.js`, OAuth grant CSV mesh modal (bots as grants), install token export, deep link `?oauth-csv=1`, ui-flow OAuth CSV IPC, tightened **oauth-errors**, agentctl OAuth grant + install token journeys; bundle `npm run test:ci-phase696` (50/50). Opened Phase 697 (invite link CSV & vanity URL export mesh parity, v0.8.672, 50 items). - 2026-06-03 - Completed Phase 696 OAuth grant CSV & app install mesh parity (v0.8.671): `oauth-csv-ui.js` + platform `oauth-csv-mixin.js`, OAuth grant CSV mesh modal (bots as grants), install token export, deep link `?oauth-csv=1`, ui-flow OAuth CSV IPC, tightened **oauth-errors**, agentctl OAuth grant + install token journeys; bundle `npm run test:ci-phase696` (50/50). Opened Phase 697 (invite link CSV & vanity URL export mesh parity, v0.8.672, 50 items).
+9
View File
@@ -0,0 +1,9 @@
# Pearcord v0.8.674
## Emoji registry CSV & sticker pack export
- Signed emoji registry CSV export and mesh gossip (`EMOJI_REGISTRY_CSV_SYNC`).
- Sticker pack export CSV for mesh gossip (`STICKER_PACK_EXPORT_CSV_SYNC`).
- Server settings **Manage emoji registry CSV** and deep link `?emoji-csv=1`.
- Agentctl journeys for emoji registry and sticker pack export.
- Bundle: `npm run test:ci-phase699`.