aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* feat(newos4): world-model-ask answers with the LLM, grounded in the model ↵Agando2026-10-226-30/+287
| | | | | | | | | | | | | | | | | | | | | | | | | | (v4.6.50) `world-model-ask` was a 10-keyword lookup: any real question returned "Unknown query. Try: modules, skills, ...". The documented example ("what changed since yesterday") compared nothing — it restated the current snapshot. - _modelDigest(): whitelisted snapshot (measured 942-965 chars on fixtures, ~3.3 KB live) + recent error sample + changesSinceLastSnapshot - _buildAskPrompt(): "answer only from this JSON, never invent numbers, name the command that would produce missing data" - ask(): connects Ollama on demand, answers via chat(), falls back to the facts path with a visible warning; --facts keeps the instant lookup - _diffSincePrev(): keeps one previous snapshot in /system/world-model.prev.json so "what changed" is a real diff (files 136 -> 140) - world_model_query tool returns the snapshot (digest or detail:full) instead of ten canned strings; no nested LLM call inside a tool call - help text now says what it does; node test modules/test/test-world-model-ask.js (11 assertions, runs the real class) Verified live v4.6.50: facts "Loaded 46 modules" | LLM "The snapshot does not contain information regarding the cause of memory growth ... use world-model-refresh" | diff "files 136 -> 140" | tool snapshot 3,334 bytes.
* fix(newos4): coreutils flags + loop-guard arg key, both found by the agent's ↵Agando2026-10-225-52/+196
| | | | | | | | | | | | | | | | | | | | live run (v4.6.49) Agent session surfaced two real defects: 1. The A4 prompt told it to use grep -n / sed -n 'N,Mp' / wc -l / head -N — none of those flags parsed: grep treated '-n' as the pattern (6/6 variants failed), wc read '-l' as a filename, head looked for a file named '-2', sed had no range parser. Fixed the tools, not just the text: grep now accepts -n/-i/-c/-v/-l (line numbers were already printed), wc accepts -l/-w/-c, head accepts -N and -n N, sed accepts Np and N,Mp, tail no longer prints a blank line for a trailing newline. Prompt re-ranked to the working forms. 2. Loop guard keyed calls by tool name plus the raw arguments field. When arguments was already an object (parsed upstream), the key became 'run_command:[object Object]', collapsing distinct batched commands into one signature and producing false "called 3x" warnings. Now the key is JSON.stringify(arguments) whenever it is not a string (3 sites: sig, _sigR, _sigD). Verified live v4.6.49: grep -n/-c, wc -l, head -2, sed -n '2,3p', tail -n 1 all correct.
* fix(newos4): GLM review follow-ups for AI read/context (v4.6.47)Agando2026-10-214-50/+144
| | | | | | | | | | | | | - loop guard: a mutation unblocks the replay but no longer erases the repeat counter (identical mutating calls could loop forever) - tool traces are per agent tag, flushed in a catch as well as on success, ring-buffered (first 2 + last 10) so verification reads survive - read_file notes are metadata only (path/range/next_offset); no file bodies, no secrets, and web_search/web_fetch output is excluded from durable context (injection surface) - trace is role:'system' (was 'assistant' — the model re-read it as its own answer) - surrogate-safe pagination, 500 floor / 16000 cap, prompt limits aligned - prompt now names checks that exist in the in-page terminal (test, grep -n, wc -l) - compressed summary capped at 4000 chars; denied-destructive tool result carries tool_call_id
* feat(newos4): AI paged file reads, durable tool traces, 12k context budget, ↵Agando2026-10-214-36/+143
| | | | | | | | | | read/tool/verify prompt rules (v4.6.46) - read_file: offset/limit + JSON {total_chars,truncated,next_offset} (was a hard 8000-char cut with no resume) - tool results now leave a per-turn trace that is persisted into session context and survives compression - maxContextTokens 2000 -> 12000; compression keeps 8 exchanges and 400 chars/msg - system prompt: page big files, prefer grep -n / sed -n / head, re-read + verify after every edit - verified in the live browser: 30k file pages 0->8000->16000, prompt section present, v4.6.46 served
* fix(newos4): download link uses the user's space; WebDAV share copies ↵Agando2026-10-218-33/+263
| | | | | | | | | | | | verified file links; preview fullscreen+share; files->WebDAV upload button (v4.6.45) - download: URL built from _resolveSpaceName() (config url = logged-in user), not the page space - WebDAV browser 🔗: shares selected FILES only, URL-encoded, HEAD-verified (200) before claiming success; folders offer a tar fallback instead of a guaranteed-403 link - file manager preview: ⛶ fullscreen + 🔗 copy-link toolbar (was none) - file manager toolbar: ☁ WebDAV publishes selected/current file via webdav-push - modules/test/test-download-url.js: 4 PASS - rebuild bundles, bump v4.6.44 -> v4.6.45 (loader + 3 script tags)
* fix(newos4): stop agent accumulation on reload — stable role ids + boot ↵Agando2026-10-185-94/+372
| | | | | | | | | | reconciliation - spawnAgent() accepts an idHint and is idempotent; boot team uses agent-<role> - _reanimateFromVFS() adopts newest dir per default role, fs.rm()s duplicates/orphans - _bootAgents() awaits async VFS hydration before reconciling, then spawns only gaps - scripts/test-agents-reload.js: 5-boot regression + hydration-race test - v4.6.44 bundle rebuild + cache-bust
* newOS4 v4.6.40: review fixes (bug diagnostics, trash tree, dir paste, stale ↵Agando2026-10-189-45/+77
| | | | capture, preview)
* newOS4 v4.6.38: auto-file fatal errors with 3/day quota (A5)Agando2026-10-184-4/+108
|
* newOS4: regenerate course atlas (adds bug command)Agando2026-10-181-11/+21
|
* newOS4 v4.6.37: bug-report pipeline (report.php, bug command, HTML ↵Agando2026-10-1810-7/+380
| | | | generator, telemetry-loop fix)
* newOS4 v4.6.36: fix CourseModule print-capture swallowing all command outputAgando2026-10-183-6/+20
|
* newOS4 v4.6.35: file manager multi-select + safe paste/rename/delete (Part B)Agando2026-10-184-166/+324
|
* newOS4 v4.6.34: running tool ledger in the prompt (D4)Agando2026-10-184-4/+36
|
* newOS4 v4.6.33: progress-based turn budget (D3)Agando2026-10-184-4/+48
|
* newOS4 v4.6.31: tool-result memo cache with epoch invalidation (D2)Agando2026-10-184-6/+74
|
* newOS4 v4.6.30: per-agent session isolation (D1)Agando2026-10-185-16/+40
|
* newOS4 v4.6.29: progress-aware loop guard + agent attributionAgando2026-10-185-48/+188
|
* course: fix P0 content errors + completion/mobile/keyboard UX (review A)Agando2026-10-187-64/+115
|
* course: weekly telemetry report script + Monday 09:00 cronAgando2026-10-181-0/+66
|
* course: exclude auto-open from lesson_open telemetry, add session counts, ↵Agando2026-10-182-7/+9
| | | | filter synthetic sids
* newOS4 v4.6.28: cache-bust course.js after review fixesAgando2026-10-182-4/+4
|
* newOS4 course: post-exec review fixes (telemetry detail sanitize, skill-sync ↵Agando2026-10-183-6/+20
| | | | retry, atlas check)
* newOS4 course: first daily lesson generated, atlas 345 commands, ↵Agando2026-10-186-38/+120
| | | | modules-index refreshed
* newOS4: interactive AI course (terminal module, portal, atlas, telemetry, ↵Agando2026-10-1831-927/+7391
| | | | daily maintenance+cron) + free store card
* newos4: floating-ui-designer v3 — repair 12 escape-mangled JS sites, ↵Agando2026-10-175-4/+1487
| | | | rebuild 344-cmd registry (124->344), quoting/import/preset UX fixes; add Node harness + registry generator; floating-ui skill JSON de-piped
* auto: 2026-07-29_20:45 changesAgando2026-10-153-5/+11
|
* auto: 2026-07-29_20:45 changesAgando2026-10-085-11/+430
|
* newOS4 v4.6.18: nginx dav trailing-slash semanticsAgando2026-10-024-12/+29
| | | | | | | | | | | Discovered by dav-health-check.sh E2E (10/10 pass now): - nginx dav module REQUIRES trailing slash on MKCOL (no-slash → 409) and on directory DELETE (no-slash → 409/404); existing dir + slash MKCOL → 405 (the real 'already exists' signal) - _normalizeRemotePath now PRESERVES trailing slashes (collection ops) - _ensureDir MKCOLs with trailing slash - _deleteFile retries with slash on 409/404 (collection delete) - health-check expectations corrected (405 = existing, slash required)
* newOS4 webdav path fix + WebX11 resilience package (2026-10-02)Agando2026-10-024-30/+225
| | | | | | | | | | | | | | | | | | | | Root cause fixes (mindtech incident): - webdav.js: _normalizeRemotePath strips full URLs/space prefixes, applied to all request entry points + _absoluteUrl for MOVE/COPY Destinations - _ensureDir: __list__ existence fast-path (kills MKCOL 409 storms) - dashboard-files.js: updateFilesJson parses __list__ autoindex (no more '#' entries), ensureSpaceExists only re-inits on genuine 404 - 20-test regression suite: scripts/test-webdav-paths.mjs Resilience: - dav-auth-check.py: server-side WebDAV write auth microservice (nginx auth_request on 8904) — anonymous/wrong-token writes now 401 - fail2ban-telegram.py: ban alerts + auto-unban for known space users - backup-spaces.sh: daily hardlink snapshots, 14-day retention - space-health-check.py: junk dirs / myfiles.json / version drift / session sanity → Telegram alerts - dashboard-files.js: visible 503 error panel with Retry + auto-retry - v4.6.16: main.html + module-loader LATEST_VER aligned (was drifted)
* fix: sequential safe-tool execution — parallel fan-out corrupted ↵Agando2026-09-292-8/+14
| | | | print-capture attribution + shadow diff pairing
* newOS4 v4.6.15: reentrant print-capture stack, AI tail -f block, read-only ↵Agando2026-09-298-61/+303
| | | | sed in safeRead, security test harness (21 checks)
* fix: regex captures full command name + suggestion in unknown-cmd tool errorAgando2026-09-292-2/+2
|
* fix: parse per-call captured output for unknown-cmd error (race-free under ↵Agando2026-09-293-14/+8
| | | | Promise.all)
* newOS4 v4.6.14: race-safe AI loop guard (depth counter), cover _capture* ↵Agando2026-09-294-19/+47
| | | | entry points, structured JSON tool error
* newOS4 v4.6.13: typo suggestion bar (one-tap fix), consistent unknown-cmd ↵Agando2026-09-294-31/+93
| | | | messages, AI loop guard
* newOS4 v4.6.12: rebuilt bundles with tail -f and sedAgando2026-09-292-15/+162
|
* newOS4: Ctrl+C/Esc stops tail -f follow; security whitelist gains sedAgando2026-09-291-7/+22
|
* newOS4: sed command (s///, /pat/d, Nd, -i, -n, pipe input) + help entriesAgando2026-09-292-3/+94
|
* test: exact-delta assertions for tail -f follow/stop semanticsAgando2026-09-291-1/+2
|
* newOS4: tail -n/-N flags + live follow mode (-f) with test harnessAgando2026-09-292-4/+281
|
* auto: 2026-07-29_20:45 changesAgando2026-08-067-313/+2676
|
* fix: add kanban to packages.json, update cache version to 2026-07-29Agando2026-07-293-4/+10
|
* feat: register kanban in module-loader, bump to v4.6.11Agando2026-07-292-3/+3
|
* feat: add kanban module to newOS4 — todo/doing/done board with prioritiesAgando2026-07-292-1/+191
|
* auto: 2026-07-29_20:50 changes — gunes sponsorluk page, bunq payment ↵Agando2026-07-2912-31/+925
| | | | modal, AI platforms, news W30
* auto: 2026-07-09_06:00 changesAgando2026-07-09100-1322/+29048
|
* auto: 2026-07-02_06:00 changesAgando2026-07-0216-117/+3294
|
* auto: 2026-06-25_06:00 changesAgando2026-06-257-38/+865
|
* auto: 2026-06-24_06:01 changesAgando2026-06-244-8/+442
|
* auto: 2026-06-23_18:00 changesAgando2026-06-236-14/+415
|