Two gaps found on the way are on record: the half-write abort flake and the one-shot commands' empty work directory

This commit is contained in:
Joseph Ferano 2026-09-25 07:33:32 +07:00
parent 7d75cc0a5d
commit 52681ec58c

View File

@ -1471,8 +1471,7 @@ A session that ends cleanly — =close=, or the editor gone past the grace —
removes =flan-dev-<pid>= (program, modules, agent socket) and its own
=Build.workdir=. Kept on a crash: the accept loop raising, or a two-process
child killed by a signal. Only the two paths named for this pid are touched;
nothing sweeps other sessions' directories. =flan build= and =flan run= still
leave an empty =flan-<pid>= each; that is not this entry.
nothing sweeps other sessions' directories.
** DONE (agent/start) takes no argument, and binds before main
CLOSED: [2026-09-20]
@ -1655,6 +1654,17 @@ flake and a flake is how a watchdog gets deleted.
The fork pool is drained before anything reads the failure count, and a nonzero
count is an exit status. A red row used to be able to print and pass.
** TODO test_dev dies on Wire.Closed after the half-write abort
Intermittent, on an unmodified tree too: the =--llvm= half-write daemon in
=test_dev.ml='s =half_written= sometimes exits before it replies to =abort=, and
=request= raises =Wire.Closed= uncaught, so test_dev ends with a fatal, no =FAIL=
line and every later row unrun.
** TODO flan build and flan run leave an empty flan-<pid> directory
=Build.workdir= is created per process and nothing removes it once the IR is
gone. The dev daemon now removes its own on a clean end; the one-shot commands do
not.
* Editor
** DONE The syntax table and the font-lock lists are read off the parser