code wiki / _hdl_build / nx_vizsla_venue.nx

nx_vizsla_venue.nx

buildroot/runtime/_hdl_build/nx_vizsla_venue.nx

25541 B683 linesdepth 6pulls 7 transitivereach 0 importersview sourcekind orphan librarytopic vizsla
docsdependenciesstructsconstsfunctions

about

nx_vizsla_venue.nx -- NISHI VIZSLA VENUE PIPELINE: coordinate finding + hiring buildings. Operator 2026-07-07: "coordinating the finding and hiring of buildings". The deal-pipeline pattern (nx_vizsla_deal precedent) applied to venue hire: REQUIREMENTS -> CANDIDATES -> additive STAGE history (found/contacted/quoted/visited/booked/rejected, latest-by-date wins, nothing destroyed) -> integer FIT SCORE vs the requirement -> a BOOKED venue emits the exact calendar EVENT line so the hire lands on the group calendar (composes nx_vizsla_calendar's load format -- the bridge is data, not a fork). Records (load <file> <prefix> [segid], additive + CID-idempotent): REQ <event> <capacity> <budget_cents> <date> <start_min> <dur_min> -> "req:" VENUE <event> <vid> <capacity> <cost_cents> <contact> <name> -> "ven:" STAGE <date> <event> <vid> <found|contacted|quoted|visited|booked|rejected> -> "stg:" Command: board <prefix> <event> per candidate: latest stage + fit score = cap_ok*50 + within_budget*30 + ((budget-cost)*20)/budget (cheaper = better, integer) with over_budget/too_small flags; sorted score desc / cost asc / vid. best = top non-rejected. A booked venue emits VIZSLA-VEN-BOOKED + VIZSLA-VEN-CAL-LINE "EVENT venue-<event> <date> <start> <dur> <name>". Loud-fail: missing REQ, unknown event, bad stage word, bad numbers/dates. Score weights 50/30/20 are the documented v1 model (single place, swap for CONF rows when multi-event tuning is real -- rule 11 exception documented, not buried). spec: knowledge/research/2026-06-22-vizsla-sclass-roadmap.md license_tier: ORIGINAL

dependencies 3 imports · 0 importers

nx_syscalls.nx nx_canon_cid.nx nx_seg_store.nx nx_vizsla_venue.nx

imports: nx_syscalls.nxnx_canon_cid.nxnx_seg_store.nx

imported by: nobody (leaf or entry point)

structs

none

consts

26const K_MAGIC_1970: i64 = 1970
27const K_MAGIC_146097: i64 = 146097
28const K_MAGIC_719468: i64 = 719468
29const K_MAGIC_2048: i64 = 2048
30const K_MAGIC_1440: i64 = 1440
31const K_MAGIC_4096: i64 = 4096
32const K_MAGIC_65536: i64 = 65536

functions

34func vv_slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
35func vv_p(s: *u8) -> i64 { sys_write(1, s, vv_slen(s)); return 0 }
37func vv_eq(a: *u8, b: *u8) -> i64
48func vv_cmp(a: *u8, b: *u8) -> i64
62func vv_dup(s: *u8) -> *u8
70func vv_atoi(s: *u8) -> i64
81func vv_digits(s: *u8) -> i64
93func vv_isws(c: i64) -> i64
100func vv_tok(b: *u8, off: i64, lend: i64, dst: *u8, cap: i64) -> i64
122func vv_cat(dst: *u8, off: i64, s: *u8) -> i64
128func vv_catn(dst: *u8, off: i64, v: i64) -> i64
141func vv_kmemeq(b: *u8, off: i64, n: i64, s: *u8) -> i64
151func vv_field(rec: *u8, rl: i64, want: *u8, out: *u8, cap: i64) -> i64
178func vv_iskind(b: *u8, koff: i64, kl: i64, pfx: *u8) -> i64
183func vv_datedays(s: *u8) -> i64
224func vv_find(list: *i64, n: i64, s: *u8) -> i64
233func vv_stage_ok(s: *u8) -> i64
243func vv_put(keys: *i64, vals: *i64, nf: i64, kp: *u8, st: *i64) -> i64
276func vv_cmd_load(argc: i64, argv: *i64) -> i64
443func vv_cmd_board(argc: i64, argv: *i64) -> i64
676func main(argc: i64, argv: *i64) -> i64