code wiki / _hdl_build / nx_vizsla_digest.nx

nx_vizsla_digest.nx

buildroot/runtime/_hdl_build/nx_vizsla_digest.nx

22251 B537 linesdepth 2pulls 2 transitivereach 0 importersview sourcekind tooltopic vizsla
docsdependenciesstructsconstsfunctions

about

nx_vizsla_digest.nx -- NISHI VIZSLA V5: the proactive DAILY DIGEST. Operator directive 2026-06-14: make the assistant PROACTIVE -- it tells you what to do today before you ask. This is the consigliere's daily brief ACROSS the whole assistant: it COMPOSES the already-gated organs (it does NOT re-implement them -- rule 22, composition over duplication) into one report: 1) RELATIONSHIPS to tend -> nx_vizsla_relate brief 2) NOTES to send (drafted) -> nx_vizsla_notes draftdue 3) BILLS due/overdue -> nx_vizsla_bills status (OPTIONAL: only if the conf names BILLS_PREFIX + BILLS_FILE) -- ENGAGEMENT-PARTNER sections (2026-07-08, operator: "engagement partner ... birthday and important event reminder"), each OPTIONAL like bills: 4) TODAY'S CALENDAR -> nx_vizsla_calendar day (CAL_PREFIX) 5) REMINDERS DUE -> nx_vizsla_remind due (REMIND_CONTACTS + REMIND_LEADS; calendar side = CAL_PREFIX if set; optional REMIND_SENT ledger dedups delivery) 6) PLAN status -> nx_vizsla_plan board (PLAN_PREFIX + PLAN_NAME) 7) VENUE hunt -> nx_vizsla_venue board (VENUE_PREFIX + VENUE_EVENT) designed to be run on a pulse/schedule each day; the consolidated verdict aggregates the sub-reports' counts. Determinism: today via argv. Command: digest <digest.conf> <today> digest.conf (line records, # comments) names where the data lives: RELATE_PREFIX <store-prefix> (nx_vizsla_relate store) RELATE_CONTACTS <contacts.txt> NOTES_PREFIX <store-prefix> (nx_vizsla_notes store) NOTES_CONF <notes_conf.txt> (occasions + windows) NOTES_TEMPLATES <note_templates.txt> It forks the BLESSED organs _offc/nx_vizsla_relate.elf + _offc/nx_vizsla_notes.elf (so run from the nxc2 dir). Loud-fail: missing conf / missing key / a sub-organ that errors. HONEST SCOPE: the digest PRODUCES the day's actionable report + logs it; the actual PUSH (email/notification to your phone) is an outward-facing boundary step (consent-gated). "Automatic each day" = this organ on a pulse/cron. module: nishi-core.vizsla.digest depends: nishi-core.lib.syscalls capability: VIZSLA_DAILY_DIGEST spec: knowledge/specs/2026-06-10-nishi-vizsla-ladder.md license_tier: ORIGINAL

dependencies 1 imports · 0 importers

nx_syscalls.nx nx_vizsla_digest.nx

imports: nx_syscalls.nx

imported by: nobody (leaf or entry point)

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

main dg_p sys_write dg_slen dg_eq dg_cmd_digest dg_p ↻ sys_mmap dg_readall sys_openat_rd sys_lseek sys_mmap ↻ sys_read sys_close dg_conf_get sys_mmap ↻ dg_tok dg_isws dg_eq ↻ dg_run sys_fork sys_openat_wr sys_dup3 sys_mmap ↻ sys_execve sys_exit sys_wait4 dg_find dg_slen ↻ dg_extract dg_slen ↻ dg_run6 sys_fork ↻ sys_openat_wr ↻ sys_dup3 ↻ sys_mmap ↻ sys_execve ↻ sys_exit ↻ sys_wait4 ↻ dg_cat

structs

none

consts

41const K_MAGIC_65536: i64 = 65536
42const K_MAGIC_262144: i64 = 262144

functions

44func dg_slen(s: *u8) -> i64
50func dg_p(s: *u8) -> i64
called by 2: dg_cmd_digestmain calls 2: sys_writedg_slen
55func dg_eq(a: *u8, b: *u8) -> i64
called by 2: dg_conf_getmain
66func dg_isws(c: i64) -> i64
called by 1: dg_tok
73func dg_tok(b: *u8, off: i64, lend: i64, dst: *u8, cap: i64) -> i64
called by 1: dg_conf_get calls 1: dg_isws
95func dg_cat(dst: *u8, off: i64, s: *u8) -> i64
called by 1: dg_cmd_digest
101func dg_catn(dst: *u8, off: i64, v: i64) -> i64
called by 1: dg_cmd_digest calls 1: sys_mmap
114func dg_readall(path: *u8, szout: *i64) -> *u8
133func dg_run(elf: *u8, a0: *u8, a1: *u8, a2: *u8, a3: *u8, a4: *u8, outpath: *u8) -> i64
160func dg_run6(elf: *u8, a0: *u8, a1: *u8, a2: *u8, a3: *u8, a4: *u8, a5: *u8, outpath: *u8) -> i64
189func dg_extract(buf: *u8, sz: i64, key: *u8) -> i64
called by 1: dg_cmd_digest calls 1: dg_slen
221func dg_find(buf: *u8, sz: i64, needle: *u8) -> i64
called by 1: dg_cmd_digest calls 1: dg_slen
237func dg_conf_get(cb: *u8, csz: i64, key: *u8, out: *u8, cap: i64) -> i64
called by 1: dg_cmd_digest calls 3: sys_mmapdg_tokdg_eq
265func dg_cmd_digest(argc: i64, argv: *i64) -> i64
531func main(argc: i64, argv: *i64) -> i64