From 32201b34cf7c4c4b5671e0ef7da78f9ab95c4f70 Mon Sep 17 00:00:00 2001 From: Fisto Date: Fri, 11 Sep 2026 16:14:13 +0200 Subject: [PATCH] Note all pending discussions in CURRENT, AGENTS, TODO --- AGENTS.md | 3 +++ CURRENT.md | 17 +++++++++++++++++ TODO.md | 20 +++++++++++++------- 3 files changed, 33 insertions(+), 7 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index d322c58..f2fd097 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -71,6 +71,9 @@ See [CURRENT.md](CURRENT.md) and [TODO.md](TODO.md) for the live list. The main 5. MCP event delivery decision. 6. Collector account with read-only voice membership. +Open decisions wait in [CURRENT.md](CURRENT.md) → Open discussions: MCP event delivery, untrusted +logging, the privacy pass, the setup command flow, and the first live reaction check. + ## Resume checklist 1. Read [CURRENT.md](CURRENT.md) and [TODO.md](TODO.md). diff --git a/CURRENT.md b/CURRENT.md index 8919ab3..583ea15 100644 --- a/CURRENT.md +++ b/CURRENT.md @@ -40,6 +40,23 @@ persistent logging. Voice, audio, and video stay deferred. 6. Collector account: read-only modules for voice membership fallback. 7. Later: voice actions, audio, video, client lightening, web debug UI, remote authentication. +## Open discussions (need the user) + +These items were discussed and wait for a decision or a live check. + +1. **MCP event delivery.** The MCP server is stateless, so it cannot push events. Options: (a) poll + the logs with a `since` cursor, (b) a stateful Streamable HTTP session with server notifications, + (c) a separate local SSE or WebSocket event stream. Option (a) works today. Decide before an LLM + attaches. +2. **Untrusted logging.** Untrusted interactions are ignored at this time. The separate 30-entry + buffer exists but receives nothing. Confirm whether to log untrusted DMs and mentions again. +3. **Privacy pass.** Only token-shaped and `mfa.` strings are redacted, and only in the persistent + action log. A fuller policy (retention, cache clearing, message redaction) is deferred. +4. **First live run of reactions.** `reaction.add` and the message-ID return are mock-verified only. + The first real-client poll must confirm Discord's internal `addReaction` lookup. +5. **Setup command flow.** The reaction-based multiple-choice design is recorded in `TODO.md`. The + poll command now provides the reaction machinery. + ## Blocked / needs input - The original repo `zib/Veskslop` has a broken server-side git setup. Fetches and clones fail with diff --git a/TODO.md b/TODO.md index 2b336cc..bf05182 100644 --- a/TODO.md +++ b/TODO.md @@ -50,12 +50,18 @@ Next: - Collector account: stripped-down read-only modules. Use it when the puppet cannot find a user's voice channel or the channel members. -## MCP event delivery (open) +## Open decisions -The current Streamable HTTP mode is stateless. The server cannot push events. Options: +- **MCP event delivery.** The current Streamable HTTP mode is stateless. The server cannot push + events. Options: + 1. Poll `get_message_log` and `get_action_log` with a `since` cursor. No new transport work. + 2. A stateful Streamable HTTP session. The server can send notifications. + 3. A separate local event stream over SSE or a WebSocket. -1. Poll `get_message_log` and `get_action_log` with a cursor. No new transport work. -2. A stateful Streamable HTTP session. The server can send notifications. -3. A separate local event stream over SSE or a WebSocket. - -Option 1 works today. Options 2 and 3 need a decision before an LLM attaches. + Option 1 works today. Options 2 and 3 need a decision before an LLM attaches. +- **Untrusted logging.** Untrusted interactions are ignored at this time. The separate 30-entry + buffer exists but receives nothing. Decide whether to log untrusted DMs and mentions again. +- **Privacy pass.** Only token-shaped and `mfa.` strings are redacted, and only in the persistent + action log. Decide the fuller policy (retention, cache clearing, message redaction) later. +- **Live reaction check.** `reaction.add` and the message-ID return are mock-verified only. Confirm + Discord's internal `addReaction` lookup on the first real-client run.