nx_teacher_mastery.nx
buildroot/runtime/nx_teacher_mastery.nx
about
nx_teacher_mastery.nx -- the TRAINER's honest CAPABILITY measure (Teacher arc, rung R3b).
The trainer's coverage meter ([[project-tsv-native-migration-janitor-2026-06-20]]) measures SCHEDULING
(fraction of insights under spaced practice) -- NOT a proven capability gain. This rung adds the honest
gap: MASTERY = the team can RECALL an insight's rule on demand, and it is mastered ONLY IF the recall is
mechanically correct (the rule is contained in the answer) -- you cannot fake mastery with a wrong answer
(Rule 4, no-overclaim, liar-kill). Mastery is DISTINCT from coverage: coverage = attempted; mastery =
answered correctly. The before/after capability lift = mastery_rate rising as the team correctly recalls.
HONEST SCOPE: this is the measurement SUBSTRATE. Real mastery requires the team's OWN independent recalls
(its reasoning produces the answers) fed to mst_attempt; this organ does the mechanical correctness check
+ the append-only mastery record. Imports ONLY nx_native_config (shallow -> small object). No network,
no hardware writes (Rule 26). license_tier: ORIGINAL
dependencies 2 imports · 1 importers
imports: nx_native_config.nxnx_syscalls.nx
imported by: nx_teacher_mastery_gate.nx
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| 16 | const K_MAGIC_8192: i64 = 8192 |
functions
| 18 | func mst_puts(s: *u8) -> i64 { var n: i64 = 0; while s[n] != 0 as u8 { n = n + 1 } sys_write(1, s, n); return 0 } |
| 19 | func mst_putn(v: i64) -> i64 |
| 28 | func mst_streq(a: *u8, b: *u8) -> i64 |
| 34 | func mst_atoi(s: *u8) -> i64 called by 1: mst_mastered |
| 40 | func mst_slen(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n } called by 1: mst_contains |
| 42 | func mst_contains(hay: *u8, needle: *u8) -> i64 |
| 56 | func mst_rule_of(cap_store: *u8, want: *u8, out: *u8) -> i64 |
| 81 | func mst_append(mastery_store: *u8, id: *u8, mastered: i64) -> i64 |
| 98 | func mst_attempt(cap_store: *u8, mastery_store: *u8, id: *u8, answer: *u8) -> i64 |
| 107 | func mst_mastered(mastery_store: *u8, id: *u8) -> i64 |
| 126 | func mst_rate(cap_store: *u8, mastery_store: *u8) -> i64 |
| 145 | func main() -> i64 |