code wiki / _hdl_build / nx_vizsla_notify.nx

nx_vizsla_notify.nx

buildroot/runtime/_hdl_build/nx_vizsla_notify.nx

25191 B685 linesdepth 6pulls 7 transitivereach 0 importersview sourcekind tooltopic vizsla
docsdependenciesstructsconstsfunctions

about

nx_vizsla_notify.nx -- NISHI VIZSLA OUTWARD DELIVERY (census PA18): the reminder actually REACHES you. Operator 2026-07-08: "birthday and important event reminder ... engagement partner ... state of the art". The reminder ENGINE (nx_vizsla_remind) computes WHAT is due; this organ DELIVERS it. Two honest channels: * ON-SITE (default, fully sovereign, no consent needed -- it surfaces on YOUR first-party page): `deliver` composes remind-due, and for each DUE notice NOT already delivered, appends a notification record. The notification store IS the once-only delivery ledger (additive, CID plane) -- re-running the same day delivers nothing new. This is "never make users do what the system can": the assistant pushes the reminder to your surface without you asking. * EMAIL (compose-ready): `email` composes ONE digest message of all due notices as a valid RFC5322 message (From/To/Subject/Date headers + body) written to a .eml -- ready for the DKIM-sign + submit step (nx_email_send/nx_email_submit). The final external SMTP hop is the operator-consent boundary; everything up to a submittable message is sovereign here. Commands: deliver <notifprefix> <calprefix|-> <contacts|-> <today> <leads> [channel] compose remind-due -> on-site records feed <notifprefix> [kind|-] list delivered notifications email <calprefix|-> <contacts|-> <today> <leads> <from> <to> <out.eml> compose the digest email Composes the BLESSED _offc/nx_vizsla_remind.elf (run from the nxc2 dir). Loud-fail: remind errors, bad dates. 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_notify.nx

imports: nx_syscalls.nxnx_canon_cid.nxnx_seg_store.nx

imported by: nobody (leaf or entry point)

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

main nt_p sys_write nt_slen nt_eq nt_cmd_deliver nt_p ↻ nt_datedays sys_mmap sys_mmap ↻ nt_cat nt_catn sys_mmap ↻ sys_now_us sys_mmap ↻ sys_clock_gettime_mono nt_run_due sys_fork sys_openat_wr sys_dup3 sys_mmap ↻ sys_execve sys_exit sys_wait4 nt_readall sys_openat_rd sys_lseek sys_mmap ↻ sys_read sys_close ss_manifest ss_manifest_file sys_mmap ↻ ss_cat ss_readall sys_openat_rd ↻ sys_lseek ↻ sys_mmap ↻ sys_read ↻ sys_close ↻

structs

none

consts

23const K_MAGIC_1970: i64 = 1970
24const K_MAGIC_146097: i64 = 146097
25const K_MAGIC_719468: i64 = 719468
26const K_MAGIC_2048: i64 = 2048
27const K_MAGIC_65536: i64 = 65536
28const K_MAGIC_1024: i64 = 1024
29const K_MAGIC_131072: i64 = 131072
30const K_MAGIC_146096: i64 = 146096
31const K_MAGIC_1460: i64 = 1460
32const K_MAGIC_36524: i64 = 36524

functions

34func nt_slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
35func nt_p(s: *u8) -> i64 { sys_write(1, s, nt_slen(s)); return 0 }
37func nt_eq(a: *u8, b: *u8) -> i64
48func nt_dup(s: *u8) -> *u8
56func nt_atoi(s: *u8) -> i64
67func nt_cat(dst: *u8, off: i64, s: *u8) -> i64
73func nt_catn(dst: *u8, off: i64, v: i64) -> i64
86func nt_kmemeq(b: *u8, off: i64, n: i64, s: *u8) -> i64
called by 2: nt_fieldnt_iskind calls 1: nt_slen
96func nt_field(rec: *u8, rl: i64, want: *u8, out: *u8, cap: i64) -> i64
123func nt_iskind(b: *u8, koff: i64, kl: i64, pfx: *u8) -> i64
called by 2: nt_cmd_delivernt_cmd_feed calls 1: nt_kmemeq
128func nt_datedays(s: *u8) -> i64
called by 2: nt_cmd_delivernt_cmd_email calls 1: sys_mmap
169func nt_find(list: *i64, n: i64, s: *u8) -> i64
called by 2: nt_putnt_cmd_deliver calls 1: nt_eq
178func nt_put(keys: *i64, vals: *i64, nf: i64, kp: *u8, st: *i64) -> i64
211func nt_run_due(cal: *u8, contacts: *u8, today: *u8, leads: *u8, outpath: *u8) -> i64
236func nt_readall(path: *u8, szout: *i64) -> *u8
254func nt_starts(line: *u8, llen: i64, off: i64, kw: *u8) -> i64
called by 2: nt_cmd_delivernt_cmd_email calls 1: nt_slen
263func nt_lfield(line: *u8, llen: i64, key: *u8, out: *u8, cap: i64, tillend: i64) -> i64
called by 2: nt_cmd_delivernt_cmd_email calls 1: nt_slen
290func nt_cmd_deliver(argc: i64, argv: *i64) -> i64
457func nt_cmd_feed(argc: i64, argv: *i64) -> i64
533func nt_dow(dst: *u8, off: i64, days: i64) -> i64
called by 1: nt_cmd_email calls 1: nt_cat
546func nt_mon(dst: *u8, off: i64, m: i64) -> i64
called by 1: nt_cmd_email calls 1: nt_cat
563func nt_cmd_email(argc: i64, argv: *i64) -> i64
677func main(argc: i64, argv: *i64) -> i64