code wiki / _hdl_build / nx_coach_curriculum.nx

nx_coach_curriculum.nx source

↩ module page · 31 lines · 2110 B

1// nx_coach_curriculum.nx -- the CURRICULUM-COACH ORGAN: a thin main() over nx_coach_curriculum_lib. 2// 3// The engine used to live in THIS file alongside main(), which meant nothing could import it -- so a second 4// discipline could only reuse the curriculum coach by COPYING it, which is the duplication the estate is 5// already RED on (179 cross-tree dup basenames). The core moved VERBATIM to nx_coach_curriculum_lib.nx (the 6// estate's existing nx_gate_verdict / nx_gate_verdict_lib split) and this file kept only its self-gate. 7// 8// The proof of an extraction is that the organ's own verdict still reads exactly as it did before: 3/3 GREEN. 9// 10// The engine: assess -> serve the FRAMEWORK from the store -> roleplay -> grade the SELF-REPORT -> name the 11// MISSING element -> drill -> progress. Frameworks are DATA (rule 11), so a new discipline is rows, not code. 12// license_tier: ORIGINAL No hw writes (Rule 26). 13import "nx_coach_curriculum_lib.nx" 14 15func main() -> i64 { 16 cc_puts("CURRICULUM-COACH ENGINE: assess -> framework(store) -> roleplay -> grade self-report -> drill -> progress\n" as *u8) 17 cc_seed(CC_PFX) 18 let h: *i64 = ss_open(CC_PFX) 19 if (h as i64) == 0 { cc_puts(" curriculum store open FAILED\n" as *u8); return 1 } 20 var pass: i64 = 0 21 // confront: full NVC (all 4) -> complete 22 if cc_attempt(h, "confront" as *u8, 15) == 0 { pass = pass + 1 } 23 // confront: used Observation(0)+Request(3) only, missed Feeling(1)+Need(2) -> 2 missed, named from the store 24 if cc_attempt(h, "confront" as *u8, 9) == 2 { pass = pass + 1 } 25 // converse: paraphrase(0)+validate(2), missed the Open question(1) -> 1 missed 26 if cc_attempt(h, "converse" as *u8, 5) == 1 { pass = pass + 1 } 27 cc_puts(" curriculum diagnoses correct = "); cc_putn(pass); cc_puts("/3\n" as *u8) 28 if pass == 3 { cc_puts("COACH-CURRICULUM: GREEN -- the curriculum-coach engine (assess->framework->roleplay->grade->drill) runs the interpersonal domains from store DATA; the 2nd pillar beside the sensor engine\n" as *u8); return 0 } 29 cc_puts("COACH-CURRICULUM: RED\n" as *u8) 30 return 1 31}