nx_gtm_build.nx
buildroot/runtime/nx_gtm_build.nx
about
nx_gtm_build.nx -- GO-TO-MARKET / BUILD PLAN. Turns the BOM's parts into
an ORDERED assembly plan: the steps, durations, and precedence constraints
(what must be done before what). Computes the build CRITICAL PATH -- the
longest dependency chain, i.e. the minimum build time with unlimited
parallel hands -- so the bottleneck is explicit and the parallel saving is
quantified. (Named nx_gtm_build to avoid the existing nx_assembly CAD
exploded-view engine + nx_build_plan printer scheduler.)
INTEGER-EXACT. Durations in minutes. Step ids are in topological orde
(every prerequisite has a lower id), so the earliest-finish of each step is
a single forward pass: ef(i) = duration(i) + max(ef of its prerequisites).
Instantiated for the water AWG bench prototype.
THE exceed: the build schedule + its bottleneck are COMPUTED from the
precedence DAG, not sketched -- the 4-hour enclosure print is the critical
path, so it should be pre-printed or started first.
grounded: critical_path_method + assembly_line_precedence + design_for_assembly
genealogy_id: assembly_build_plan + nishi_go_to_market
dependencies 1 imports · 1 importers
imports: nx_syscalls.nx
imported by: nx_gtm_build_test.nx
structs
| none |
consts
| 25 | const GB_PRINT_ENCLOSURE: i64 = 0 |
| 26 | const GB_COLD_STACK: i64 = 1 // peltier + heatsink + cold plate |
| 27 | const GB_MOUNT_FANS: i64 = 2 |
| 28 | const GB_COLLECTION: i64 = 3 // tray + tubing + pump + tank |
| 29 | const GB_TREATMENT: i64 = 4 // UV-C + carbon |
| 30 | const GB_MINERAL: i64 = 5 |
| 31 | const GB_WIRE_CONTROL: i64 = 6 // MCU + sensors + PSU + wiring |
| 32 | const GB_INTEGRATE: i64 = 7 // mount all subsystems in the enclosure |
| 33 | const GB_LEAK_TEST: i64 = 8 |
| 34 | const GB_POWER_ON_TEST: i64 = 9 |
| 35 | const GB_N: i64 = 10 |
functions
| 37 | func gb_count() -> i64 called by 1: main |
| 42 | func gb_duration(id: i64) -> i64 |
| 57 | func gb_prereq(id: i64, slot: i64) -> i64 |
| 73 | func gb_total_time() -> i64 |
| 85 | func gb_critical_path() -> i64 |
| 109 | func gb_earliest_finish(target: i64) -> i64 |
| 127 | func gb_parallel_savings() -> i64 |