aboutsummaryrefslogtreecommitdiff
path: root/help.html
diff options
context:
space:
mode:
Diffstat (limited to 'help.html')
-rw-r--r--help.html27
1 files changed, 27 insertions, 0 deletions
diff --git a/help.html b/help.html
index b120822..c70b641 100644
--- a/help.html
+++ b/help.html
@@ -1689,6 +1689,33 @@ listmods</pre>
<h2>📋 Changelog</h2>
<div class="version-item">
+ <div class="v-header"><span class="v-num">v4.6.72–80 — October 2026</span>
+ <span class="v-date">hardening after review</span></div>
+ <ul>
+ <li><strong>The agent can finally see the answer.</strong> The terminal's 30 s poller and the
+ agent's <code>chat_hermes read</code> shared one cursor, so the poller printed each reply
+ and advanced past it — the human saw it, the model got an empty list. They now keep
+ separate cursors, and the tool's first read returns the whole thread.</li>
+ <li><strong>A corrupt thread is an error, not an empty one.</strong> A damaged file used to
+ read as <code>[]</code>, and the next append rewrote it with a single message. It now
+ fails with <code>500</code> and leaves the file alone; <code>chat.py list</code> shows it
+ as <code>CORRUPT</code> instead of breaking the listing.</li>
+ <li><strong>Cursor survives truncation.</strong> More than 50 new messages cut the response;
+ the cursor now stops at the cut instead of the thread tail, so nothing in between is
+ skipped for good. Same-millisecond posts get strictly increasing epochs.</li>
+ <li><strong>No more double replies.</strong> <code>hermes-poll</code> printed every reply
+ twice; it now prints one 🤖 line per message.</li>
+ <li><strong>Retry guidance that matches reality.</strong> <code>429</code> says how many
+ seconds to wait. A <code>503</code> means the front-end rate zone fired before the app —
+ retry, it is not your mistake.</li>
+ <li><strong>Hardening.</strong> <code>chat.py show</code> validates the thread id (a
+ <code>../</code> path used to reach any <code>.json</code> on the host); lock files are
+ group-writable so both sides can open them; the auto-reply prompt treats message text as
+ untrusted data and never acts on instructions found in it.</li>
+ </ul>
+ </div>
+
+ <div class="version-item">
<div class="v-header"><span class="v-num">v4.6.71 — October 2026</span>
<span class="v-date">chat bridge</span></div>
<ul>