locals compares the frame on the stack against the body the session holds: installing while stopped is allowed, so the two can be different bodies of one function, and a rename that keeps the slot count pairs every name with the wrong value. Emit.slot_fingerprint hashes each slot's name and type, emit_fn puts it in the frame's static description, the agent reports it on the backtrace line and Dev.locals compares it. It does not fire. The test that drives it -- a redefinition that renames every local of a function that is on the stack -- fails, and is committed failing rather than deleted, because it is the only record of what is wrong. Everything else in the suite is green; this one check is red. It builds. See NEXT.md's handoff for where to look first.
Description
Languages
OCaml
67.2%
Emacs Lisp
15.2%
C
10.4%
HTML
2.9%
Standard ML
2.8%
Other
1.5%