code wiki / (root) / nx_greeting_gate.nx

nx_greeting_gate.nx

buildroot/runtime/nx_greeting_gate.nx

7772 B151 linesdepth 3pulls 4 transitivereach 0 importersview sourcekind gate/proof
docsdependenciesstructsconstsfunctions

about

nx_greeting_gate.nx -- REFEREE for WRITING rung W-GR-1 (nx_greeting). [T1] whole-word: "yours" must not satisfy the address beat via "you". [T2] case-insensitivity. [T3] a well-formed greeting: all three beats, in order -> COMPLETE, 1000 permil. [T4] ★ORDER IS LOAD-BEARING: the SAME three beats scrambled -> PARTIAL, never COMPLETE. Without this tooth the organ would be a presence counter wearing a structure label. [T5] two beats -> PARTIAL. [T6] ★NEG-CONTROL: a flat descriptive paragraph (a character sheet) -> FLAT. [T7] ★NEG-CONTROL: introduction ONLY -> FLAT, not PARTIAL (one beat is a bio line). [T8] scoring is monotone: FLAT < PARTIAL(2 beats) < PARTIAL(3 scrambled) < COMPLETE. [T9] positions are real: the beat finder returns WHERE, and intro precedes address in T3. [T10] NEG-CONTROL: an empty greeting is FLAT and scores 0, never a divide trap. Fixtures are ordinary SFW prose: this gate measures STRUCTURE, and structure is register-neutral by design -- the same three beats grade an explicit opening identically. Evidence -> stdout + knowledge/status/greeting_gate.log. Exit 0 GREEN / 1 RED. Sovereign x86_64. license_tier: ORIGINAL expect_exit: 0

dependencies 2 imports · 0 importers

nx_syscalls_x86_64.nx nx_greeting.nx nx_greeting_gate.nx

imports: nx_syscalls_x86_64.nxnx_greeting.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main sys_openat_append gp pr gp ↻ gn gr_beat_pos gr_len gr_find_word gr_len ↻ gr_lower gr_is_wordch sl gr_verdict gr_beats_present gr_ordered gr_score_permil gr_ordered ↻ gr_beats_present ↻ gr_beats_present ↻ gn ↻

structs

none

consts

none

functions

22func gp(logfd: i64, s: *u8) -> i64
called by 2: prmain
29func gn(logfd: i64, v: i64) -> i64
called by 2: prmain
43func pr(logfd: i64, label: *u8, got: i64, exp: i64, passp: *i64, totalp: *i64) -> i64
called by 1: main calls 2: gpgn
52func sl(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } return n }
called by 1: main
54func main() -> i64