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}