<feed xmlns='http://www.w3.org/2005/Atom'>
<title>newos4/downloads, 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-23T15:38:10+00:00</updated>
<entry>
<title>fix(newos4): measure predictor accuracy over paired predictions (v4.6.56)</title>
<updated>2026-10-23T15:38:10+00:00</updated>
<author>
<name>Agando</name>
<email>roduccomm@gmail.com</email>
</author>
<published>2026-10-23T15:38:10+00:00</published>
<link rel='alternate' type='text/html' href='https://newos.webx11.duckdns.org/newos4/commit/?id=895d8f5ed57c76f25770f88f290e6ab93949b6f8'/>
<id>urn:sha1:895d8f5ed57c76f25770f88f290e6ab93949b6f8</id>
<content type='text'>
The accuracy readout was structurally 0%: module-predictor.js:187 incremented the
denominator on every observed run while the numerator only moved when a stored
prediction existed, and predictions were stored only by the manual `predict`
command (the AI tool predict_task computed one and discarded it). Replaying the
AI loop's own call path with 6 tasks printed "Predictions made: 0, Accuracy: 0/6".

- pending predictions with a 15m TTL, consumed by threaded id -&gt; task hash -&gt;
  cli-only similarity &gt;= 0.5; unpaired runs never enter the denominator
- duration scored within 30% or 3s (integer predictions vs fractional observations)
- errorPct capped at 500% so one miss cannot poison the mean error
- schema v2: v1 correct/total counters dropped on load, observed runs and the
  prediction counter kept; task text stored as an FNV-1a hash only
- tuning (confidence-threshold, min-data-points, pair-ttl) persists
- min-data-points now scales confidence (was declared, printed, settable, unread)
- AI loop registers a prediction per turn and threads its id; predict_task
  returns predictionId; durations exclude chat-lock queue wait
- status/dashboard say "n/a" instead of "N/A%", and carry paired count, mean
  error, turns error, pending and unpaired counts
- test: modules/test/test-predictor-accuracy.js (26 assertions)

Live on main.html v4.6.56: fresh session -&gt; "Accuracy: n/a (0/0 paired)";
one paired run -&gt; "100% (1/1 paired) - mean error 5% - turns +-0.0".
</content>
</entry>
<entry>
<title>chore(newos4): archive the delta-sync probe report (test artifact)</title>
<updated>2026-10-23T13:29:04+00:00</updated>
<author>
<name>Agando</name>
<email>roduccomm@gmail.com</email>
</author>
<published>2026-10-23T13:29:04+00:00</published>
<link rel='alternate' type='text/html' href='https://newos.webx11.duckdns.org/newos4/commit/?id=0a21751ad27193cfd265c68360fd1bae116533d6'/>
<id>urn:sha1:0a21751ad27193cfd265c68360fd1bae116533d6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(newos4): define VirtualFS.emptyTrash() — empty-trash threw since 2026-10-18</title>
<updated>2026-10-23T13:28:57+00:00</updated>
<author>
<name>Agando</name>
<email>roduccomm@gmail.com</email>
</author>
<published>2026-10-23T13:28:57+00:00</published>
<link rel='alternate' type='text/html' href='https://newos.webx11.duckdns.org/newos4/commit/?id=3cfb5ededbf482732b2337d82b5e05f96fc898de'/>
<id>urn:sha1:3cfb5ededbf482732b2337d82b5e05f96fc898de</id>
<content type='text'>
Report RPT-20261018-164646-89352963 ("this.fs.emptyTrash is not a function") was filed by the auto-filer and never fixed: terminal.js:1777 called a method VirtualFS never defined, so 'empty-trash --confirm' threw instead of emptying. Added emptyTrash() returning true only when it removed something.

Verified live on v4.6.54: put -&gt; rm -&gt; empty-trash --confirm =&gt; 'Trash emptied.'; second run =&gt; 'Trash is already empty.'; .trash entries 0.
</content>
</entry>
<entry>
<title>fix(newos4): dashboard shows the real world model and stops dying after 10 s (v4.6.51)</title>
<updated>2026-10-21T23:23:47+00:00</updated>
<author>
<name>Agando</name>
<email>roduccomm@gmail.com</email>
</author>
<published>2026-10-21T23:23:47+00:00</published>
<link rel='alternate' type='text/html' href='https://newos.webx11.duckdns.org/newos4/commit/?id=bc5834d70992224ef6809229d25efeb23470c024'/>
<id>urn:sha1:bc5834d70992224ef6809229d25efeb23470c024</id>
<content type='text'>
Two defects, both verified live before/after:

1. The World Model panel always said "Not synthesized yet". The page had a
   renderer for data.worldModel and _collectDashboardData() never set it -- the
   model was right there in WorldModelModule._model. Now collected and mapped to
   the renderer's exact keys (model has modules.loaded/skills.count/memory.nodes,
   the page reads modules/skills/memoryNodes), plus changesSinceLastSnapshot and
   the recent-error sample, with an honest "not synthesized" fallback.

2. The page discarded any payload older than 10 s and its own 5 s auto-refresh
   then showed "Cannot connect to newOS4". Stale payloads are now rendered with
   their age ("Data as of 1:20:14 AM - 3m ago"), labelled amber past 5 min.

Also: the Refresh button wrote a localStorage key nobody read -&gt; the terminal now
listens for it and re-collects (page says "No terminal tab answered" when no
terminal tab is open); storage events repaint instantly; the dead /api/dashboard
fetch (404 on all three paths, 5 s stall) is gone; `dashboard --watch` / `--stop`
re-collects every 5 s; header says the data is this browser's instance.

Verified v4.6.51: panel rows "Synthesized 34s ago / v4.6.51 / 46-22 / 136-3 /
1 nodes 0 edges / OK / none recorded"; 130 s-old payload still renders with
"- 3m ago" and no banner (previously "Cannot connect"); storage event moves the
footer 13s -&gt; 0s; watch timer advances the payload, --stop clears it; mobile
360/390 px all OK; 0 console errors.
</content>
</entry>
<entry>
<title>newOS4 v4.6.37: bug-report pipeline (report.php, bug command, HTML generator, telemetry-loop fix)</title>
<updated>2026-10-18T15:01:52+00:00</updated>
<author>
<name>Agando</name>
<email>roduccomm@gmail.com</email>
</author>
<published>2026-10-18T15:01:52+00:00</published>
<link rel='alternate' type='text/html' href='https://newos.webx11.duckdns.org/newos4/commit/?id=d7a1198aa7ac77cbe9d3f0c844245dd08a8ccd12'/>
<id>urn:sha1:d7a1198aa7ac77cbe9d3f0c844245dd08a8ccd12</id>
<content type='text'>
</content>
</entry>
<entry>
<title>newos4: floating-ui-designer v3 — repair 12 escape-mangled JS sites, rebuild 344-cmd registry (124-&gt;344), quoting/import/preset UX fixes; add Node harness + registry generator; floating-ui skill JSON de-piped</title>
<updated>2026-10-17T18:17:28+00:00</updated>
<author>
<name>Agando</name>
<email>roduccomm@gmail.com</email>
</author>
<published>2026-10-17T18:17:28+00:00</published>
<link rel='alternate' type='text/html' href='https://newos.webx11.duckdns.org/newos4/commit/?id=005a1ad651383cca9793f24213de3a22c2474967'/>
<id>urn:sha1:005a1ad651383cca9793f24213de3a22c2474967</id>
<content type='text'>
</content>
</entry>
<entry>
<title>auto: 2026-07-29_20:45 changes</title>
<updated>2026-08-06T03:01:13+00:00</updated>
<author>
<name>Agando</name>
<email>roduccomm@gmail.com</email>
</author>
<published>2026-08-06T03:01:13+00:00</published>
<link rel='alternate' type='text/html' href='https://newos.webx11.duckdns.org/newos4/commit/?id=d4abdf3d7764bf4362a16261d0ebf151a15926f7'/>
<id>urn:sha1:d4abdf3d7764bf4362a16261d0ebf151a15926f7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>auto: 2026-07-09_06:00 changes</title>
<updated>2026-07-09T04:00:32+00:00</updated>
<author>
<name>Agando</name>
<email>roduccomm@gmail.com</email>
</author>
<published>2026-07-09T04:00:32+00:00</published>
<link rel='alternate' type='text/html' href='https://newos.webx11.duckdns.org/newos4/commit/?id=cf7461ffeb4f53f3f50c9c692a2e4fdcecf17e82'/>
<id>urn:sha1:cf7461ffeb4f53f3f50c9c692a2e4fdcecf17e82</id>
<content type='text'>
</content>
</entry>
<entry>
<title>auto: 2026-07-02_06:00 changes</title>
<updated>2026-07-02T04:00:40+00:00</updated>
<author>
<name>Agando</name>
<email>roduccomm@gmail.com</email>
</author>
<published>2026-07-02T04:00:40+00:00</published>
<link rel='alternate' type='text/html' href='https://newos.webx11.duckdns.org/newos4/commit/?id=ea4d09fb5ccba12ed774fcf7c913edfa1e6a851a'/>
<id>urn:sha1:ea4d09fb5ccba12ed774fcf7c913edfa1e6a851a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>auto: 2026-06-25_06:00 changes</title>
<updated>2026-06-25T04:00:45+00:00</updated>
<author>
<name>Agando</name>
<email>roduccomm@gmail.com</email>
</author>
<published>2026-06-25T04:00:45+00:00</published>
<link rel='alternate' type='text/html' href='https://newos.webx11.duckdns.org/newos4/commit/?id=8b3e3e4527772bf060984f98777a2cff8e88aa09'/>
<id>urn:sha1:8b3e3e4527772bf060984f98777a2cff8e88aa09</id>
<content type='text'>
</content>
</entry>
</feed>
