code wiki / _hdl_build / nx_coach_curriculum.nx

nx_coach_curriculum.nx

buildroot/runtime/_hdl_build/nx_coach_curriculum.nx

7130 B106 linesdepth 3pulls 4 transitivereach 0 importersview sourcekind tooltopic coach
docsdependenciesstructsconstsfunctions

about

nx_coach_curriculum.nx -- the CURRICULUM-COACH ENGINE (shape B), the second pillar beside the sensor engine. For knowledge/communication skills (confrontation, conversation, strengths, ...): assess -> serve the FRAMEWORK from a curriculum store -> the person practices (roleplay) -> grade the SELF-REPORT (which framework elements they used) vs the framework checklist -> diagnose the MISSING element -> drill -> progress. Structurally identical to the chord coach (R3): the framework's required elements = the "target chord", the response's elements = the "played notes", missing = the gap. "Coaching is coaching" -- same loop, self-report instead of a sensor. The frameworks (NVC, active-listening, ...) are DATA in the store (rule #11), team-extendable. Therapist-AND-person: the SAME assess->roleplay->feedback a clinician assigns (CBT-style); ASSISTS, not therapy. NO floats. ORIGINAL

dependencies 3 imports · 0 importers

nx_seg_store.nx nx_itoa_lib.nx nx_syscalls.nx nx_coach_curriculum.nx

imports: nx_seg_store.nxnx_itoa_lib.nxnx_syscalls.nx

imported by: nobody (leaf or entry point)

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

main cc_puts sys_write cc_seed ss_begin ss_begin_cap sys_mmap cc_add ss_add ss_add2 ss_w32 ss_len cc_slen ss_commit ss_segid_ok sys_mmap ↻ ss_cat ss_catn sys_mmap ↻ sys_write ↻ ss_write_seg ss_segid_ok ↻ sys_mmap ↻ ss_cat ↻ ss_catn ↻ sys_write ↻ ss_segname ss_cat ↻ ss_catn ↻ ss_writefile sys_openat_wr sys_write ↻ sys_close sys_fsync sys_renameat ss_build_keys sys_mmap ↻ ss_r32 ss_kcmp ss_w32 ↻

structs

none

consts

13const CC_PFX: *u8 = "knowledge/store/coach-curriculum-" as *u8

functions

15func cc_puts(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 }
called by 2: cc_attemptmain calls 1: sys_write
20func cc_putn(v: i64) -> i64 { nxi_out(v); return 0 }
called by 1: main calls 1: nxi_out
21func cc_atoi(s: *u8, n: i64) -> i64 { var v: i64 = 0; var i: i64 = 0; while i < n { let c: i64 = s[i]; if c >= 48 { if c <= 57 { v = v * 10 + (c - 48) } } i = i + 1 } return v }
called by 1: cc_attempt
22func cc_slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
called by 1: cc_add
23func cc_add(w: *i64, key: *u8, val: *u8) -> i64 { return ss_add(w, 1, key, val, cc_slen(val)) }
called by 1: cc_seed calls 2: ss_addcc_slen
25func cc_key(skill: *u8, suffix: *u8, idx: i64, hasidx: i64, out: *u8) -> i64
called by 1: cc_attempt calls 2: ss_catsys_mmap
36func cc_get(h: *i64, key: *u8, outlen: *i64) -> *u8
called by 1: cc_attempt calls 2: sys_mmapss_hget
41func cc_seed(prefix: *u8) -> i64
66func cc_attempt(h: *i64, skill: *u8, response_mask: i64) -> i64
90func main() -> i64