code wiki / (root) / nx_install_pipeline.nx

nx_install_pipeline.nx

buildroot/runtime/nx_install_pipeline.nx

7814 B190 linesdepth 7pulls 11 transitivereach 6 importersview sourcekind librarytopic install
docsdependenciesstructsconstsfunctions

about

nx_install_pipeline.nx -- end-to-end SA arc orchestrator. Composes the full self-assembly chain into one call: probe + calibration + policy + workload-DAG -> nx_select_joint_chain (joint variant selection) -> total_cost recompute (sum of selected variants' scores) -> nx_install_plan_capture (snapshot probe + calib + policy + selection) -> nx_install_hash_compute (SHA-256 of canonical bytes) -> returns (filled NxInstallPlan, 32-byte install_hash, verdict) V1 entry point: `nx_install_pipeline_run_with_inputs` takes pre-built probe + calibration so the smoke runs fast + deterministic. A future `nx_install_pipeline_run` would call nx_probe_run + nx_calibrate_run for real measurements; deferred to keep this primitive a pure composer rather than a wiring layer. Total cost of selection is re-computed here (the joint selector returns indices only; cost = Σ_i score(picked_variant_at_node_i, policy)). This keeps SA-5's commit untouched (no widening of the joint-selector return signature). Caller-allocated outputs: out_plan (NxInstallPlan), out_hash (32-byte buffer). Pipeline does NOT allocate result memory on behalf of the caller -- explicit ownership. genealogy_id: cardinal_2026-05-19_self_assembly + composition_pattern lineage_id: substrate_install_pipeline_v1 nx_capability_manifest: variant_class: install_pipeline variant_id: install_pipeline_v1_compose_chain_hash requires_isa: [rv64imac, x86_64] requires_syscalls: [mmap, clock_gettime_mono] requires_ram_min_b: 16384 // plan + sha256 ctx + scratch tier_floor: NX_TIER_MOBILE tier_ceiling: NX_TIER_HPC cost_model: flops_per_n: 1.0 // dominated by select + hash bytes_per_n: 256.0 // plan + canonical bytes

dependencies 7 imports · 6 importers

nx_syscalls.nx nx_probe.nx nx_calibrate.nx nx_select.nx nx_select_joint.nx nx_install_plan.nx nx_install_hash.nx nx_install_pipeline.nx nx_install_attest_signed_test.nx nx_install_attest_test.nx nx_install_pipeline_test.nx nx_spore_up_lifecycle_test.nx nx_spore_up_network_test.nx nx_spore_up_test.nx

imports: nx_syscalls.nxnx_probe.nxnx_calibrate.nxnx_select.nxnx_select_joint.nxnx_install_plan.nxnx_install_hash.nx

imported by: nx_install_attest_signed_test.nxnx_install_attest_test.nxnx_install_pipeline_test.nxnx_spore_up_lifecycle_test.nxnx_spore_up_network_test.nxnx_spore_up_test.nx

structs

none

consts

61const NX_MAGIC_1048576: i64 = 1048576
64const NX_PIPELINE_OK: i64 = 0
65const NX_PIPELINE_BAD_INPUT: i64 = 1
66const NX_PIPELINE_SELECT_FAILED: i64 = 2
67const NX_PIPELINE_CAPTURE_FAILED: i64 = 3
68const NX_PIPELINE_HASH_FAILED: i64 = 4
69const NX_PIPELINE_N: i64 = 5

functions

71func nx_pipeline_verdict_is_valid(v: i64) -> i64
called by 1: main
80func _pipeline_total_cost(
106func _map_select_verdict_to_plan(select_rc: i64) -> i64
128func nx_install_pipeline_run_with_inputs(