Roadmap
P-003Open

Comments MVP on Journal, Register, and Roadmap entries

Threaded comments with a mutual-consent disclosure model — anonymous comments visible only to admins; registered comments default to author-public; both sides can opt into mutual disclosure.

Milestone
Pre-launch capture phase
Posted credit value
18credits
Founder credits accrued
0of 18
Owner
Creator
Related
G-035, Entry 015

What this project ships

  • Schema for comments parallel to reactions, keyed by (entry_kind, entry_slug) with the new roadmap enum value.
  • Three visibility states per comment: private (anonymous → only admins see content), author_public (registered → name + content public), and mutual (both parties consented to reveal each others' names).
  • Threading by parent_id with depth cap (2 levels at most for the MVP).
  • Moderation primitives: hide, redact, ban-by-token / ban-by-user.
  • Optimistic UI on submit; SSR render of the existing thread.

Why

G-035 leaves the comment model open. The capture phase has built the scaffolding (reactions, roadmap surface) without the participation layer that would let registered users actually engage with the governance content beyond reactions. Comments are the smallest addition that turns lurking into participation.

Open sub-questions

  • Notification model — do commenters get pinged when their thread is replied to? Email opt-in only?
  • Whether comments themselves carry credit weight (G-037).
  • Anti-abuse posture for anonymous comments — rate limits, captcha, hCaptcha on submission.

Acceptance criteria (placeholder, pending G-038 calibration)

  • Schema migration applied with RLS policies for the three visibility states.
  • Server actions: post, edit (registered only, time-windowed), delete (registered only, soft-delete).
  • Reading view renders threads with stable timestamps and visibility badges.
  • Admin moderation actions wired to the existing requireRole gate.

Your read on this

Anonymous reactions are accepted; signing in lets you change yours.