code wiki / (root) / nx_estate_path.nx

nx_estate_path.nx

buildroot/runtime/nx_estate_path.nx

11458 B190 linesdepth 2pulls 2 transitivereach 438 importersview sourcekind librarytopic estate
docsdependenciesstructsconstsfunctions

about

nx_estate_path.nx -- THE one act every estate organ performs before reading an artifact: open a knowledge/ path WITHOUT caring which working directory it was launched from. WHY (measured twice in one session, 2026-08-04): 1. nx_swarm_endpoint_lib read "knowledge/swarm_nodes.conf" relative. The gen daemon runs with CWD=/volume1/ai/gen, so the SSOT silently missed and every consumer fell back to stale argv endpoints -- the exact DHCP outage that lib was built to end, reintroduced by a CWD. 2. nx_writebench and nx_writebench_gate each probed only "p" then "../p". Run from buildroot they reported GREEN; run from nishihost (which is the tools-daemon CWD, i.e. EVERY MCP call) the same honest board reported "result=LIAR claimed-artifacts-missing=8". A liar-killer that accuses itself because of a working directory is worse than no liar-killer. ★★★THE LAW: a verdict that changes with the caller's working directory is not a measurement. ★A fix that must be remembered at N sites has to bind to the ONE act all N perform. That act is this function. Callers ask for an estate-relative path; nobody re-spells a probe order again. FAIL-CLOSED: absent everywhere still returns a negative fd. This widens WHERE we look, never what counts as present -- an artifact that does not exist must still read as ABSENT. LAYER: runtime/ (primitive), so both runtime/ and _hdl_build/ organs may import it. Library only: NO main(), so importing it can never cause the double-main trap. license_tier: ORIGINAL module: nishi-core.estate.path capability: ESTATE_PATH_RESOLVE

dependencies 1 imports · 161 importers

nx_syscalls.nx nx_estate_path.nx nx_accept_lib.nx nx_analyst_dashboard.nx nx_autofix_intake_gate.nx nx_autofix_intake_gate_t138.nx nx_autofix_lib.nx nx_autofix_lib_t138.nx nx_barcheck.nx nx_beir_gate.nx nx_bert_ce_gate.nx nx_bindings_delivery_gate.nx

diagram shows first 10 each side; +0 more imports, +151 more importers in the complete lists below.

imports: nx_syscalls.nx

imported by: nx_accept_lib.nxnx_analyst_dashboard.nxnx_autofix_intake_gate.nxnx_autofix_intake_gate_t138.nxnx_autofix_lib.nxnx_autofix_lib_t138.nxnx_barcheck.nxnx_beir_gate.nxnx_bert_ce_gate.nxnx_bindings_delivery_gate.nxnx_catalog.nxnx_catalog_adopt_t75.nxnx_catalog_dispatch_t66.nxnx_catalog_lib.nxnx_catalog_lib_t75.nxnx_catalog_t75.nxnx_civicmap.nxnx_civicmap_lib.nxnx_cloud_capture_gate_20260910.nxnx_coe_consistency.nxnx_coe_dsse.nxnx_coe_intoto.nxnx_compare_preview_capture_t56.nxnx_compare_regen.nxnx_compare_regen_scoped.nxnx_compare_regen_t138.nxnx_compare_shared_fit_lib_20260910.nxnx_compare_unified.nxnx_craft_affine_fit_t342.nxnx_craft_body_affine_alpha_fit_t361.nxnx_craft_body_fit_t138.nxnx_craft_body_semantic_alpha_fit_t345.nxnx_craft_body_winding_alpha_fit_t365.nxnx_craft_canonical_fit_t135.nxnx_craft_eye_fit_t138.nxnx_craft_gait_fit_t139.nxnx_craft_garment_fit_t132.nxnx_craft_hair_attachment_fit_t263.nxnx_craft_hair_attachment_fit_t283.nxnx_craft_hair_probe_fit_t280.nxnx_craft_imported_fit_t262.nxnx_craft_inspection_alpha_fit_t342.nxnx_craft_inspection_canonical_fit_t142.nxnx_craft_inspection_distance_fit_t235.nxnx_craft_inspection_fit_t142.nxnx_craft_integrated_fit_t73.nxnx_craft_length_fit_t140.nxnx_craft_material_body_fit_t61.nxnx_craft_material_fit_t55.nxnx_craft_memory_pair_gate_20260910.nxnx_craft_mip_fit_t241.nxnx_craft_motion_fit_t328.nxnx_craft_move_fit_t72.nxnx_craft_person_alpha_fit_t343.nxnx_craft_pipeline_fit_t64.nxnx_craft_private_combined_fit_t28.nxnx_craft_private_combined_fit_t29.nxnx_craft_private_feedback_fit_t28.nxnx_craft_private_history_fit_t25.nxnx_craft_private_knight_fit_t25.nxnx_craft_private_page_fit_gate.nxnx_craft_private_pinned_fit_t24.nxnx_craft_private_recovery_fit_t23.nxnx_craft_private_support_fit_t31.nxnx_craft_private_water_fit_t31.nxnx_craft_procedural_review_fit_candidate_t333.nxnx_craft_rig_comparison_fit_t332.nxnx_craft_rig_inspection_fit_t230.nxnx_craft_rig_observation_fit_t331.nxnx_craft_rigview_host_fit_t341.nxnx_craft_rigview_workbench_fit_t342.nxnx_craft_scene_light_alpha_fit_t364.nxnx_craft_search_fit_t53.nxnx_craft_skin_canonical_diag_t140.nxnx_craft_skin_canonical_fit_t140.nxnx_craft_skin_fit_t138.nxnx_craft_skin_wrap_fit_t261.nxnx_craft_static_fit_t338.nxnx_craft_toon_region_fit_t143.nxnx_craft_visitors_canonical_fit_t142.nxnx_craft_visitors_fit_t140.nxnx_craft_visitors_inspection_fit_t142.nxnx_craft_visitors_lit_fit_t181.nxnx_craft_visitors_material_fit_t181.nxnx_craft_visitors_owned_fit_t219.nxnx_craft_workspace_fit_t48.nxnx_cwdguard.nxnx_dataeng_sota_census.nxnx_eco_scorecard.nxnx_embed_train.nxnx_evclass_route.nxnx_evidence_profile_gate.nxnx_evidence_refresh.nxnx_evprofile_lib.nxnx_extllm.nxnx_extllm_call.nxnx_extllm_publish_guard.nxnx_failclass.nxnx_favela_census.nxnx_favela_decay.nx +61 more (shown cap 100 declared)

structs

none

consts

26const EP_MAGIC_1024: i64 = 1024
28const EP_ROOT: *u8 = "/volume1/homes/elderwesto/nishihost/\x00" as *u8
29const EP_BUILDROOT: *u8 = "/volume1/homes/elderwesto/nishihost/buildroot/\x00" as *u8

functions

31func ep_join(out: *u8, pre: *u8, p: *u8) -> *u8
60func ep_anchor() -> i64
85func ep_open_rd(p: *u8) -> i64
106func ep_artifact_path(out: *u8, p: *u8) -> i64
139func ep_src_try(out: *u8, sub: *u8, target: *u8) -> i64
181func ep_src_path(out: *u8, target: *u8) -> i64