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 }