slashvibe-mcp 0.8.18 — published from the public source-of-record at e2ec5ac.
Presence is recency-honest everywhere. The vibe_start card, the online list, the terminal title, and the iTerm badge count only recent verified heartbeats — the same isHereNow rule vibe_who and vibe_dm already used. Away and stale rows say so in words, never in green.
Tips name only commands that exist. Every rotating tip, the guided-action fallback, and the who-view suggestion now reference tools a default session actually registers.
Zero analytics. The setup_complete event is removed; the client's only analytics emission is gone, and SECURITY.md's no-telemetry claim is enforced by a test that sweeps every shipped source file.
Replies carry their question. vibe_reply accepts an explicit reply target (message #ids are shown beside messages in the thread view); unknown targets are refused with the candidate messages listed — never silently the newest. Receipts name the new message id and its target; thread views render the quoted parent and honestly mark replies to unavailable messages. Reply linkage is validated server-side (same-conversation, undeleted, one uniform refusal).
Release process: published by the tag workflow from reviewed public main; the post-publish verify job confirmed npm↔production parity and ran full conformance against the registry artifact.