nx_clock.nx -- MONOTONIC CLOCK PRIMITIVE for the runtime layer.
THE WOUND (found 2026-07-30): nx_clock_monotonic_ns() was CALLED by nx_loop.nx (its watchdog, lines
219/237) and by 8+ other organs, and DEFINED NOWHERE IN THE TREE. Because nx_loop.nx is imported by
nx_bpe.nx, which is imported by the whole nx_gguf/nx_f32_llm family, that single missing function
darkened 174 organs: every one of them failed to compile, which is why nx_f32_llm_serve.elf had been
frozen at Jul 16 and the sovereign LLM capability was unreachable.
It presented as -- a diagnostic naming no file, no symbol and
no line, which is why it survived so long. The real chain took a five-step bisect to reach:
probe imports nx_bpe -> FAILS | nx_f32 -> BUILDS (isolates nx_bpe)
nx_bpe's imports: nx_loop -> FAILS, others BUILD (isolates nx_loop)
nx_loop's own imports all BUILD (so it is nx_loop's CONTENT)
identical content builds in _hdl_build/, fails in runtime/ (so it is RESOLUTION, not syntax)
-> runtime/nx_loop.nx imports nx_clock.nx, which existed ONLY in _hdl_build/
★LAW CONFIRMED THE HARD WAY: runtime/ CANNOT import _hdl_build/. A layering violation does not fail
at the violating file -- it fails at every transitive dependent, with a message that names none of them.
⚠TWO MODULES, ONE NAME: _hdl_build/nx_clock.nx is a SCHEDULER (clk_tick/clk_dispatch_run/clk_register).
This is NOT that module and must not be confused with it -- resolving the import to the scheduler made
imports expand and then failed differently, which is how the real missing symbol finally got named.
license_tier: ORIGINAL No hw writes (Rule 26).
dependencies 1 imports · 55 importers
diagram shows first 10 each side; +0 more imports, +45 more importers in the complete lists below.