NEXT.md: the ring, the seqlock, the break loop's exit and the leaked handle are struck with what each was fixed to rather than only that it was. The snapshot generation stays open — it wants a hook a test can drive, which is a design decision and not a fix. The four-buffer paragraph is now two and two. BUILT.md carries the reasoning that outlives the change. "Nothing is ever dlclosed" is restated as "nothing that published anything is ever dlclosed", because that is what the rule was always about — being pointed into — and the two modules that are closed are the ones nothing can point into. Stating it the weaker way is what made a dropped handle look like obedience. The agent section gains why a full ring refuses rather than drops or blocks, and why the break loop leaves with _exit. The renderer section gains why the result counter had to become a real seqlock and why marking it odd needs a release fence rather than a release store — a release store orders what precedes it, so the buffer writes could still be hoisted over it, which is the original bug with more ceremony. One correction: the release-build story named flan_dev_result_get as the symbol that came up undefined. That symbol no longer exists. dune test green; dune build @sanitize clean.
Description
Languages
OCaml
67.2%
Emacs Lisp
15.2%
C
10.4%
HTML
2.9%
Standard ML
2.8%
Other
1.5%