NEXT.md strikes decisions 1, 2 and 5, and the web target's "assets are two questions" item, which the embed answered with a third option neither half of it considered: make it a compiler feature and neither question arises. That item's diagnosis was right — the file that needs the asset is structurally the one file that cannot declare it — and its conclusion, that the fix must be a link channel or a new declaration, was wrong. BUILT.md gets the two sections. The embed one records the choice a reader would otherwise have to reverse-engineer: the bytes are a Str node typed [u8] rather than a Bytes prim over a string, because the prim is identity but makes the node non-constant, and an embed-dir in a defconst then cannot be an LLVM constant. It also states the .rodata write hole loudly, because an embedded asset is precisely what someone will try to decode in place. The slurp/barf one writes down what the host ABI grew by and why that much: three POSIX-shaped calls and one reason reader, Vec-ignorant, with the Vec-aware half as runtime glue rather than a fourth call. And it records the gap the feature revealed without fixing — a handler that wants "try to save, carry on if you cannot" has nowhere to go, because error is diverging and neither restart means give up.
Description
Languages
OCaml
67.2%
Emacs Lisp
15.2%
C
10.4%
HTML
2.9%
Standard ML
2.8%
Other
1.5%