Collaboration
Two right-rail panels for staying aware of changes you didn't make — per-page discussion threads and the site-wide activity feed.
The CMS has two collaboration surfaces in the right rail, both about staying aware of what other people are doing on your content without having to read the git log or open every page individually.
- Discussion — per-page comment threads with unread badges. The non-destructive way to flag changes ("the hero copy is too long" / "should this CTA link to /signup or /book-demo?") without editing the page yourself.
- Activity — site-wide event feed showing clones, content writes, uploads, and AI runs as they happen.
Both are read-only awareness surfaces — they don't change content; they just tell you what's going on.
Discussion threads
Every page in the editor has its own discussion thread, anchored to the page itself rather than the file path — so renaming or moving a page keeps its conversation intact. Open it from the right-rail Discussion tab; the tab carries an unread badge when there are messages you haven't seen.
What you can do
| Action | How | What you see |
|---|---|---|
| Post a message | Type into the textarea, Cmd/Ctrl + Enter | Your message appears at the bottom of the thread immediately |
| Edit your own | Hover over your message, click the edit icon | The textarea swaps inline; saves on Cmd/Ctrl + Enter |
| Delete your own | Hover over your message, click the trash icon | The message disappears from the thread |
| See unread count | The Discussion tab's badge | Red dot with count when other authors posted since your last open |
| Mark thread read | Open the Discussion tab | Badge clears automatically |
Scroll up to load older messages — long threads page in transparently.
Unread tracking
The CMS remembers where you left off per page. When other authors post after your last visit, the Discussion tab shows an unread badge with the count. Opening the tab clears it; your own posts and deleted messages don't count toward unread.
Edit + delete
- Only the author can edit or delete their own messages.
- Edits show an "edited" tag next to the timestamp so other authors can tell when something was reworded after the fact.
- Deleted messages are gone from the thread — you can't recover them through the editor. (The audit log keeps a tombstone so admins can investigate if needed.)
When NOT to use discussion
- For schema validation feedback — the Errors panel is the right surface for "this field is missing" / "this regex doesn't match." Discussion is for opinion and intent, not rule violations.
- For change history — the Version history tab shows the actual edits commit-by-commit. Discussion is the conversation about the page, not the diff.
- For ad-hoc questions during an edit session — the AI Assistant is a faster way to ask "what's wrong with this page?" without recruiting another human.
Use discussion for asynchronous, human-to-human feedback: review notes, sign-offs, "let's revisit this when X ships" pointers.
Activity feed
The right-rail Activity tab shows real-time events for the whole site (not just the page you have open). Useful for teams who want to glance at "what's happening on the site right now" without polling git or hunting through PR notifications.
What events show up
Each row represents one operation, with a status icon (pending → running → succeeded / failed / cancelled), a progress bar for long-running jobs, and a relative timestamp.
The events you'll see:
| Event | Triggered when |
|---|---|
| Initial clone | The CMS first imports your site's repo |
| Repo refresh | A push to your branch (external or via the CMS) triggers a sync |
| Content write | A page is published — manually, via AI Assistant, or via direct git push |
| Schema generation | The AI Investigator runs — full bootstrap or single-block (see AI schema generation) |
Live vs offline
The panel header shows a "Live" indicator with a status dot:
- Live (emerald) — new events stream in instantly.
- Offline (grey) — the connection's been lost; existing rows still display, but new events won't appear until the connection re-establishes (which it does automatically on the next visit).
When you open the panel cold, recent history loads immediately so you're not staring at an empty list while the live stream handshakes.
How it interacts with your editing
When another author publishes a change to a page you don't have open, the Activity row appears and the next time you open that page you'll see their version. When another author publishes a change to a page you DO have open, the Activity row appears but your working copy stays put — auto-overwriting would clobber your unpublished draft. Use the Version history tab to see what they changed and reconcile.
Long-running operations (initial clones, AI schema generation) show their progress as a thin bar under the row, refreshing as the backend reports new percentages.
Scroll the list to see older entries.
When NOT to use the activity feed
- For audit / compliance trails. The feed shows jobs the CMS ran — not "every change ever made to the site." For full history, the git log on your repo is the authoritative source.
- For knowing who edited what. The Activity panel doesn't show author avatars yet. Use the Version history tab on the specific page when you want to know who touched it.
Activity is glanceable awareness — "is the site quiet right now?", "did that big clone finish?", "did the AI generation succeed?" Not a replacement for git log or per-page history.
Together
Discussion and Activity are paired surfaces:
- Discussion is opinions about the page you have open.
- Activity is operations across the whole site.
Both leave the underlying content untouched — they're awareness layers, not editing surfaces. Edits go through the regular page editor, the AI Assistant, or direct git pushes; Discussion and Activity just keep you in the loop on what other people are doing.
What's not there yet
Refinements on the list but not shipped:
- Threaded replies. Discussion is flat today — no nested reply chains. Fine for short conversations; nesting would help for long ones.
- @-mentions. No way to ping a specific user in a discussion message yet.
- Notification preferences. The unread badge is always on; no way to subscribe / unsubscribe per page or per site.
- Author chips on Activity rows. Showing who triggered each event with an avatar / name.
- Activity filters. Filter by event type, date range, or author. A single chronological list is fine until volume grows.