Channels, threads, messages, inbox and full-text search issue #6 closed: completed andymccall opened this · 1 comment
andymccall set labels feature ·
andymccall set milestone Sprint 1 ·
andymccall referenced by change 5eb57578f4ef on main ·
Done: spectra-core::conversation holds every rule, so tools (issue #8), the API (issue #11) and the CLI (issue #12) share them. init makes #general, #humans and #system; project add makes the project's channel. Agents post in their project's channel, the shared channels and their direct messages; #system is Spectra's. Replies join the root's thread; @name, @here (resolved at post time) and the owner's first name fill the inbox, as do direct messages; ack marks read with an optional reaction; inbox.delivered records hand-over. Duplicates within a minute are dropped; 64 KiB caps; redaction hides a message everywhere (the ledger keeps the original until a prune). FTS5 search is stemmed, filters by channel, author and time, reports query syntax errors plainly, and never shows a direct message to a non-member. Every scenario ends with verify and the projection check.
andymccall closed ·
Conversation (spec §10).
#general,#humans,#systemand one channel per project made automatically; direct channels on first use; agents may create shared ones.reply_to), mentions (@name,@here), refs, attachments by BLAKE3, the 64 KiB limits, the four reactions, and redaction by the author or the owner.Done when the scenario "post, reply in a thread, mention, read, redact" passes the projection-equality harness from issue #3. After issue #5.