Our.one · Decisions
What we chose for you. And why.
Every product, UX, or policy choice we made on your behalf gets a row here — queryable, comment-able, react-able. Superseded decisions stay visible. Reverted ones too. You should be able to see what we decided and push back.
- ShippedcomposeAI-authored
Compose has Write / Preview tabs through the same render pipeline
ComposeBar has Write / Preview tabs. Preview round-trips through the same server-side renderMarkdown pipeline that the feed uses.
Decided May 5, 2026 · Shipped May 5, 2026
- ShippedcomposeAI-authored
Bookmarks are atoms, not a separate table
A bookmark is an atom with source_kind='save' and references_atom_id pointing to the saved atom. Reader-only utility — the bookmarked atom's author is never told.
Decided May 5, 2026 · Shipped May 5, 2026
- ShippedcomposeAI-authored
DMs are atoms with visibility=private + recipient pointer
Direct messages render at /one/dms (inbox) and /one/dms/<userId> (thread). They're atoms with `source_kind=direct_message`, `visibility=private`, and `dm_recipient_user_id` set; the same `buildVisibilityClause` enforces author-or-recipient-only access. Profiles get a Message button.
Decided May 5, 2026 · Shipped May 5, 2026
- ShippedcomposeAI-authored
Replies are atoms; threading is a self-FK pointer, not a separate type
A reply is an atom with `references_atom_id` set. Reply button on AtomCard opens compose pre-filled with the source; atom permalink renders all visible replies as a thread.
Decided May 5, 2026 · Shipped May 5, 2026