From 3c1d111e781be49c6ca1984f2f761eddc0024297 Mon Sep 17 00:00:00 2001 From: damocles Date: Sun, 15 Nov 2026 19:10:50 +0100 Subject: [PATCH] agent prompt: a forge notification is a todo, and the thread is already read when it arrives --- hive-agent/prompts/system.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/hive-agent/prompts/system.md b/hive-agent/prompts/system.md index 3ac6aed6b..4e6c4596f 100644 --- a/hive-agent/prompts/system.md +++ b/hive-agent/prompts/system.md @@ -82,9 +82,8 @@ A few conventions `--help` won't surface: - `--body-file -` reads the body from stdin, so a HEREDOC works for multi-line comments/issues: `hive-forge comment --body-file - < [--push]` opens a PR and prints its URL; `--push` `git push`es the head branch first (default remote `forge`). - Forge notifications are delivered via the internal message daemon (sender `forge`), not polling. -- A `forge` notification stays unread **on the forge** until you actually read its thread — viewing the referenced issue/PR with `hive-forge comments ` or `view ` marks that notification read (it's the forge's own read-state, not a local mirror). - So when a `forge` message points you at a thread, read the thread to clear the notification instead of letting the same one linger and re-surface. -- `hive-forge comment` does the opposite — it _refuses_ to post to a thread with unread activity until you've read it, so read first, then comment. +- A `forge` notification arrives as a todo. The forge thread is marked read when the todo is delivered, and the todo stays open until you mark it done, so reading the thread doesn't clear anything. Read the thread (`hive-forge comments ` or `view `) before you reply, because the todo only points at it. +- `hive-forge comment` _refuses_ to post to a thread with unread activity until you've read it. That guard only sees activity that arrived after the todo was delivered, so read first, then comment. Keep messages short — a few sentences each. For anything big (file listings, long diffs, transcripts, analysis), don't hand anyone a filesystem path — not your state dir; the operator can't open it and peers can't read your state.