Whatsup plan

Goal

Keep Whatsup a small public-room chat that proves shared app actions, durable records, browser/CLI projections, and ordinary interlace against a persistent laced endpoint.

Current architecture

Implemented workflows

Area CLI/browser behavior
Setup create locally; join from an invite; inspect status
Identity/profile create, import/export, show, update profile
Community root, steward choice, invite export
Rooms create, update, archive, list/show
Membership writer grant/revoke/list
Messages send, reply, edit, retract, list/show, threads
Reactions/files add/remove/list reactions; add/list/export attachments
Local activity read markers and notification dismissals
Connections peer add/list/remove; bounded/open sync
Endpoint deployment static policy/runtime/laced artifacts and browser setup URL
Discovery community-steward-marked waypoint endorsements

Current boundary

Rooms and supported records are public. Broad client exposure is not a private room policy. Do not introduce private records until the client and endpoint operands are narrowed and covered by a boundary-crossing test.

The endpoint policy intentionally retains otherwise valid writer history after a later revocation; client projection applies latest grant/revocation state. This is disclosure, not deletion.

Validation

deno task test
deno task typecheck
deno task build:gui

Run these separately; each command must remain under the repository’s 60-second limit.