code wiki / _hdl_build / nx_treatment_gate.nx

nx_treatment_gate.nx

buildroot/runtime/_hdl_build/nx_treatment_gate.nx

8946 B122 linesdepth 3pulls 4 transitivereach 0 importersview sourcekind gate/proof
docsdependenciesstructsconstsfunctions

about

nx_treatment_gate.nx -- GATE for the treatment ruler (nx_treatment_lib), driven IN-PROCESS on planted rows: a row whose five fields all verify against planted allowlist, clock and roster text plus caller answers (COMPLETE), a row with a dash (MISSING named), a row naming an allowlist row that is not GREEN (ABSENT named), an agent found on the roster and not the clock, a row with a wrong key (FIELDS), a short row (FIELDS), a rung with no treat row (UNDECLARED, labeled never refused), a board with no treat rows (NO-TREATMENT), the partition summing, and the missing-list naming each field with its state. Every fixture asserts its own condition first. license_tier: ORIGINAL No hw writes (Rule 26).

dependencies 3 imports · 0 importers

nx_syscalls.nx nx_treatment_lib.nx nx_gate_verdict.nx nx_treatment_gate.nx

imports: nx_syscalls.nxnx_treatment_lib.nxnx_gate_verdict.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main gv_ctr sys_mmap nxa_die sys_write sys_exit nxa_lock_take nxa_lock_addr sys_write ↻ nxa_lock_give nxa_lock_addr ↻ nxa_report_overrun sys_write ↻ nxa_dump_printable sys_write ↻ nxa_dump_sizes sys_write ↻ gv_head gv_puts sys_write ↻ sys_mmap ↻ trt_slen g_lit trt_slen ↻ trt_cap gv_check gv_puts ↻ trt_scan sys_mmap ↻ trt_line_end trt_field trt_span_is trt_slen ↻ trt_nfields trt_take trt_field ↻ trt_kv trt_slen ↻ trt_value_state gv_check_eq

structs

none

consts

12const G_I64: i64 = 8
13const G_PLAN: *u8 = "rung|R1|one|s1|d|Organ|1|-\nrung|R2|two|s2|d|Organ|1|-\nrung|R3|three|s3|d|Organ|1|-\nrung|R4|four|s4|d|Organ|1|-\nrung|R5|five|s5|d|Organ|1|-\nrung|R6|six|s6|d|Organ|1|-\ntreat|R1|mcp=nx_costcal|api=/api/tools/call name=nx_costcal|prim=nx_costest_lib|wf=costcal|agent=costcal\ntreat|R2|mcp=nx_costcal|api=-|prim=nx_costest_lib|wf=costcal|agent=costcal\ntreat|R3|mcp=nx_ghost|api=/api/tools/call name=nx_ghost|prim=nx_costest_lib|wf=costcal|agent=costcal\ntreat|R4|mcp=nx_costcal|api=/api/tools/call name=nx_costcal|prim=nx_costest_lib|wf=costcal|agent=nx_assets_gate\ntreat|R5|mcp=nx_costcal|apx=/api/tools/call|prim=nx_costest_lib|wf=costcal|agent=costcal\ntreat|R6|mcp=nx_costcal\n"
14const G_ALLOW: *u8 = "# allowlist\nnx_costcal\t/volume1/x/nx_costcal.elf\tGREEN\nnx_ghost\t/volume1/x/nx_ghost.elf\tRED\nnx_other\t/volume1/x/nx_other.elf\tGREEN\n"
15const G_CLOCK: *u8 = "costcal\t86400\tnx_costcal.elf\nother\t60\tnx_other.elf\n"
16const G_ROSTER: *u8 = "; roster\nnx_assets_gate\nnx_other_gate\n"
17const G_NOTREAT: *u8 = "rung|R1|one|s1|d|Organ|1|-\n"
18const G_ROWS: i64 = 6
19const G_RUNGS: i64 = 6
20const G_ROW_R1: i64 = 0
21const G_ROW_R2: i64 = 1
22const G_ROW_R3: i64 = 2
23const G_ROW_R4: i64 = 3
24const G_ROW_R5: i64 = 4
25const G_ROW_R6: i64 = 5
26const G_MISSCAP: i64 = 256

functions

28func g_lit(s: *u8, dst: *u8) -> i64
called by 1: main calls 1: trt_slen
35func g_streq(a: *u8, b: *u8) -> i64
called by 1: main calls 1: trt_slen
43func main(argc: i64, argv: *i64) -> i64