Bug fixes from systematic review of H.7 LLM router wiring:
- lib/llm-router.ts: remove RUST_RUNTIME_TIMEOUT_MS (300s IPC timeout) override
— let LlmRouter use its built-in 30s default, appropriate for cloud API calls
- server.test.ts: add debug/error to appMock.log — prevents fragile failures
if any startup path hits those log levels
- server.test.ts: add OLLAMA_URL + OLLAMA_MODELS to config mock
New feature:
- config.ts: add OLLAMA_URL + OLLAMA_MODELS env vars for local Ollama support
- server.ts: wire Ollama env vars into initLlmRouter() — set
OLLAMA_MODELS=model1,model2 to auto-add local Ollama as a provider
57 tests passing, 9 test files, typecheck clean
- telemetry-client: createWebTelemetry() wraps createTelemetryClient() with web defaults
- diagnostics-client: createWebDiagnostics() wraps DiagnosticsClient with install ID + web defaults
- Eliminates ~70 lines of boilerplate per web app
- 11/11 telemetry tests pass, 21/21 diagnostics tests pass
Node 25 removed corepack as a built-in. Replace all 'corepack pnpm'
invocations with direct 'pnpm' calls since pnpm is installed globally.
Affected: platform-service, tracker-web, blob, testing, LLM dashboard
When productId is configured via createAuthProvider({ productId }),
it is now included in the login and register POST bodies alongside
email/password. Previously it was only injected for OAuth calls.
This is required by platform-service which validates productId on
all auth endpoints.
- GET /auth/mfa/totp/secret — retrieve decrypted TOTP secret for auth app
- POST /auth/mfa/push/create, GET /pending, POST /:id/respond, GET /:id/status
- POST /auth/qr/create, POST /auth/qr/confirm, GET /auth/qr/:id/status
- Kotlin SDK: getTotpSecret, getPendingApprovals, respondToApproval, confirmQrLogin
- Swift SDK: getTotpSecret, getPendingApprovals, respondToApproval, confirmQrLogin
- All 53 auth tests passing
- BUG-4: Add optimistic concurrency control with retry to updateSessionStats
- BUG-5: Document transaction limitations in batch operations
- BUG-7: Fix test isolation with unique productIds per test run
- BUG-8: Add session ownership validation to ingest endpoints
- refresh.sh: idempotent script, auto-discovers repos, updates symlinks + copies docs/workflows
- launchd plist: scheduled daily at 11 PM + on login
- /refresh-chat-history workflow for on-demand Cascade runs
- README updated with auto-refresh docs and full data inventory
- Repo docs and workflows refreshed from all 4 repos
Add a helper script to quickly verify Ollama reachability across localhost, WSL gateway, and nameserver paths to speed up Windows+WSL troubleshooting.
Co-authored-by: Cursor <cursoragent@cursor.com>
Stabilize Windows+WSL setup by fixing script line-ending pitfalls, WSL Ollama host detection, and dashboard startup behavior so models are detected reliably in Mission Control.
Co-authored-by: Cursor <cursoragent@cursor.com>
Covers: what it is, architecture diagram, prerequisites (Python 3.12,
Bun, Rust), step-by-step install for macOS and WSL2, running backend
+ web frontend, first use (model download, voice profiles, story editor),
Make commands reference, platform performance table, troubleshooting
(proxy workaround, MPS/CUDA, transformers conflict), file structure,
and relevance to LysnrAI
- HP Z240 spec: expanded from 7-line raw info to full spec document
with hardware details, capabilities assessment, OpenClaw server
use case, home lab services table, GPU upgrade path, machine
comparison, and setup recommendations
- README: added Machines table (Razer/HP Z240/Dell P16s), expanded
files table, added Related: OpenClaw section with links to OPEN_CLAW/
- Move openclaw-personal-ai-assistant.md from windows_specific/ to OPEN_CLAW/
- Add validate-security.sh: cross-platform security scanner with visual output
- 7 check categories: installation, gateway config, file permissions,
network security, API keys, system security, openclaw doctor
- Green ticks (pass), red crosses (fail), yellow warnings
- Numbered recommendations list with fix commands
- Works on macOS, Linux, and WSL2