<feed xmlns='http://www.w3.org/2005/Atom'>
<title>newos4/modules/test/test-help-and-lessons.js, branch main</title>
<subtitle>newOS4 - the browser terminal that runs WebX11 user spaces</subtitle>
<id>https://newos.webx11.duckdns.org/newos4/atom?h=main</id>
<link rel='self' href='https://newos.webx11.duckdns.org/newos4/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://newos.webx11.duckdns.org/newos4/'/>
<updated>2026-10-27T14:23:38+00:00</updated>
<entry>
<title>fix(newos4): help names the owner of an undocumented command; loop lessons leave /skills</title>
<updated>2026-10-27T14:23:38+00:00</updated>
<author>
<name>Agando</name>
<email>roduccomm@gmail.com</email>
</author>
<published>2026-10-27T14:23:38+00:00</published>
<link rel='alternate' type='text/html' href='https://newos.webx11.duckdns.org/newos4/commit/?id=5c7178fbe1120c6843f87928a6f2c4ca470e92a8'/>
<id>urn:sha1:5c7178fbe1120c6843f87928a6f2c4ca470e92a8</id>
<content type='text'>
Two board items plus the context-window close-out.

- MAINT-019 (module-system.js): `help &lt;cmd&gt;` answered "No help available for X" for a command
  that is registered but has no help line, which reads as if the command does not exist. It now
  says "X — registered by &lt;Module&gt;, which publishes no help line for it. Try: help". A command
  that genuinely does not exist still gets the old message.
- MAINT-020 (module-aiassist.js): auto-generated loop lessons were written into /skills with
  their own index entries, so `skill list` filled up with system noise. Lessons now live in
  /lessons with /lessons/index.json; the reader still falls back to legacy loop-lesson-* entries
  in /skills for one release, and the one-time migration deletes them from the skills index.

Verification: test-help-and-lessons.js (10 asserts, includes a lint-style guard that no lesson is
written into /skills). Suite 14/14 files green; maintain --fix "node tests 14/14 pass",
"help coverage 362/362". Live on v4.6.108: `help agent-register` -&gt; "registered by
AgentRegistryModule, which publishes no help line for it"; `help a2a-prune` unchanged;
`help nope-not-real` still "No help available".

MAINT-001 close-out (no code change here): history is capped at 20 messages with a "[context trim]"
marker (first trim at turn 11 in a 60-turn probe), token compression took 80 msgs/8080 tok to
17/2625, and since v4.6.107 one turn's tool bodies are clipped to 6 000 chars each and elided past
24 000 with the newest 4 kept verbatim. Residual, recorded on the board: maxContextTokens is never
sent to the server as num_ctx, so the real window is whatever the endpoint defaults to.

MAINT-018 close-out: not reproducible. Live probes on v4.6.107/108 — `sed -n '1,3p' /probe.txt`
prints lines 1-3, `sed -n "2,4p"` prints 2-4, `grep 'line4'` matches, and the same commands inside
`script /q.sh` print correctly. The "Command not found: for;" symptom belongs to the line-by-line
script runner, which is MAINT-021 and stays open.
</content>
</entry>
</feed>
