code wiki / (root) / nx_vizsla_mcp_gate.nx

nx_vizsla_mcp_gate.nx

buildroot/runtime/nx_vizsla_mcp_gate.nx

10858 B262 linesdepth 7pulls 12 transitivereach 0 importersview sourcekind gate/prooftopic vizsla
docsdependenciesstructsconstsfunctions

about

nx_vizsla_mcp_gate.nx -- GATE: the VIZSLA coordination tools are REAL MCP-level APIs. Drives the EXACT execution layer /mcp tools/call uses (nx_tool_exec_allow tea_resolve/tea_run_argv over the PRODUCTION tool_allowlist.conf) + the discovery registry readback (what tools/list serves) + the rich-schema conf rows. Nothing is mocked: the resolved blessed ELFs run with a real argv and their real stdout comes back through the capture path -- exactly what an MCP client receives. Rows: 1 registry-discovery tool_get readback for vizsla_plan + vizsla_doc (tools/list source) 2 allowlist-resolve tea_resolve(production conf) vizsla_plan -> TEA_OK + the blessed elf path 3 mcp-exec-plan tea_run_argv board over the demo store -> VIZSLA-PLAN-VERDICT captured 4 mcp-exec-ics tea_run_argv ics export -> real .ics on disk + BEGIN:VCALENDAR + verdict 5 mcp-exec-doc tea_run_argv doc put -> list captures docs=1 (mutating tool works e2e) 6 blocked-non-green nx_http_probe row is RED -> TEA_BLOCKED, nothing executed [neg control] 7 notfound-unknown ghost tool -> TEA_NOTFOUND [negative control] 8 schema-rows tool_schemas.conf carries vizsla_plan + vizsla_doc annotation rows Evidence: VIZSLA-MCP-GATE -> stdout + knowledge/status/vizsla_gate.log; exit 0 iff 8/8. expect_exit: 0 license_tier: ORIGINAL

dependencies 3 imports · 0 importers

nx_tool_exec_allow.nx nx_tool_registry.nx nx_gate_verdict.nx nx_vizsla_mcp_gate.nx

imports: nx_tool_exec_allow.nxnx_tool_registry.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 mg_p mg_slen tool_get tool_get_pfx reg_get reg_key reg_cat ss_get sys_mmap ss_scan sys_mmap ↻ ss_manifest_dyn ss_scan_seglist mg_row mg_p ↻ tea_resolve_from tea_name_ok sys_read_file sys_openat_rd sys_lseek sys_mmap ↻ sys_read sys_close tea_field_eq_n tea_field_eq mg_memhas mg_slen ↻ mg_slen ↻ tea_run_argv_from tea_resolve_from ↻ tr_run_capture_to tr_run_capture sys_mmap ↻ sys_pipe2 sys_fork sys_close ↻ sys_dup3 sys_execve_clean sys_close ↻

structs

none

consts

none

functions

22func mg_slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
called by 3: mg_pmg_memhasmain
23func mg_p(s: *u8) -> i64 { sys_write(1, s, mg_slen(s)); return 0 }
called by 2: mg_rowmain calls 1: mg_slen
25func mg_cat(dst: *u8, off: i64, s: *u8) -> i64
called by 1: main
31func mg_catn(dst: *u8, off: i64, v: i64) -> i64
called by 1: main
44func mg_readall(path: *u8, szout: *i64) -> *u8
called by 1: mg_filehas calls 1: sys_read
61func mg_memhas(b: *u8, sz: i64, needle: *u8) -> i64
called by 2: mg_filehasmain calls 1: mg_slen
77func mg_filehas(path: *u8, needle: *u8) -> i64
called by 1: main calls 2: mg_readallmg_memhas
84func mg_row(name: *u8, pass: i64) -> i64
called by 1: main calls 1: mg_p
91func main(argc: i64, argv: *i64) -> i64