Raphael Westphal
|
8fcaeb7c03
|
ops: control pi image (docker CLI + sock) + AGENTS.md workspace-preparation instructions
|
2026-08-18 20:56:12 +02:00 |
|
Raphael Westphal
|
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
|
2026-08-18 19:13:51 +02:00 |
|
Raphael Westphal
|
95d2b5da4b
|
plugin: benign-reconnect overflow-notice fix (maxAssignedSeq gate), null-id reconnect timer clear; rsync: mkdir before early exit
|
2026-08-18 19:04:05 +02:00 |
|
Raphael Westphal
|
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%+
|
2026-08-18 18:49:52 +02:00 |
|
Raphael Westphal
|
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
|
2026-08-18 18:25:02 +02:00 |
|
Raphael Westphal
|
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
|
2026-08-18 18:19:25 +02:00 |
|
Raphael Westphal
|
42fcaa1fe3
|
style: formatter pass on bridge + web views
|
2026-08-18 18:05:12 +02:00 |
|
Raphael Westphal
|
60460aebd7
|
web: sessions list shows active pi only; close-pi button in chat header; 154 tests, ≥95% coverage
|
2026-08-18 17:57:35 +02:00 |
|
Raphael Westphal
|
a67efdb5ec
|
web: sessions list shows active pi only; close-pi button in chat header (agent sessions); tests to 154, coverage ≥95 all metrics
|
2026-08-18 17:56:31 +02:00 |
|
Raphael Westphal
|
71ab821abd
|
worker: make/jq/gopls in base image + per-repo .lvmh/setup.sh hook (agent-driven persistent setup)
|
2026-08-18 17:38:38 +02:00 |
|
Raphael Westphal
|
df91ba6c4c
|
deploy: filter git: packages (husky postinstall crashes container sessions)
|
2026-08-18 17:02:20 +02:00 |
|
Raphael Westphal
|
95deb650cb
|
worker: bake dotfiles pi config (filtered) + shared lvmh-pi-cache volume; CopyToContainer seeding
|
2026-08-18 16:59:51 +02:00 |
|
Raphael Westphal
|
55be4b2a38
|
daemon: seed repo volume via CopyToContainer (host-path bind bug → empty workspace); web: spawn poll reads fresh session list
|
2026-08-18 16:55:58 +02:00 |
|
Raphael Westphal
|
1cc5d9a978
|
web: fix args-object React crash; e2e plugin-contract scenario
|
2026-08-18 16:32:21 +02:00 |
|
Raphael Westphal
|
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)
|
2026-08-18 16:23:44 +02:00 |
|
Raphael Westphal
|
72c593da18
|
plugin: honor LVMH_SESSION_ID (daemon-assigned id for spawned containers); e2e+smoke+integration green
|
2026-08-18 15:57:48 +02:00 |
|
Raphael Westphal
|
9c486f5e11
|
bridge: call session.bindExtensions — SDK never fires session_start without it
|
2026-08-18 15:54:28 +02:00 |
|
Raphael Westphal
|
7a7a130a1a
|
daemon: drop worker models.json bind (host-path bind of container path was invalid; image bakes it)
|
2026-08-18 15:49:37 +02:00 |
|
Raphael Westphal
|
b5d267e61e
|
bridge: resolve pi SDK via absolute container path (global npm ESM resolution)
|
2026-08-18 15:47:49 +02:00 |
|
Raphael Westphal
|
f8bfaeaa21
|
map: tickets 06+07 resolved; 05 partial (live spawn pending gitea token)
|
2026-08-18 15:33:02 +02:00 |
|
Raphael Westphal
|
1a267bf489
|
plugin: welcome-timeout + stall watchdog (bulletproof review: fixes handshake hang + wedged-socket unbounded buffering); smoke 27 checks, e2e 13/13
|
2026-08-18 15:31:42 +02:00 |
|
Raphael Westphal
|
49840225e2
|
daemon: Gitea v1 API adapter (git.westphal.fr is Gitea, not GitLab); fix golang Dockerfile to 1.26; sudo docker in deploy
|
2026-08-18 15:07:02 +02:00 |
|
Raphael Westphal
|
bcd976a8ac
|
deploy: worker image COPY simplification, web-dist mount, alarm build flow
|
2026-08-18 14:59:25 +02:00 |
|
Raphael Westphal
|
4949b40f1c
|
fix: pin plugin typecheck to tsc 5.9 (bunx default resolved ancient tsc)
|
2026-08-18 14:57:53 +02:00 |
|
Raphael Westphal
|
ce23ae9ce4
|
chore: bun as primary JS runtime (Makefile, docs); e2e+coverage verified under bun
|
2026-08-18 14:57:24 +02:00 |
|
Raphael Westphal
|
0ecef2a9bd
|
test: ≥95% coverage — daemon 96.9% (go), web 95.5-99% (vitest 142 tests); store.ts hooks-order crash fix
|
2026-08-18 14:56:08 +02:00 |
|
Raphael Westphal
|
ecb91e941c
|
e2e: integration harness (69/69 green) + fix /agent/ws missing bearer auth (BUG-1)
|
2026-08-18 14:13:15 +02:00 |
|
Raphael Westphal
|
6ba718730e
|
daemon: set LVMH_AGENT/LVMH_REPO env on spawned containers (plugin contract)
|
2026-08-18 13:50:40 +02:00 |
|
Raphael Westphal
|
6c5dd50130
|
plugin: lvmh-agent extension — mirror, replay, steer prompts; smoke 25/25, e2e 13/13 vs real pi
|
2026-08-18 13:50:05 +02:00 |
|
Raphael Westphal
|
c62900e613
|
daemon: golang WS hub, REST, gitlab, docker spawner, sqlite (18/18 tests)
|
2026-08-18 13:42:34 +02:00 |
|
Raphael Westphal
|
7d5f866527
|
web: React+Vite SPA — sessions, streaming chat, task panel, spawn flow (build clean)
|
2026-08-18 13:37:14 +02:00 |
|
Raphael Westphal
|
345025b070
|
chore: post-commit formatting churn
|
2026-08-18 13:10:15 +02:00 |
|
Raphael Westphal
|
05ad577eea
|
integration: worker image, bridge, compose, Makefile, deploy scripts
|
2026-08-18 13:03:57 +02:00 |
|
Raphael Westphal
|
631aaf060b
|
chart: lvmh map, tickets, PROTOCOL.md wire contract
|
2026-08-18 12:59:50 +02:00 |
|