code wiki / _hdl_build / nx_tutor.nx

nx_tutor.nx source

↩ module page · 33 lines · 1746 B

1// nx_tutor.nx -- the TUTORING LOOP made a capability (operator: "this is true tutoring where they get their 2// assignment and you grade it and build their capabilities where its lower than s class exceed"). The cycle: 3// ASSIGN (a task + an S-class rubric/target) -> team DOES it -> GRADE (achieved maturity vs target) -> 4// if below S-class, REMEDIATE (build the missing capability) -> re-grade -> PASS only at >= S-class. 5// Grading uses the maturity ladder (evidence-gated, no self-grade). license_tier: ORIGINAL Composes 6// nx_maturity_auditor + nx_four_pillars; the Examiner/Referee grade, the tutor (Claude) sets the bar + remediates. 7 8import "nx_maturity_auditor.nx" 9import "nx_syscalls.nx" 10 11const TUT_PASS: i64 = 1 12const TUT_GAP: i64 = 0 13 14// the tutoring bar: a capability isn't "done" until it is at least S-CLASS (the operator's standing target). 15func tut_target() -> i64 { return MAT_SCLASS } 16 17// grade a submission: PASS iff its achieved maturity meets the target; else GAP. 18func tut_grade(achieved_level: i64, target_level: i64) -> i64 { 19 if achieved_level >= target_level { return TUT_PASS } 20 return TUT_GAP 21} 22 23// remediation size = rungs the team must climb to reach the target (0 if it passed) -> drives what to build. 24func tut_remediation(achieved_level: i64, target_level: i64) -> i64 { 25 if achieved_level >= target_level { return 0 } 26 return target_level - achieved_level 27} 28 29// a submission PASSES tutoring only at S-class-or-better. 30func tut_passed_sclass(achieved_level: i64) -> i64 { if achieved_level >= MAT_SCLASS { return 1 } return 0 } 31 32// grade label for the report. 33func tut_verdict_label(v: i64) -> *u8 { if v == TUT_PASS { return "PASS(>=S-class)" as *u8 } return "GAP(build capability)" as *u8 }