code wiki / _hdl_build / nx_compare_growth_json_owner_gate_20260910.nx
nx_compare_growth_json_owner_gate_20260910.nx source
↩ module page · 22 lines · 1299 B
1// Qualifies the existing bounded JSON writer before growth projection depends on it.
2import "json_emit.nx"
3import "nx_gate_verdict.nx"
4func main() -> i64 {
5 let ctr: *i64=gv_ctr(); gv_head("GROWTH-JSON-OWNER" as *u8)
6 let out: *u8=sys_mmap(1024)
7 let w: *JsonWriter=sys_mmap(40) as *JsonWriter
8 gv_check("writer init" as *u8,json_writer_init(w,out,1024)==0,ctr)
9 gv_check("object begin" as *u8,json_begin_object(w)==0,ctr)
10 gv_check("key" as *u8,json_emit_key(w,"text" as *u8,4)==0,ctr)
11 let sample: *u8="quote\" slash\\ tab\t Ω" as *u8
12 gv_check("external string" as *u8,json_emit_string(w,sample,21)==0,ctr)
13 gv_check("nullable key" as *u8,json_emit_key(w,"evidence_validated_stage" as *u8,24)==0,ctr)
14 gv_check("unknown null" as *u8,json_emit_null(w)==0,ctr)
15 gv_check("object close" as *u8,json_end_object(w)==0,ctr)
16 gv_puts("JSON=" as *u8); sys_write(1,out,w.pos); gv_puts("\n" as *u8)
17 let prior: *u8=w.prior; sys_munmap(prior,JE_MAX_DEPTH+16)
18 json_writer_init(w,out,1)
19 gv_check("capacity one first byte" as *u8,json_begin_object(w)==0,ctr)
20 gv_check("overflow explicit" as *u8,json_emit_key(w,"x" as *u8,1)<0,ctr)
21 return gv_verdict("GROWTH-JSON-OWNER" as *u8,ctr,"shared writer only; no capability mastery or delivery claim" as *u8)
22}