nx_quality_grade_septagon.nx source
↩ module page · 104 lines · 3954 B
1// nx_quality_grade_septagon.nx -- heptagulation across all 7 major
2// industry static-analysis perspectives identified by the coverage
3// audit 2026-05-15 (research cataloged in
4// nishi-library/seeds/code-grader-perspectives-research.toml).
5//
6// license_tier: ORIGINAL
7//
8// SonarQube + clippy + Elm + JPL/MISRA + CERT/NIST + Linux/Linus +
9// Idris/Coq. Majority vote needs >=4 of 7 agreement. Splits land
10// as UNMEASURED -- framework refuses to call when the public
11// industry perspectives genuinely disagree.
12//
13// expect_exit: 0
14
15// nx_safety_envelope:
16// intended_use: AUTO_APPLIED -- primitive-specific tuning queued
17// sil_target: SIL1
18// evidence: [bulk_applied_2026-05-16, see-file-comment-for-detail]
19// verdict: NOT_YET_EVALUATED
20
21import "nx_syscalls.nx"
22import "nx_runtime.nx"
23import "nx_types.nx"
24import "nx_tier.nx"
25import "nx_lex_kinds.nx"
26import "nx_ir.nx"
27import "nx_tokenizer.nx"
28import "nx_parse.nx"
29import "nx_quality_grade.nx"
30
31// One scan + compute against one profile -> one ready-to-vote card.
32func _grade_card_for(m: *Module, p: *GradeProfile) -> *GradeCard {
33 let c: *GradeCard = nx_grade_card_alloc()
34 nx_grade_card_init(c)
35 nx_grade_card_scan(c, m, p)
36 nx_grade_card_compute(c, p)
37 return c
38}
39
40// Build a CardSet by scanning + computing on one card per profile.
41// Centralised so main() stays narrow.
42func _setup_cardset_7(cs: *CardSet, m: *Module) -> nx_int {
43 let p_sq: *u8 = sys_mmap(512)
44 let p_cl: *u8 = sys_mmap(512)
45 let p_el: *u8 = sys_mmap(512)
46 let p_jpl: *u8 = sys_mmap(512)
47 let p_crt: *u8 = sys_mmap(512)
48 let p_lns: *u8 = sys_mmap(512)
49 let p_idr: *u8 = sys_mmap(512)
50 nx_grade_profile_sonarqube(p_sq as *GradeProfile)
51 nx_grade_profile_clippy( p_cl as *GradeProfile)
52 nx_grade_profile_elm( p_el as *GradeProfile)
53 nx_grade_profile_jpl( p_jpl as *GradeProfile)
54 nx_grade_profile_cert( p_crt as *GradeProfile)
55 nx_grade_profile_linus( p_lns as *GradeProfile)
56 nx_grade_profile_idris( p_idr as *GradeProfile)
57 cs.sq = _grade_card_for(m, p_sq as *GradeProfile)
58 cs.cl = _grade_card_for(m, p_cl as *GradeProfile)
59 cs.el = _grade_card_for(m, p_el as *GradeProfile)
60 cs.jpl = _grade_card_for(m, p_jpl as *GradeProfile)
61 cs.cert = _grade_card_for(m, p_crt as *GradeProfile)
62 cs.linus = _grade_card_for(m, p_lns as *GradeProfile)
63 cs.idris = _grade_card_for(m, p_idr as *GradeProfile)
64 cs.n_cards = 7
65 return 0
66}
67
68func main() -> nx_int {
69 let path: *u8 = "runtime/nx_quality_grade.nx" as *u8
70 let len_raw: *u8 = sys_mmap(16)
71 let len_p: *i64 = len_raw as *i64
72 let src: *u8 = sys_read_file(path, len_p)
73 if src == (0 as *u8) { return 1 }
74 if len_p[0] == 0 { return 2 }
75
76 let toks: *Tok = lex_source(src, 262144)
77 if toks == (0 as *Tok) { return 3 }
78 let m: *Module = parse_module(toks, 0 as *Module)
79 if m == (0 as *Module) { return 4 }
80 if m.n_functions == 0 { return 5 }
81
82 let cs_raw: *u8 = sys_mmap(96)
83 let cs: *CardSet = cs_raw as *CardSet
84 _setup_cardset_7(cs, m)
85
86 let tri: *GradeTriangulation = nx_grade_triangulation_alloc()
87 nx_grade_heptagulate(tri, cs)
88
89 print("=== 7-grader heptagulation of nx_quality_grade.nx ===" as *u8)
90 println("" as *u8)
91 print("=== POLYANGULATED (7 graders) ===" as *u8)
92 println("" as *u8)
93 nx_grade_triangulation_emit(tri)
94
95 // Acceptance gate >= B for the 7-grader case. This bar is
96 // genuinely stricter than 4-grader polyangulation: CERT +
97 // LINUS + IDRIS bring perspectives whose stricter thresholds
98 // surface real signal the 4-grader missed (currently:
99 // nx_grade_triangulate at 7 callees, flagged by JPL+LINUS).
100 // Queued refactor brings this to A; for now, B confirms the
101 // substrate doesn't regress under the heptagulation.
102 if tri.final_grade < NX_GRADE_B { return 10 }
103 return 0
104}