From 2bc11203b73fe2eb210ce3dd643773e625609c25 Mon Sep 17 00:00:00 2001 From: Agando Date: Fri, 23 Oct 2026 18:22:30 +0200 Subject: feat(newos4): agent status says never-scheduled vs waiting; `guides` command (v4.6.63) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Packet 6 and 7. 6 — four agents showed `sleeping` and nothing distinguished "waiting for work" from "never handed a task". Added tasksAssigned/lastTaskAt to the agent record (counted where a task is actually assigned), and the status line now reads idle — NEVER SCHEDULED (0 tasks since 2026-10-23 16:22) idle — waiting for work (3 task(s), last 2026-10-23 16:22) parked — NEVER SCHEDULED ... plus "Dispatch: 0/3 agent(s) have ever been given a task" and a warning that spawning is not dispatching. 7 — /guides/ was reachable by nobody. New `guides` command lists it newest-first with sizes and the preview/cat hints; help.html gained a Guides nav entry and section with links to the published guides. Verified live on v4.6.63: `guides` → 2 entries after seeding two files; orchestrator-status shows 3x NEVER SCHEDULED on a fresh session (the packet's own observation), and "waiting for work (3 task(s) ...)" once a counter is set, with "Dispatch: 1/3". --- help.html | 21 ++++++++++++++- main.html | 6 ++--- modules/core/core-bundle.js | 54 ++++++++++++++++++++++++++++++++++--- modules/core/module-fs.js | 16 +++++++++++ modules/core/module-loader.js | 2 +- modules/core/module-orchestrator.js | 38 +++++++++++++++++++++++--- 6 files changed, 124 insertions(+), 13 deletions(-) diff --git a/help.html b/help.html index 815727b..0937251 100644 --- a/help.html +++ b/help.html @@ -244,6 +244,7 @@ footer .tagline{color:var(--accent2);margin-top:10px;font-weight:500} Overview Quick Start Commands + Guides Filesystem AI Agent Skills → dynamic @@ -587,6 +588,22 @@ diff a.txt b.txt +
+

📚 Guides

+

Long-form guides live in the VFS under /guides/. The AI writes them there; you can + reach them three ways:

+ +

Published guides on this server:

+ +
+

📁 Filesystem

All VFS files persist in localStorage. ls, cd, pwd work like a real terminal. Clickable output — tap a file to cat, tap a dir to cd.

@@ -1672,13 +1689,15 @@ listmods

📋 Changelog

-
v4.6.57–62 — October 20262026-10-23
+
v4.6.57–63 — October 20262026-10-23
  • No shell — and it now says so — ;, && and || are refused with an explicit message instead of being folded into the command's argv (where wc -l f && grep -c x f returned a plausible wrong number). A | arriving from the AI run_command tool is refused too, because that path bypasses the pipe splitter and degraded the pattern to empty. Documented at the top of the command reference.
  • Multiple paths in wc — wc -c a b printed only a and exited clean. It now prints one line per file plus a total, and reports each missing file separately.
  • ls prints text — it rendered only clickable chips (DOM-only), so any capture — the AI run_command tool, the diagnostics sweep — saw an empty result and reported "directory empty".
  • view_module shows what is deployed — it returned the _mods/<Class>.js edit cache first, unversioned, so after a rebuild it showed pre-fix source while the bundle was new. It now fetches the deployed file and prefixes the version; the cache is a labelled fallback.
  • load_skills searches tokens, not one phrase — the query used to be tested whole against name+description+tags, so "telemetry dashboard" returned 0 while "telemetry" returned 1, and a sentence could never match. Skill bodies were never searched. It now tokenises (stopwords dropped), scores name > description/tags > body, weights by how many tokens matched, keeps a phrase bonus so word order cannot zero a real hit, and reports matchedTokens: 2/3 with each result.
  • +
  • Agent status says what it means — four agents showed sleeping with no way to tell "waiting for work" from "never handed a task". They now read parked — NEVER SCHEDULED (0 tasks since …) or waiting for work (3 tasks, last …), plus a dispatch line and a warning when spawning happened but nothing was ever dispatched.
  • +
  • A guide you can actually find — guides lists /guides/ newest-first; the help page has a Guides section with the command, the preview/cat hints and links to published guides.
  • One error counter — errors, get_dashboard_data and the world model tallied three different sinks (0 / 18 / 11 in the same second). All three now read terminal.countErrors() (DebugSupervisor DB + failed tool calls); the VFS log is reported separately as a mirror, and terminal.log('ERROR', …) now records into the same DB instead of a second store nobody read.
  • Predictor arithmetic — the stored field named mape held a sum, so any JSON consumer read a mean that was n times too large (now errorSum); errorPct is stored raw and clamped only at render (a 475× miss used to be flattened to 500%); predictions are floored at 1 s and floor-hits are not scored, because one 0.079 s aborted run was rounding the next prediction to 0 s.
diff --git a/main.html b/main.html index 21f6eaa..a76b3d1 100644 --- a/main.html +++ b/main.html @@ -1349,13 +1349,13 @@ - + - + - +