code wiki / (root) / nx_assembly_guide.nx

nx_assembly_guide.nx

buildroot/runtime/nx_assembly_guide.nx

12588 B247 linesdepth 4pulls 5 transitivereach 0 importersview sourcekind orphan library
docsdependenciesstructsconstsfunctions

about

nx_assembly_guide.nx -- sensor-verified step-by-step assembly walkthrough. module: nishi-core.perception.assembly_guide depends: nishi-core.perception.profile + nishi-core.perception.transducer_characterizer + nishi-core.perception.provenance_curve_store + nishi-core.io.syscalls disk_kb: 6 capability: PERCEPTION wired_status: PARTIAL_WIRED MISSING_CAPABILITIES: - ASSEMBLY_MANIFEST_LOAD (load step-list + expected values from versioned assembly manifest file) - SENSOR_READ_DISPATCH (route verification kind to appropriate hardware interface: serial multimeter, USB ADC, oscilloscope, etc.) - USER_UI_PRESENT (display step text + expected value + accept-or-fail prompt; queued, depends on nx_audit_dashboard UI layer) - STEP_HISTORY_PERSIST (write each step result to nx_provenance_curve_store so failed builds can be analyzed later) - DIAGNOSTIC_HOOK_INVOKE (on FAIL, dispatch to nx_instrument_diagnostician with measurement payload to name the fix) license_tier: PUBLIC_NISHI_SUBSTRATE genealogy_id: feedback-substrate-does-heavy-lifting-user-is-partner-not-gate_2026 + feedback-substrate-primitives-meta-not-one-off_2026 + feedback-self-surfacing-intelligence-staged-autonomy + toyota_production_system_andon_jidoka + feedback-build-the-system-not-manual-output Per cardinal [[feedback-substrate-does-heavy-lifting-user-is-partner-not-gate]]: THIS primitive walks the user through ANY physical assembly — DAC board, amp board, ribbon tweeter, dog toy production unit, attic door tent, 3D- printed cistern install, mini-split mount, every product. Substrate presents each step, captures sensor reading, ratifies pass-or-fail, invokes diagnostician on fail, advances on pass. User contributes solder + glue + life-context judgment; substrate contributes every measurement + every tolerance check + every error name. Reuse set served by this single primitive: - DAC build (W2 of dog perceptual rig) - Amplifier build (W3)

dependencies 4 imports · 0 importers

nx_syscalls.nx nx_perceptual_profile.nx nx_transducer_characterizer.nx nx_provenance_curve_store.nx nx_assembly_guide.nx

imports: nx_syscalls.nxnx_perceptual_profile.nxnx_transducer_characterizer.nxnx_provenance_curve_store.nx

imported by: nobody (leaf or entry point)

structs

155struct NxAsmStep

consts

58const NX_ASM_KIND_SOLDER: i64 = 1 // place + solder a component
59const NX_ASM_KIND_GLUE: i64 = 2 // adhesive bonding
60const NX_ASM_KIND_MOUNT: i64 = 3 // mechanical mounting (screws, clips)
61const NX_ASM_KIND_WIRE: i64 = 4 // route + crimp wires
62const NX_ASM_KIND_CONFIGURE: i64 = 5 // software / DIP-switch / jumper
63const NX_ASM_KIND_VERIFY: i64 = 6 // measure + check tolerance
64const NX_ASM_KIND_CALIBRATE: i64 = 7 // trim pot, bias, zero offset
65const NX_ASM_KIND_DOCUMENT: i64 = 8 // photo + serial number + provenance
66const NX_ASM_KIND_TENSION: i64 = 9 // ribbon tweeter, magnet alignment
67const NX_ASM_KIND_FILL: i64 = 10 // concrete pour, refrigerant charge, scent cartridge fill
68const NX_ASM_KIND_CURE: i64 = 11 // adhesive set, concrete cure, refrigerant settle
69const NX_ASM_KIND_INSTALL: i64 = 12 // place in final location (cistern, mini-split, etc.)
89const NX_ASM_VERIFY_MULTIMETER_RESISTANCE: i64 = 1 // Ω
90const NX_ASM_VERIFY_MULTIMETER_VOLTAGE_DC: i64 = 2 // V DC
91const NX_ASM_VERIFY_MULTIMETER_VOLTAGE_AC: i64 = 3
92const NX_ASM_VERIFY_MULTIMETER_CONTINUITY: i64 = 4 // 0/1
93const NX_ASM_VERIFY_MULTIMETER_CURRENT: i64 = 5 // A
94const NX_ASM_VERIFY_MULTIMETER_CAPACITANCE: i64 = 6
95const NX_ASM_VERIFY_ADC_SAMPLE: i64 = 7 // any ADC reading
96const NX_ASM_VERIFY_DIGITAL_LOGIC_PROBE: i64 = 8 // 0/1 high/low
97const NX_ASM_VERIFY_OSCILLOSCOPE_CAPTURE: i64 = 9 // waveform
98const NX_ASM_VERIFY_VISUAL_INSPECT: i64 = 10 // camera + pose/orientation check
99const NX_ASM_VERIFY_MASS_MEASUREMENT: i64 = 11 // for chemical fill volumes
100const NX_ASM_VERIFY_TEMPERATURE: i64 = 12 // cure profile
101const NX_ASM_VERIFY_TIMING: i64 = 13 // event timing measurement
102const NX_ASM_VERIFY_TRANSDUCER_FRF: i64 = 14 // invoke full characterizer
103const NX_ASM_VERIFY_PRESSURE: i64 = 15 // cistern leak test, refrigerant
104const NX_ASM_VERIFY_USER_CONFIRM: i64 = 16 // human judgment, no sensor available
128const NX_ASM_STEP_PASS: i64 = 0
129const NX_ASM_STEP_TOLERANCE_MARGINAL: i64 = 1 // in tolerance but near edge
130const NX_ASM_STEP_FAIL_OUT_OF_SPEC: i64 = 2 // measurement outside tolerance
131const NX_ASM_STEP_FAIL_NO_READING: i64 = 3 // sensor returned no data
132const NX_ASM_STEP_FAIL_SHORT_CIRCUIT: i64 = 4 // continuity where should be open
133const NX_ASM_STEP_FAIL_OPEN_CIRCUIT: i64 = 5 // no continuity where should be closed
134const NX_ASM_STEP_SKIP_USER: i64 = 6 // user opted to skip
135const NX_ASM_STEP_DEPENDENCY_MISSING: i64 = 7 // PARTIAL_WIRED default

functions

71func nx_asm_kind_name(k: i64) -> *u8
106func nx_asm_verify_name(v: i64) -> *u8
137func nx_asm_step_verdict_name(v: i64) -> *u8
176func nx_asm_begin_assembly(assembly_id_ptr: *u8, assembly_id_len: i64,
187func nx_asm_step_present(assembly_id_ptr: *u8, assembly_id_len: i64) -> i64
195func nx_asm_step_measure(assembly_id_ptr: *u8, assembly_id_len: i64,
206func nx_asm_step_verify(assembly_id_ptr: *u8, assembly_id_len: i64,
217func nx_asm_step_advance(assembly_id_ptr: *u8, assembly_id_len: i64) -> i64
225func nx_asm_step_user_override(assembly_id_ptr: *u8, assembly_id_len: i64,
237func nx_asm_get_progress(assembly_id_ptr: *u8, assembly_id_len: i64) -> i64
244func nx_asm_get_last_verdict(assembly_id_ptr: *u8, assembly_id_len: i64) -> i64