code wiki / _hdl_build / nx_coach_curriculum.nx
nx_coach_curriculum.nx
buildroot/runtime/_hdl_build/nx_coach_curriculum.nx
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
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
structs
| none |
consts
| 13 | const CC_PFX: *u8 = "knowledge/store/coach-curriculum-" as *u8 |
functions
| 15 | func 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 } |
| 20 | func cc_putn(v: i64) -> i64 { nxi_out(v); return 0 } |
| 21 | func 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 |
| 22 | func 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 |
| 23 | func cc_add(w: *i64, key: *u8, val: *u8) -> i64 { return ss_add(w, 1, key, val, cc_slen(val)) } |
| 25 | func cc_key(skill: *u8, suffix: *u8, idx: i64, hasidx: i64, out: *u8) -> i64 |
| 36 | func cc_get(h: *i64, key: *u8, outlen: *i64) -> *u8 |
| 41 | func cc_seed(prefix: *u8) -> i64 |
| 66 | func cc_attempt(h: *i64, skill: *u8, response_mask: i64) -> i64 |
| 90 | func main() -> i64 |