Commit Graph

  • 4755f6d1e3 feat(spawn): share host spawn-pi mesh + models.json with spawned containers master buenosair 2026-09-07 13:21:49 +00:00
  • 6ef27e5cd6 feat(models): add glm-5.3-flash to worker model fallback catalog buenosair 2026-09-07 12:06:06 +00:00
  • b62e4e717a fix: glm not found in dotfiles-less workers — bridge promotes models.json.fallback at startup (the fallback was never read by anything) buenosair 2026-09-04 07:59:54 +00:00
  • 310127cf7a fix(model selection): deploys from dotfiles-less machines no longer wipe the remote baked pi config (deploy.sh excludes docker/pi-agent); resync endpoint fixed for in-container runs (bash/rsync/python3/npm in daemon image, cross-device copy instead of rename) buenosair 2026-09-02 11:51:47 +00:00
  • 09fc72556d feat: markdown block parsing in LLM output — headings, lists (ul/ol), blockquotes, hr on top of fences + inline; 300 tests green buenosair 2026-09-02 09:49:56 +00:00
  • 0f245c9ee2 feat: start on a blank container — spawn with empty:true and no repo (skip clone, default worker image); Spawn UI enables blank spawn without repo selection buenosair 2026-09-02 09:24:54 +00:00
  • c8cde3ff89 style: reformat ChatStream/ChatView (line-width normalization) from review pass buenosair 2026-09-01 15:21:42 +00:00
  • 7ff9f77f40 feat: unified tool cards (glyph + arg, call+result in one card, ✓/✗ status), client-side message queue (queue while busy, flush on settle, removable pending bubbles), mobile chat-header wrap buenosair 2026-09-01 14:14:52 +00:00
  • 5962b50c8d style: normalize formatting (tabs) in ChatStream tests + index.css from review pass buenosair 2026-09-01 13:52:03 +00:00
  • 3b799c69fb web: tool cards show what ran — summary line (bash command / file path) + edit/write line diffs (LCS, +/- coloring); 286 tests green buenosair 2026-09-01 13:17:54 +00:00
  • f5ee3a0f2d feat: empty-container spawn (scratch workspace, no repo volume); fix bridge session isolation — explicit SessionManager per spawn stops SDK resuming the repo's old session (which also overrode LVMH_MODEL) Raphael Westphal 2026-08-20 15:12:45 +02:00
  • bdfa61a8b2 web: pretty tool cards — args rendered as the real command/path (priority keys, label-less single field), output label; 276 tests green Raphael Westphal 2026-08-20 14:55:55 +02:00
  • 2d0839357d feat: model selection at spawn (POST /api/spawn model -> LVMH_MODEL -> bridge createAgentSession); ops prepare resets ops session (fresh context per prepare) Raphael Westphal 2026-08-20 12:43:55 +02:00
  • 5292a69d66 fix(autotitle): disable GLM thinking + raise max_tokens — reasoning model burned the 24-token budget before emitting any text Raphael Westphal 2026-08-20 11:52:15 +02:00
  • 1b6bd54a74 feat: LLM auto-titles — daemon names unnamed sessions from their first user message via one cheap ZAI completion (no agent-turn pollution); flows into sidebar + tab title Raphael Westphal 2026-08-20 11:44:05 +02:00
  • 9d369f410e feat: live document title — chat tab shows session name + activity (writing…/tool name/working…), overview shows busy/active counts; 268 tests, gates ≥95% Raphael Westphal 2026-08-20 11:19:21 +02:00
  • ecee633479 feat: playwright browser cache mount + PLAYWRIGHT_BROWSERS_PATH; ops guide: MCP stack inherited from base image Raphael Westphal 2026-08-20 10:58:50 +02:00
  • 055dd88f5e feat: MCP in containers — cloakbrowser-mcp + chromium libs baked, mcp.json standard config, shared host chromium cache mounted ro; playwright via npx Raphael Westphal 2026-08-20 10:43:23 +02:00
  • b35eca40c3 feat: agent deploy pipeline — passwordless SSH (alarm/desk/blanc-nas via tailnet IPs in ssh config), gitea write token to workers, secrets mounts, gitconfig, APPEND_SYSTEM guide Raphael Westphal 2026-08-20 09:42:58 +02:00
  • 6d10877e34 feat: agent deploys — passwordless ssh key (alarm/desk/blanc-nas + gitea), write-scope gitea token, secrets mounts, gitconfig, APPEND_SYSTEM deploy guide Raphael Westphal 2026-08-20 09:34:17 +02:00
  • b51a3b564f fix: worker auth.json bind must use HOST path (docker.sock resolves bind sources on the host, not in the daemon container) Raphael Westphal 2026-08-19 15:04:54 +02:00
  • a4fe178724 fix: LVMH_HOST_PI_AGENT_DIR must point at the daemon-internal /pi-dotfiles mount — host path made docker create an empty auth.json DIR inside workers, breaking model resolution (unknown) Raphael Westphal 2026-08-19 15:01:07 +02:00
  • e0b5af2276 fix(model selection): bake dotfiles models.json (both glm models, env-ref key) over frozen worker list; catalog prefers baked file — was offering models the container registry couldn't resolve Raphael Westphal 2026-08-19 14:53:08 +02:00
  • 5c71edfac4 feat: full model catalog (settings enabledModels + custom providers) and provider credentials in spawned containers (keys passthrough + host auth.json bind) Raphael Westphal 2026-08-19 11:41:31 +02:00
  • d4af41e7dc deploy: keep --ignore-scripts for vendored packages (prepare=husky is a devDep, fails either way) Raphael Westphal 2026-08-19 11:28:52 +02:00
  • bcf5a82eba fix: rm npm symlink before installing shim (COPY followed it and clobbered npm-cli.js) Raphael Westphal 2026-08-19 11:17:29 +02:00
  • bfac99274d deploy: anchor rsync excludes (unanchored .git/node_modules stripped vendored pi packages from the build context) Raphael Westphal 2026-08-19 11:15:12 +02:00
  • 0bfa55a94a fix: npm-real launcher (npm is a JS symlink, mv broke it); keep .git in vendored git: packages (pi runs git fetch on existing installs) Raphael Westphal 2026-08-19 11:08:22 +02:00
  • cbf52d2b76 feat: full pi config in containers — git: packages vendored at bake (ignore-scripts), npm shim for runtime installs, dotfiles mount + POST /api/pi-config/resync rebuilds worker+ops images (95% cover, race clean) Raphael Westphal 2026-08-19 11:00:39 +02:00
  • 910a244376 style: formatter pass on App/SessionsView Raphael Westphal 2026-08-19 10:46:06 +02:00
  • 957ea03aa1 feat: session busy indicator — daemon tracks mid-turn state (agent_start/settled), busy field on session rows + live broadcast; pulsing pip in sidebar and cards (265 web tests, daemon 95.4%) Raphael Westphal 2026-08-19 10:41:40 +02:00
  • c8ad68aaea web: integrate QoL slices 1-5 (model switch/rename, history deletes, usage stats, repo prepare+badges+imageUsed, markdown/search/FAB/timestamps) — 263 tests, ≥95% all metrics Raphael Westphal 2026-08-19 10:35:40 +02:00
  • 698b742cb3 daemon: integrate QoL slices 1-5 (model/rename/catalog, history deletes, stats, repo prepare+imageUsed+built) — 95.3% cover green Raphael Westphal 2026-08-19 10:07:52 +02:00
  • 7287b831e4 daemon: agent-driven workspace images — repo→image registry (GET/PUT/DELETE /api/repos), spawn resolves custom image, self-healing lvmh-ops control container with docker.sock; 132 tests, e2e 87/87 Raphael Westphal 2026-08-18 23:54:09 +02:00
  • 8fcaeb7c03 ops: control pi image (docker CLI + sock) + AGENTS.md workspace-preparation instructions Raphael Westphal 2026-08-18 20:56:12 +02:00
  • 66c90e48bb fix(review round 2): daemon symlink tars, orphan-safe removes, unique seed names, git ctx, IsErrNotFound, collision-free slugs, branch validation; web first-run WS, draft reset, IME guard, churn fix, test swap repair; 106 daemon + 190 web tests green Raphael Westphal 2026-08-18 19:13:51 +02:00
  • 95d2b5da4b plugin: benign-reconnect overflow-notice fix (maxAssignedSeq gate), null-id reconnect timer clear; rsync: mkdir before early exit Raphael Westphal 2026-08-18 19:04:05 +02:00
  • 6aac763563 fix(review round 1): daemon PAT-header auth, job pruning, session-split batches, streaming tars, seed cleanup, ping/pong, byte caps, branch switch, slug --, ctx cancel, Init:true, pagination, latest/before events; web newest-window history + load-older, offline busy gate, staleness guards, memo store, auth probe, scroll key, focus-visible, draft restore, poll dedup; 106+181 tests, coverage 96.2%/95.1%+ Raphael Westphal 2026-08-18 18:49:52 +02:00
  • 64e45e1a82 fix(review round 1, own slice): plugin welcome-gap counting + null-id guard; bridge setup group-kill; Makefile staticcheck gate + worker-image rsync; deploy excludes Raphael Westphal 2026-08-18 18:25:02 +02:00
  • e626b9cc6e web: professional UI overhaul — ink/slate design system, archive+active sections, skeletons, error boundary, conn banner, usage chip, message copy, spawn progress steps; 162 tests ≥95% coverage Raphael Westphal 2026-08-18 18:19:25 +02:00
  • 42fcaa1fe3 style: formatter pass on bridge + web views Raphael Westphal 2026-08-18 18:05:12 +02:00
  • 60460aebd7 web: sessions list shows active pi only; close-pi button in chat header; 154 tests, ≥95% coverage Raphael Westphal 2026-08-18 17:57:35 +02:00
  • a67efdb5ec web: sessions list shows active pi only; close-pi button in chat header (agent sessions); tests to 154, coverage ≥95 all metrics Raphael Westphal 2026-08-18 17:56:31 +02:00
  • 71ab821abd worker: make/jq/gopls in base image + per-repo .lvmh/setup.sh hook (agent-driven persistent setup) Raphael Westphal 2026-08-18 17:38:38 +02:00
  • df91ba6c4c deploy: filter git: packages (husky postinstall crashes container sessions) Raphael Westphal 2026-08-18 17:02:20 +02:00
  • 95deb650cb worker: bake dotfiles pi config (filtered) + shared lvmh-pi-cache volume; CopyToContainer seeding Raphael Westphal 2026-08-18 16:59:51 +02:00
  • 55be4b2a38 daemon: seed repo volume via CopyToContainer (host-path bind bug → empty workspace); web: spawn poll reads fresh session list Raphael Westphal 2026-08-18 16:55:58 +02:00
  • 1cc5d9a978 web: fix args-object React crash; e2e plugin-contract scenario Raphael Westphal 2026-08-18 16:32:21 +02:00
  • 7f0672f5d8 fix(web): object tool args crashed React #31 — normalize at derive boundary (argsText); contract scenario replays real-plugin frame shapes end-to-end (73/73) Raphael Westphal 2026-08-18 16:23:44 +02:00
  • 72c593da18 plugin: honor LVMH_SESSION_ID (daemon-assigned id for spawned containers); e2e+smoke+integration green Raphael Westphal 2026-08-18 15:57:48 +02:00
  • 9c486f5e11 bridge: call session.bindExtensions — SDK never fires session_start without it Raphael Westphal 2026-08-18 15:54:28 +02:00
  • 7a7a130a1a daemon: drop worker models.json bind (host-path bind of container path was invalid; image bakes it) Raphael Westphal 2026-08-18 15:49:37 +02:00
  • b5d267e61e bridge: resolve pi SDK via absolute container path (global npm ESM resolution) Raphael Westphal 2026-08-18 15:47:49 +02:00
  • f8bfaeaa21 map: tickets 06+07 resolved; 05 partial (live spawn pending gitea token) Raphael Westphal 2026-08-18 15:33:02 +02:00
  • 1a267bf489 plugin: welcome-timeout + stall watchdog (bulletproof review: fixes handshake hang + wedged-socket unbounded buffering); smoke 27 checks, e2e 13/13 Raphael Westphal 2026-08-18 15:31:42 +02:00
  • 49840225e2 daemon: Gitea v1 API adapter (git.westphal.fr is Gitea, not GitLab); fix golang Dockerfile to 1.26; sudo docker in deploy Raphael Westphal 2026-08-18 15:07:02 +02:00
  • bcd976a8ac deploy: worker image COPY simplification, web-dist mount, alarm build flow Raphael Westphal 2026-08-18 14:59:25 +02:00
  • 4949b40f1c fix: pin plugin typecheck to tsc 5.9 (bunx default resolved ancient tsc) Raphael Westphal 2026-08-18 14:57:53 +02:00
  • ce23ae9ce4 chore: bun as primary JS runtime (Makefile, docs); e2e+coverage verified under bun Raphael Westphal 2026-08-18 14:57:24 +02:00
  • 0ecef2a9bd test: ≥95% coverage — daemon 96.9% (go), web 95.5-99% (vitest 142 tests); store.ts hooks-order crash fix Raphael Westphal 2026-08-18 14:56:08 +02:00
  • ecb91e941c e2e: integration harness (69/69 green) + fix /agent/ws missing bearer auth (BUG-1) Raphael Westphal 2026-08-18 14:13:15 +02:00
  • 6ba718730e daemon: set LVMH_AGENT/LVMH_REPO env on spawned containers (plugin contract) Raphael Westphal 2026-08-18 13:50:40 +02:00
  • 6c5dd50130 plugin: lvmh-agent extension — mirror, replay, steer prompts; smoke 25/25, e2e 13/13 vs real pi Raphael Westphal 2026-08-18 13:50:05 +02:00
  • c62900e613 daemon: golang WS hub, REST, gitlab, docker spawner, sqlite (18/18 tests) Raphael Westphal 2026-08-18 13:42:20 +02:00
  • 7d5f866527 web: React+Vite SPA — sessions, streaming chat, task panel, spawn flow (build clean) Raphael Westphal 2026-08-18 13:37:14 +02:00
  • 345025b070 chore: post-commit formatting churn Raphael Westphal 2026-08-18 13:10:15 +02:00
  • 05ad577eea integration: worker image, bridge, compose, Makefile, deploy scripts Raphael Westphal 2026-08-18 13:03:57 +02:00
  • 631aaf060b chart: lvmh map, tickets, PROTOCOL.md wire contract Raphael Westphal 2026-08-18 12:59:50 +02:00