code wiki / _hdl_build / nx_survey_live_verify.nx
nx_survey_live_verify.nx
buildroot/runtime/_hdl_build/nx_survey_live_verify.nx
about
nx_survey_live_verify.nx -- SOVEREIGN live verification of the PUBLIC Nishi Pulse survey app, every rung
OURS on OUR hardware: DNS -> TCP -> our TLS 1.3 handshake (X.509 vs the Mozilla trust store) -> HTTP
GET/POST -> our HTTP parser -> our dechunk -> byte assertions. REPLACES WebFetch (operator 2026-07-10:
"i dont want webfetch in the mix i want native nishi os and nishi browser our hardware from each rung up";
daemon-not-done-until-public-edge-route -> GET+POST both proven). Clone of nx_connect_live_verify; lv_fetch
is byte-identical (the reusable bits-up request core), only the survey assertions in main() differ.
GET /survey -> 200 + Nishi Pulse home lists the ward welfare pulse
GET /survey/s/welfare-pulse -> 200 + the form (token + scale radios) renders
POST /survey/s/welfare-pulse -> 303 (respondent path; FIXED token -> revote-replace, 1 probe
ballot ever, never accumulates -- the one-voter-one-ballot law)
GET /survey/s/welfare-pulse/results -> 200 + aggregates render
POST /survey/admin/insights (bad key) -> 403 (admin POST routes + FAIL-CLOSED, zero data pollution)
Exit 0 = the live public survey served + interactive through our own browser stack. license_tier: ORIGINAL
dependencies 11 imports · 0 importers
diagram shows first 10 each side; +1 more imports, +0 more importers in the complete lists below.
imports: nx_syscalls.nxnx_itoa_lib.nxnx_x509_trust_store.nxnx_trust_store_load_from_certdata.nxnx_tls13_client_validate_certificate.nxnx_tls13_client_session_run.nxnx_https_url_for_fetch.nxnx_https_url_connect.nxnx_https_get_complete.nxnx_https_post_complete.nxnx_http_response_parse.nx
imported by: nobody (leaf or entry point)
structs
| none |
consts
| 25 | const K_MAGIC_262144: i64 = 262144 |
| 26 | const K_MAGIC_16384: i64 = 16384 |
| 27 | const K_MAGIC_4194304: i64 = 4194304 |
functions
| 29 | func lv_w(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 } |
| 34 | func lv_n(v: i64) -> i64 { nxi_out(v); return 0 } |
| 35 | func lv_check(pass: i64, label: *u8, fails: *i64) -> i64 |
| 40 | func lv_slen(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} return n } called by 1: lv_has |
| 41 | func lv_cat(dst: *u8, off: i64, s: *u8) -> i64 { var i: i64=0; while s[i]!=(0 as u8){dst[off+i]=s[i]; i=i+1} return off+i } |
| 42 | func lv_catb(dst: *u8, off: i64, src: *u8, n: i64) -> i64 { var i: i64=0; while i<n { dst[off+i]=src[i]; i=i+1 } return off+n } |
| 43 | func lv_catnum(dst: *u8, off: i64, v: i64) -> i64 calls 1: sys_mmap |
| 54 | func lv_has(buf: *u8, n: i64, needle: *u8) -> i64 |
| 69 | func lv_fetch(store: *TrustStore, is_post: i64, path: *u8, plen: i64, body: *u8, blen: i64, |
| 127 | func main() -> i64 |