From d0a6c805a142b6a637913a6af876a08e72bcb1f7 Mon Sep 17 00:00:00 2001 From: Agando Date: Fri, 23 Oct 2026 19:36:52 +0200 Subject: feat(newos4): hermes command, auto-poll, chat_hermes tool, token reset (v4.6.73) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Phase C as repo edits (browser edits in _mods/ do not survive a reload). - `hermes `: sends through the chat endpoint and always prints an outcome — '📨 Sending…' then either '✅ sent id=… epoch=…' or a coded error with a hint (429 retry later, 503 host busy, 401 run hermes-reset). `feedback` stays as the alias. - NOT named `chat`: ChatStudioModule already registers `chat` and dispatch walks modules in order, so a second `chat` was silently unreachable. Found by test, not by reading. - `hermes-poll` / `feedback-inbox`, `hermes-reset` (token rotation). - Poller: 30 s, paused while the tab is hidden, polls on visibilitychange, first poll adopts the cursor and prints nothing, cursor persisted in webx11_chat_state. - `chat_hermes` tool: send + read from inside the agent loop. - Contract/help updated for the rename. Acceptance: 'hermes acceptance test' in the browser, reply written host-side with scripts/chat.py, appeared in the terminal by itself 30 s later with no command typed (cursor 1792776973800). --- _docs/chat-contract.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to '_docs/chat-contract.md') diff --git a/_docs/chat-contract.md b/_docs/chat-contract.md index ee2d006..6f94d79 100644 --- a/_docs/chat-contract.md +++ b/_docs/chat-contract.md @@ -83,8 +83,12 @@ relay cron. A conversation is not an archive. ## What this replaces -`feedback ` and `chat ` are the **same code path**; `feedback` is a deprecated alias. -Neither writes to the bug-report intake any more. `chat-poll` = `feedback-inbox`. +`feedback ` and `hermes ` are the **same code path**; `feedback` is the legacy alias, +`hermes` the explicit one. Neither writes to the bug-report intake any more. + +The command is **not** called `chat`: `ChatStudioModule` already registers `chat` (it toggles the +chat overlay) and command dispatch walks modules in order, so a second `chat` is unreachable. +`hermes-poll` = `feedback-inbox`; `hermes-reset` rotates the token. `POST /api/debug/agent-replies.php` is retired in favour of this contract: after the acceptance round trip it answers `410 Gone` with a pointer to `/api/chat/post.php`. One write path, one truth. -- cgit v1.2.3