docs: Phase 552 compliance depth complete, Phase 553 planned (v0.8.515)
Mark P552 roadmap items done; add Phase 553 search depth section and changelog for split compliance panels, platform span metadata, and test bundle. Co-authored-by: Cursor <[email protected]>
This commit is contained in:
@@ -244,6 +244,15 @@ PEARCORD_SKIP_MESH_ROUNDTRIP=1 npm run test:agentctl-phase516-contacts
|
||||
|
||||
Extends `test:contacts` + `test:block-contacts` + `test:friend-presence` with split contacts guild-loading compositor (`syncContactsPanelsDuringGuildLoading`), platform `contacts.request`/`accept`/`decline` span metadata, dev-log **contacts-errors** filter + clipboard contacts meta, `#composer-contacts-hint`, `lastFriendRowId`, and Phase 515 DMs regression. Agentctl: `test:contacts` headless roundtrip.
|
||||
|
||||
**Compliance depth (v0.8.515):** Primary Phase 552 verification — combined bundle:
|
||||
|
||||
```bash
|
||||
npm run test:phase552-compliance
|
||||
PEARCORD_SKIP_MESH_ROUNDTRIP=1 npm run test:agentctl-phase552-compliance
|
||||
```
|
||||
|
||||
Extends `test:phase551-moderation` regression with split compliance export/archive/schedule panels; `.compliance-panel-live`/`.compliance-modal-live`; platform `auditEntryCount`/`exportLimit`/`meshPushed`; clipboard `complianceAuditFilterChipsBusy`/`complianceExportButtonsBusy`; ui-flow composer focus after `run-audit-export-now`/`sync-audit-export-csv`. Agentctl: chains `test:agentctl-phase536-compliance` + `smoke-agentctl-compliance-phase552`.
|
||||
|
||||
**Moderation depth (v0.8.514):** Primary Phase 551 verification — combined bundle:
|
||||
|
||||
```bash
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
Pearcord records **local audit entries** in HyperDB (`@pearcord/audit-log`) for moderation actions. There is no central audit API — each peer stores what it observes and performs.
|
||||
|
||||
**v0.8.515 (Phase 552):** Split compliance export filter/buttons and archive/schedule panels; `.compliance-panel-live`/`.compliance-modal-live`; platform `auditEntryCount` on append, `exportLimit` on export. **audit-errors** includes `audit.schedule`. ui-flow composer focus after scheduled export and mesh CSV sync. Bundle: `npm run test:phase552-compliance`.
|
||||
|
||||
**v0.8.499 (Phase 536):** Split compliance compositor panels; `setAuditRowsCurrent` tracks `lastAuditRowId` with roving `tabindex`; export buttons `aria-busy` during guild load. Platform `audit.append`/`audit.export` `spanKind` + `activeChannelId`. **audit-errors** / **compliance-errors** filters anchored with `$`. ui-flow composer focus after audit export. Bundle: `npm run test:phase536-compliance`.
|
||||
|
||||
**v0.8.450 (Phase 487):** Compliance compositor owns audit export/archive/schedule guild-loading guards and composer compliance hint. **audit-errors** / **compliance-errors** dev-log filters split. Bundle: `npm run test:phase487-compliance`.
|
||||
|
||||
+4
-2
@@ -13,6 +13,8 @@ Pearcord has **no central compliance API**. Moderation trails, signed CSV export
|
||||
|
||||
See [AUDIT_LOG.md](./AUDIT_LOG.md) and [DELIVERY_RECEIPTS.md](./DELIVERY_RECEIPTS.md).
|
||||
|
||||
**v0.8.515 (Phase 552):** Third compliance depth pass — split export filter/buttons, archive chrome/items, schedule toggles/fields/actions; `.compliance-panel-live`/`.compliance-modal-live`; platform `auditEntryCount`, `exportLimit`/`remainingExportCapacity`, `meshPushed`/`archiveAppended`; clipboard `complianceAuditFilterChipsBusy`/`complianceExportButtonsBusy`/`complianceArchiveChromeBusy`/`complianceScheduleTogglesBusy`; ui-flow composer focus after `run-audit-export-now`/`sync-audit-export-csv`. Bundle: `npm run test:phase552-compliance`.
|
||||
|
||||
**v0.8.499 (Phase 536):** Split compliance compositor (`syncComplianceAuditExportPanelDuringGuildLoading`, `syncComplianceArchivePanelDuringGuildLoading`, `syncComplianceSchedulePanelDuringGuildLoading`); export/schedule buttons `aria-busy` during guild load. Platform spans: `audit.append`/`audit.export`/`compliance.snapshot` with `spanKind` + `activeChannelId`. Dev-log **audit-errors** / **compliance-errors** anchored (`$`). Clipboard: `complianceExportBusy`, `complianceArchiveBusy`, `complianceScheduleBusy`, `lastAuditRowId`. ui-flow `composer-focus-channel` after `export-audit-log`. agentctl `exportGuildAuditLog`. Bundle: `npm run test:phase536-compliance`.
|
||||
|
||||
**v0.8.450 (Phase 487):** `syncCompliancePanelsDuringGuildLoading` splits export/archive/schedule guild-loading guards; `ensureComposerComplianceHint` for audit export state. Dev-log **compliance-errors** filter (`^compliance.snapshot error`) split from **audit-errors**. Platform: `audit.append` `hasTarget`/`hasDetail`; `audit.export` `archived`; `compliance.snapshot` `signed`/`format`. Clipboard: `auditExportArchiveCount`, `auditExportScheduleEnabled`, `auditExportSigned`. Bundle: `npm run test:phase487-compliance`.
|
||||
@@ -36,8 +38,8 @@ Dev-log **audit-errors** matches `^audit.(export|append) error$` only; **complia
|
||||
## Tests
|
||||
|
||||
```bash
|
||||
npm run test:phase536-compliance
|
||||
PEARCORD_SKIP_MESH_ROUNDTRIP=1 npm run test:agentctl-phase536-compliance
|
||||
npm run test:phase552-compliance
|
||||
PEARCORD_SKIP_MESH_ROUNDTRIP=1 npm run test:agentctl-phase552-compliance
|
||||
```
|
||||
|
||||
Regression: `npm run test:phase487-compliance`.
|
||||
|
||||
+112
-52
@@ -14053,62 +14053,121 @@ Fix guild switching, session boot gating, and theme/prefs application before mic
|
||||
|
||||
---
|
||||
|
||||
### Phase 552 — Compliance depth (v0.8.515)
|
||||
### Phase 552 — Compliance depth (v0.8.515) ✅
|
||||
|
||||
| ID | Item | Status |
|
||||
|----|------|--------|
|
||||
| P552-1 | Compliance: audit append roundtrip re-verify | [ ] |
|
||||
| P552-2 | Compliance: audit export roundtrip re-verify | [ ] |
|
||||
| P552-3 | Compliance: compliance snapshot roundtrip re-verify | [ ] |
|
||||
| P552-4 | UI: split compliance guild-loading compositor extend | [ ] |
|
||||
| P552-5 | UI: audit export panel guild-loading guard extend | [ ] |
|
||||
| P552-6 | UI: audit archive panel guild-loading guard extend | [ ] |
|
||||
| P552-7 | UI: audit schedule panel guild-loading guard extend | [ ] |
|
||||
| P552-8 | Platform: `audit.append` span metadata extend | [ ] |
|
||||
| P552-9 | Platform: `audit.export` span metadata extend | [ ] |
|
||||
| P552-10 | Platform: `compliance.snapshot` span metadata extend | [ ] |
|
||||
| P552-11 | Logging: dev-log **audit-errors** filter tighten | [ ] |
|
||||
| P552-12 | Logging: dev-log **compliance-errors** filter tighten | [ ] |
|
||||
| P552-13 | Logging: dev-log clipboard compliance meta extend | [ ] |
|
||||
| P552-14 | Agentctl: audit export headless re-verify | [ ] |
|
||||
| P552-15 | Agentctl: compliance snapshot headless re-verify | [ ] |
|
||||
| P552-16 | Agentctl: combined phase552 compliance bundle | [ ] |
|
||||
| P552-17 | Smoke: compliance-panels-guild-loading-extend-552 | [ ] |
|
||||
| P552-18 | Smoke: dev-log-audit-errors-tighten-extend-552 | [ ] |
|
||||
| P552-19 | Smoke: dev-log-clipboard-compliance-meta-extend-552 | [ ] |
|
||||
| P552-20 | UI: composer compliance hint extend | [ ] |
|
||||
| P552-21 | UI: audit row aria-current polish | [ ] |
|
||||
| P552-22 | UI: audit filter chips re-verify | [ ] |
|
||||
| P552-23 | UI: audit export modal re-verify | [ ] |
|
||||
| P552-24 | UI: composer autofocus after audit export re-verify | [ ] |
|
||||
| P552-25 | Compliance: signed export roundtrip re-verify | [ ] |
|
||||
| P552-26 | Compliance: archive mesh push re-verify | [ ] |
|
||||
| P552-27 | Compliance: schedule timer re-verify | [ ] |
|
||||
| P552-28 | Compliance: retention policy re-verify | [ ] |
|
||||
| P552-29 | Docs: `COMPLIANCE.md` refresh | [ ] |
|
||||
| P552-30 | Docs: `AUDIT_LOG.md` refresh | [ ] |
|
||||
| P552-31 | Docs: `AGENTCTL.md` phase 552 bundle | [ ] |
|
||||
| P552-32 | Regression: moderation phase 551 smokes still pass | [ ] |
|
||||
| P552-33 | Regression: roles phase 550 smokes still pass | [ ] |
|
||||
| P552-34 | Boot: session ready gate | [ ] |
|
||||
| P552-35 | Boot: pear run gate | [ ] |
|
||||
| P552-36 | Module: `pearcord-audit` README accuracy | [ ] |
|
||||
| P552-37 | Module: `pearcord-platform` README compliance section | [ ] |
|
||||
| P552-38 | Smoke: platform-compliance-span-metadata-extend-552 | [ ] |
|
||||
| P552-39 | Smoke: platform-audit-export-span-metadata-extend-552 | [ ] |
|
||||
| P552-40 | Mesh: audit gossip roundtrip re-verify | [ ] |
|
||||
| P552-41 | Mesh: export archive roundtrip re-verify | [ ] |
|
||||
| P552-42 | UI: compliance panel aria-busy polish | [ ] |
|
||||
| P552-43 | UI: audit modal live region re-verify | [ ] |
|
||||
| P552-44 | UI: companion compliance defer re-verify | [ ] |
|
||||
| P552-45 | UI: dev-log clipboard audit filter meta extend | [ ] |
|
||||
| P552-46 | UI: audit CSV download re-verify | [ ] |
|
||||
| P552-47 | UI: compliance cross-link re-verify | [ ] |
|
||||
| P552-48 | UI: audit schedule filter re-verify | [ ] |
|
||||
| P552-49 | UI: compliance P2P fanout re-verify | [ ] |
|
||||
| P552-50 | Phase 553 search depth (v0.8.516) | [ ] |
|
||||
| P552-1 | Compliance: audit append roundtrip re-verify | [x] |
|
||||
| P552-2 | Compliance: audit export roundtrip re-verify | [x] |
|
||||
| P552-3 | Compliance: compliance snapshot roundtrip re-verify | [x] |
|
||||
| P552-4 | UI: split compliance guild-loading compositor extend | [x] |
|
||||
| P552-5 | UI: audit export panel guild-loading guard extend | [x] |
|
||||
| P552-6 | UI: audit archive panel guild-loading guard extend | [x] |
|
||||
| P552-7 | UI: audit schedule panel guild-loading guard extend | [x] |
|
||||
| P552-8 | Platform: `audit.append` span metadata extend | [x] |
|
||||
| P552-9 | Platform: `audit.export` span metadata extend | [x] |
|
||||
| P552-10 | Platform: `compliance.snapshot` span metadata extend | [x] |
|
||||
| P552-11 | Logging: dev-log **audit-errors** filter tighten | [x] |
|
||||
| P552-12 | Logging: dev-log **compliance-errors** filter tighten | [x] |
|
||||
| P552-13 | Logging: dev-log clipboard compliance meta extend | [x] |
|
||||
| P552-14 | Agentctl: audit export headless re-verify | [x] |
|
||||
| P552-15 | Agentctl: compliance snapshot headless re-verify | [x] |
|
||||
| P552-16 | Agentctl: combined phase552 compliance bundle | [x] |
|
||||
| P552-17 | Smoke: compliance-panels-guild-loading-extend-552 | [x] |
|
||||
| P552-18 | Smoke: dev-log-audit-errors-tighten-extend-552 | [x] |
|
||||
| P552-19 | Smoke: dev-log-clipboard-compliance-meta-extend-552 | [x] |
|
||||
| P552-20 | UI: composer compliance hint extend | [x] |
|
||||
| P552-21 | UI: audit row aria-current polish | [x] |
|
||||
| P552-22 | UI: audit filter chips re-verify | [x] |
|
||||
| P552-23 | UI: audit export modal re-verify | [x] |
|
||||
| P552-24 | UI: composer autofocus after audit export re-verify | [x] |
|
||||
| P552-25 | Compliance: signed export roundtrip re-verify | [x] |
|
||||
| P552-26 | Compliance: archive mesh push re-verify | [x] |
|
||||
| P552-27 | Compliance: schedule timer re-verify | [x] |
|
||||
| P552-28 | Compliance: retention policy re-verify | [x] |
|
||||
| P552-29 | Docs: `COMPLIANCE.md` refresh | [x] |
|
||||
| P552-30 | Docs: `AUDIT_LOG.md` refresh | [x] |
|
||||
| P552-31 | Docs: `AGENTCTL.md` phase 552 bundle | [x] |
|
||||
| P552-32 | Regression: moderation phase 551 smokes still pass | [x] |
|
||||
| P552-33 | Regression: roles phase 550 smokes still pass | [x] |
|
||||
| P552-34 | Boot: session ready gate | [x] |
|
||||
| P552-35 | Boot: pear run gate | [x] |
|
||||
| P552-36 | Module: `pearcord-audit` README accuracy | [x] |
|
||||
| P552-37 | Module: `pearcord-platform` README compliance section | [x] |
|
||||
| P552-38 | Smoke: platform-compliance-span-metadata-extend-552 | [x] |
|
||||
| P552-39 | Smoke: platform-audit-export-span-metadata-extend-552 | [x] |
|
||||
| P552-40 | Mesh: audit gossip roundtrip re-verify | [x] |
|
||||
| P552-41 | Mesh: export archive roundtrip re-verify | [x] |
|
||||
| P552-42 | UI: compliance panel aria-busy polish | [x] |
|
||||
| P552-43 | UI: audit modal live region re-verify | [x] |
|
||||
| P552-44 | UI: companion compliance defer re-verify | [x] |
|
||||
| P552-45 | UI: dev-log clipboard audit filter meta extend | [x] |
|
||||
| P552-46 | UI: audit CSV download re-verify | [x] |
|
||||
| P552-47 | UI: compliance cross-link re-verify | [x] |
|
||||
| P552-48 | UI: audit schedule filter re-verify | [x] |
|
||||
| P552-49 | UI: compliance P2P fanout re-verify | [x] |
|
||||
| P552-50 | Phase 553 search depth (v0.8.516) | [x] |
|
||||
|
||||
**Next:** P552-1–P552-49.
|
||||
**Next:** ~~Phase 552~~ (complete). Split compliance export filter/buttons, archive chrome/items, schedule toggles/fields/actions; `.compliance-panel-live`/`.compliance-modal-live`; platform `auditEntryCount`/`exportLimit`/`meshPushed`; clipboard compliance busy flags; ui-flow composer focus after `run-audit-export-now`/`sync-audit-export-csv`; bundle `npm run test:phase552-compliance`. Phase 553 planned (50 items).
|
||||
|
||||
---
|
||||
|
||||
### Phase 553 — Search depth (v0.8.516)
|
||||
|
||||
| ID | Item | Status |
|
||||
|----|------|--------|
|
||||
| P553-1 | Search: guild message search roundtrip re-verify | [ ] |
|
||||
| P553-2 | Search: DM search roundtrip re-verify | [ ] |
|
||||
| P553-3 | Search: pinned search roundtrip re-verify | [ ] |
|
||||
| P553-4 | UI: split search guild-loading compositor extend | [ ] |
|
||||
| P553-5 | UI: search field panel guild-loading guard extend | [ ] |
|
||||
| P553-6 | UI: search results panel guild-loading guard extend | [ ] |
|
||||
| P553-7 | UI: search scope panel guild-loading guard extend | [ ] |
|
||||
| P553-8 | Platform: `search.messages` span metadata extend | [ ] |
|
||||
| P553-9 | Platform: `search.dms` span metadata extend | [ ] |
|
||||
| P553-10 | Platform: `search.pins` span metadata extend | [ ] |
|
||||
| P553-11 | Logging: dev-log **search-errors** filter tighten | [ ] |
|
||||
| P553-12 | Logging: dev-log clipboard search meta extend | [ ] |
|
||||
| P553-13 | Agentctl: guild search headless re-verify | [ ] |
|
||||
| P553-14 | Agentctl: combined phase553 search bundle | [ ] |
|
||||
| P553-15 | Smoke: search-panels-guild-loading-extend-553 | [ ] |
|
||||
| P553-16 | Smoke: dev-log-search-errors-tighten-extend-553 | [ ] |
|
||||
| P553-17 | Smoke: dev-log-clipboard-search-meta-extend-553 | [ ] |
|
||||
| P553-18 | UI: composer search hint extend | [ ] |
|
||||
| P553-19 | UI: search hit aria-current polish | [ ] |
|
||||
| P553-20 | UI: search filter chips re-verify | [ ] |
|
||||
| P553-21 | UI: search scope select re-verify | [ ] |
|
||||
| P553-22 | UI: composer autofocus after search clear re-verify | [ ] |
|
||||
| P553-23 | Search: typeahead debounce re-verify | [ ] |
|
||||
| P553-24 | Search: Alt+Backspace typeahead re-verify | [ ] |
|
||||
| P553-25 | Search: empty state copy re-verify | [ ] |
|
||||
| P553-26 | Search: cross-guild scope re-verify | [ ] |
|
||||
| P553-27 | Docs: `SEARCH.md` refresh | [ ] |
|
||||
| P553-28 | Docs: `AGENTCTL.md` phase 553 bundle | [ ] |
|
||||
| P553-29 | Regression: compliance phase 552 smokes still pass | [ ] |
|
||||
| P553-30 | Regression: moderation phase 551 smokes still pass | [ ] |
|
||||
| P553-31 | Boot: session ready gate | [ ] |
|
||||
| P553-32 | Boot: pear run gate | [ ] |
|
||||
| P553-33 | Module: `pearcord-search` README accuracy | [ ] |
|
||||
| P553-34 | Module: `pearcord-platform` README search section | [ ] |
|
||||
| P553-35 | Smoke: platform-search-span-metadata-extend-553 | [ ] |
|
||||
| P553-36 | Smoke: platform-search-dm-span-metadata-extend-553 | [ ] |
|
||||
| P553-37 | Mesh: search gossip roundtrip re-verify | [ ] |
|
||||
| P553-38 | UI: search panel aria-busy polish | [ ] |
|
||||
| P553-39 | UI: search live region re-verify | [ ] |
|
||||
| P553-40 | UI: companion search defer re-verify | [ ] |
|
||||
| P553-41 | UI: dev-log clipboard search scope meta extend | [ ] |
|
||||
| P553-42 | UI: search keyboard nav re-verify | [ ] |
|
||||
| P553-43 | UI: search result jump re-verify | [ ] |
|
||||
| P553-44 | UI: search P2P fanout re-verify | [ ] |
|
||||
| P553-45 | UI: inbox search cross-link re-verify | [ ] |
|
||||
| P553-46 | UI: channel search re-verify | [ ] |
|
||||
| P553-47 | UI: forum search re-verify | [ ] |
|
||||
| P553-48 | UI: search min query hint re-verify | [ ] |
|
||||
| P553-49 | UI: search composer autofocus re-verify | [ ] |
|
||||
| P553-50 | Phase 554 messaging depth (v0.8.517) | [ ] |
|
||||
|
||||
**Next:** P553-1–P553-49.
|
||||
|
||||
---
|
||||
|
||||
@@ -15559,6 +15618,7 @@ Absorbed into Phase 273 (P273-5–P273-8, P273-11–P273-12). See Phase 274 for
|
||||
- **2026-05-24** — v0.8.479: Phase 516 — split contacts guild-loading compositor; `contacts.request`/`accept`/`decline` span metadata; dev-log contacts-errors filter + clipboard contacts meta; bundle `test:phase516-contacts`. Phase 517 planned.
|
||||
- **2026-05-24** — v0.8.478: Phase 515 — split DMs guild-loading compositor; `dm.open`/`dm.send`/`dm.group.create` span metadata; dev-log dm-errors filter tighten + clipboard DM meta; bundle `test:phase515-dms`. Phase 516 planned.
|
||||
- **2026-05-24** — v0.8.477: Phase 514 — split invites guild-loading compositor; `guild.invite`/`invite.join`/`invite.revoke` span metadata; dev-log invite-errors filter + clipboard meta; bundle `test:phase514-invites`. Phase 515 planned.
|
||||
- **2026-05-24** — v0.8.515: Phase 552 — split compliance export/archive/schedule panels; `.compliance-panel-live`/`.compliance-modal-live`; platform `auditEntryCount`/`exportLimit`/`meshPushed`; clipboard `complianceAuditFilterChipsBusy`/`complianceExportButtonsBusy`; ui-flow composer focus after `run-audit-export-now`/`sync-audit-export-csv`; bundle `npm run test:phase552-compliance`. Phase 553 planned (50 items).
|
||||
- **2026-05-24** — v0.8.514: Phase 551 — split automod toggles/fields/actions + ban/member moderation panels; `.moderation-panel-live`/`.moderation-modal-live`; platform `memberCount`/`activeTimeoutCount`/`keywordCount`; clipboard `moderationAutomodTogglesBusy`/`moderationTimeoutModalBusy`/`moderationBanListChromeBusy`; bundle `npm run test:phase551-moderation`. Phase 552 planned (50 items).
|
||||
- **2026-05-24** — v0.8.513: Phase 550 — split role list chrome/items + channel perm panels; `.roles-panel-live`/`.roles-modal-live`; platform `customRoleCount` on update/delete, `channelOverwriteCount`/`remainingOverwriteCount`; clipboard `rolesListChromeBusy`/`rolesChannelPermControlsBusy`/`rolesCreateEditorBusy`; ui-flow composer focus after delete/reorder role; bundle `npm run test:phase550-roles`. Phase 551 planned (50 items).
|
||||
- **2026-05-24** — v0.8.512: Phase 549 — split channel list chrome/rows + category create/rename/collapse panels; `.guild-admin-modal-live`; platform `channelCount`/`remainingChannelCount`/`reorderedAll`; clipboard `guildAdminChannelModalBusy`/`guildAdminCategoryModalBusy`; ui-flow composer focus after `rename-channel`/`create-category`; bundle `npm run test:phase549-guild-admin`. Phase 550 planned (50 items).
|
||||
|
||||
Reference in New Issue
Block a user