diff --git a/TODO.org b/TODO.org index c285c37d..91de7f13 100644 --- a/TODO.org +++ b/TODO.org @@ -1471,8 +1471,7 @@ A session that ends cleanly — =close=, or the editor gone past the grace — removes =flan-dev-= (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-= 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- 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