code wiki / _hdl_build / nx_layered_backlog.nx

nx_layered_backlog.nx

buildroot/runtime/_hdl_build/nx_layered_backlog.nx

2805 B53 linesdepth 2pulls 2 transitivereach 5 importersview sourcekind library
docsdependenciesstructsconstsfunctions

about

nx_layered_backlog.nx -- next moves must NOT be random (operator). The work is a LAYERED stack: L8 = hardware / machine code (the base), up to L0 = the frontier output (the goal). A desired L0 output PUSHES its required work DOWN to L8 (decompose top-down); the team then BUILDS BACK UP L8->L0 (execute bottom-up). The next move is therefore DETERMINISTIC, never ad-hoc: - the BUILD FRONTIER = the deepest still-incomplete layer (highest layer number with a TODO). - an item is BUILDABLE only when every layer BELOW it (more foundational, higher number) is complete -- you cannot skip layers (no building L3 on an unfinished L5). - all buildable items AT the frontier have no inter-layer dependency, so they run in PARALLEL. So "what's next" is always: the parallel batch of buildable items at the deepest unfinished layer. RACI: the CONDUCTOR reads this to dispatch; the RESEARCHER/CRITIC feed L0 desires that push the backlog down; BUILDER/ENGINEER execute the frontier batch. license_tier: ORIGINAL

dependencies 1 imports · 4 importers

nx_syscalls.nx nx_layered_backlog.nx nx_andelinwest.nx nx_andelinwest_crew.nx nx_layered_backlog_test.nx nx_research_pipeline.nx

imports: nx_syscalls.nx

imported by: nx_andelinwest.nxnx_andelinwest_crew.nxnx_layered_backlog_test.nxnx_research_pipeline.nx

structs

none

consts

15const BL_BASE_LAYER: i64 = 8 // machine code / hardware
16const BL_FRONTIER_LAYER: i64 = 0 // the desired output

functions

19func bl_layer_done(n: i64, layer: *i64, done: *i64, L: i64) -> i64
called by 1: bl_lower_complete
26func bl_lower_complete(n: i64, layer: *i64, done: *i64, L: i64) -> i64
called by 1: bl_buildable calls 1: bl_layer_done
33func bl_buildable(n: i64, layer: *i64, done: *i64, i: i64) -> i64
39func bl_frontier(n: i64, layer: *i64, done: *i64) -> i64
47func bl_parallel_batch(n: i64, layer: *i64, done: *i64, out: *i64) -> i64