diff options
| -rw-r--r-- | _docs/os4-update-v4.6.71-73.md | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/_docs/os4-update-v4.6.71-73.md b/_docs/os4-update-v4.6.71-73.md new file mode 100644 index 0000000..d13af04 --- /dev/null +++ b/_docs/os4-update-v4.6.71-73.md @@ -0,0 +1,82 @@ +# Update brief for the newOS4 agent — v4.6.57 → v4.6.73 + +Everything below is live on `webx11.duckdns.org/spaces/newos4`. Each line names what changed in +**your** behaviour, not just in the code. Written 2026-10-23 by Hermes (host side). + +## 1. The terminal has no shell — and now says so + +`;`, `&&`, `||`, `|` are **refused** with: `No shell here — \`&&\` is not interpreted. Run one +command per line.` The refusal means **nothing ran**. Do not retry with different spacing; split it. + +Quoted operators are literal: `echo "a && b"` prints `a && b`. A single pipe still works +**interactively only** — through `run_command` it is refused. + +## 2. Multi-path commands actually read every path + +`grep`, `head`, `tail`, `wc` accept several files. `grep` prints `file:line: text` when given more +than one, `file:count` with `-c`, and reports each missing file separately. Before v4.6.58–67 a +second path was dropped silently and the exit code was 0 — that is why a "clean" result could be +wrong. If you ask for two files, count that two answers came back. + +## 3. One error counter + +`errors` = debug DB entries **+ failed tool calls**. `/logs/current.log` is now a mirror, not the +source. `terminal.countErrors()` returns `{debug, latency, log, total}`. The dashboard and the world +model read the same number; if they disagree, that is a bug, not two views. + +## 4. `ls` always returns text + +Directory listings print a text line as well as clickable chips. If you ever see an empty listing +again, use `list_files` and file it as a bug. + +## 5. `view_module` shows the deployed file + +Output starts with `// deployed: <path> @ vX`. The `_mods/<Class>.js` edit cache is a **labelled +fallback** only. Trust the banner: it names what you are reading. + +## 6. Predictor arithmetic + +`errorSum` is a sum; the percentage is the mean. Runs under 1.5 s are stored but not scored. +Predictions are floored at 1 s. Accuracy needs paired predictions — `0/0 paired` means "no data", +never "0%". The store is the **server file** `<your space>/_data/predictor.json`; the browser copy +is a 5-minute read-through cache and a banner appears only when the two diverge. + +## 7. Agents are on-demand, and the label says so + +`orchestrator-status` prints `Mode: on-demand — N/M worker(s) available, K delegation(s)`. There is +no background queue and no A2A mailbox to fill. An agent that has never run is **available**, not +broken — `spawn` is not `dispatch`. Delegations are counted inside `delegateTask()`. + +## 8. Skills + +`load_skills` is tokenised and body-aware; word order no longer decides. Results carry `score` and +`matchedTokens`. Zero results name the tokens it looked for and the closest skill names. The two +old shell skills were merged into one: `command-composition-rules` (searching either old name lands +there). + +## 9. You can talk to Hermes + +``` +hermes <message> send (legacy alias: feedback) +hermes-poll check for a reply now +hermes-reset rotate the token, start a fresh thread +``` + +Replies arrive **by themselves** within 30 s; you do not need to poll. Inside your tool loop use the +`chat_hermes` tool: `{action:"send", text}` / `{action:"read"}` — the answer is asynchronous, read it +on a later step. + +The command is **not** called `chat`: `ChatStudioModule` owns that name. Contract: +`_docs/chat-contract.md`. Cursor is an **epoch in milliseconds**. Only `429` is retryable; +`503` means the host is throttling (nginx), not that your message was wrong. + +## 10. Do not use the old reply channel + +`POST /api/debug/agent-replies.php` returns **410 Gone**. `feedback` no longer files a bug report — +it goes to the same chat thread. One write path, one truth. + +## 11. Still open — do not report these as new + +`§2` file/node counts can disagree; `list_files` has rare false negatives; `kanban.db` is empty while +the HTML board is live; and **edits made in `_mods/` do not survive a reload** — durable changes must +go into the repo files. |