nx_follicle_gate.nx source
↩ module page · 171 lines · 10479 B
1// nx_follicle_gate.nx -- THE GATE FOR FOLLICLE STATE, 2026-09-03.
2//
3// SUBJECT: fo_ostium / fo_ostium_chroma / fo_tip_salience / fo_regrow_len / fo_occ_after_wax / fo_erythema
4// in-process, and fo_erythema's COMPOSITION with nx_kubelka_lib.
5//
6// THE TEETH THAT CARRY THE CLAIM:
7// T3 SHAVED IS NOT WAXED. Same follicle, same diameter, nothing protruding either way. Shaving leaves the
8// canal FULL and it reads as a dark dot; waxing pulls the shaft from the root and leaves it EMPTY.
9// If these came back equal the pore layer still could not tell them apart -- which is the state
10// nx_microscan measured as scoring AT CHANCE.
11// T4 STUBBLE IS NOT SHORT NATURAL HAIR. A cut end is a flat face; an uncut tip narrows away.
12// T7 WAXED SKIN GROWS BACK. Length rises, the canal refills, appearance walks back. A decal cannot.
13// T14 TYNDALL. A dark shaft at depth reads relatively BLUER than the same shaft at the surface, because
14// tissue scatters short wavelengths back before they reach it while long ones penetrate and are
15// absorbed. Five-o-clock shadow is blue-grey, not brown, and no amount of darkening a brown dot
16// produces it. This tooth is why fo_ostium's SCALAR was insufficient and fo_ostium_chroma exists.
17// license_tier: ORIGINAL No hw writes (Rule 26). expect_exit: 0
18import "nx_syscalls.nx"
19import "nx_gate_verdict.nx"
20import "nx_follicle_lib.nx"
21import "nx_kubelka_lib.nx"
22
23const FG_MICRO: i64 = 1000000
24const FG_SEP_MIN: i64 = 1000
25const FG_BAD_OCC: i64 = 7
26const FG_SLOT: i64 = 8
27
28func fg_q(micro: i64) -> i64 { return fq_div(fq_from_int(micro), fq_from_int(FG_MICRO)) }
29
30func main(argc: i64, argv: *i64) -> i64 {
31 let ctr: *i64 = gv_ctr()
32 gv_head("nx_follicle gate -- waxed, shaved and grown are three STATES of one organ, not three paintings" as *u8)
33
34 let fq: *i64 = fq_ctx()
35 let diam: i64 = fg_q(60000)
36 let fine: i64 = fg_q(20000)
37
38 let oEmpty: i64 = fo_ostium(FO_EMPTY, diam)
39 gv_puts(" [T1] empty canal ostium=" as *u8); gv_num(fq_to_micro(oEmpty)); gv_puts("\n" as *u8)
40 gv_check("an-empty-canal-reads-exactly-zero-however-thick-the-shaft-would-have-been" as *u8, (oEmpty == 0) as i64, ctr)
41
42 let oFine: i64 = fo_ostium(FO_FULL, fine)
43 let oCoarse: i64 = fo_ostium(FO_FULL, diam)
44 gv_puts(" [T2] ostium fine=" as *u8); gv_num(fq_to_micro(oFine)); gv_puts(" coarse=" as *u8); gv_num(fq_to_micro(oCoarse)); gv_puts("\n" as *u8)
45 gv_check("a-coarser-shaft-reads-a-darker-pore" as *u8, (oCoarse > oFine) as i64, ctr)
46
47 let shaved: i64 = fo_ostium(FO_FULL, diam)
48 let waxed: i64 = fo_ostium(FO_EMPTY, diam)
49 gv_puts(" [T3] shaved ostium=" as *u8); gv_num(fq_to_micro(shaved))
50 gv_puts(" waxed ostium=" as *u8); gv_num(fq_to_micro(waxed)); gv_puts("\n" as *u8)
51 var t3: i64 = 0
52 if shaved - waxed >= FG_SEP_MIN { t3 = 1 }
53 gv_check("SHAVED-and-WAXED-separate-because-one-canal-is-full-and-the-other-is-empty" as *u8, t3, ctr)
54
55 let len: i64 = fg_q(300000)
56 let sBlunt: i64 = fo_tip_salience(FO_FULL, diam, len, FO_BLUNT)
57 let sTaper: i64 = fo_tip_salience(FO_FULL, diam, len, FO_TAPERED)
58 gv_puts(" [T4] tip blunt=" as *u8); gv_num(fq_to_micro(sBlunt)); gv_puts(" tapered=" as *u8); gv_num(fq_to_micro(sTaper)); gv_puts("\n" as *u8)
59 var t4: i64 = 0
60 if sBlunt - sTaper >= FG_SEP_MIN { t4 = 1 }
61 gv_check("STUBBLE-and-SHORT-NATURAL-HAIR-separate-on-tip-geometry-at-equal-length-and-diameter" as *u8, t4, ctr)
62
63 let sShort: i64 = fo_tip_salience(FO_FULL, diam, fg_q(80000), FO_BLUNT)
64 gv_check("a-longer-protruding-shaft-reads-more-strongly" as *u8, (sBlunt > sShort) as i64, ctr)
65
66 let sFlush: i64 = fo_tip_salience(FO_FULL, diam, 0, FO_BLUNT)
67 gv_puts(" [T6] flush-cut tip salience=" as *u8); gv_num(fq_to_micro(sFlush)); gv_puts("\n" as *u8)
68 gv_check("a-shaft-cut-flush-protrudes-nothing-and-its-visibility-is-the-ostiums-business" as *u8, (sFlush == 0) as i64, ctr)
69
70 let rate: i64 = fg_q(9000)
71 let l0: i64 = fo_regrow_len(0, rate)
72 let l3: i64 = fo_regrow_len(3, rate)
73 let l9: i64 = fo_regrow_len(9, rate)
74 let occ0: i64 = fo_occ_after_wax(0, rate)
75 let occ3: i64 = fo_occ_after_wax(3, rate)
76 gv_puts(" [T7] regrow len d0=" as *u8); gv_num(fq_to_micro(l0)); gv_puts(" d3=" as *u8); gv_num(fq_to_micro(l3)); gv_puts(" d9=" as *u8); gv_num(fq_to_micro(l9))
77 gv_puts(" occ d0=" as *u8); gv_num(occ0); gv_puts(" d3=" as *u8); gv_num(occ3); gv_puts("\n" as *u8)
78 var t7: i64 = 0
79 if l9 > l3 { if l3 > l0 { if occ0 == FO_EMPTY { if occ3 == FO_FULL { t7 = 1 } } } }
80 gv_check("waxed-skin-grows-back-the-length-rises-and-the-canal-refills" as *u8, t7, ctr)
81
82 let peak: i64 = fg_q(180000)
83 let tau: i64 = fg_q(2000000)
84 let e0: i64 = fo_erythema(fq, 0, peak, tau)
85 let e2: i64 = fo_erythema(fq, 2, peak, tau)
86 let e6: i64 = fo_erythema(fq, 6, peak, tau)
87 gv_puts(" [T8] erythema d0=" as *u8); gv_num(fq_to_micro(e0)); gv_puts(" d2=" as *u8); gv_num(fq_to_micro(e2)); gv_puts(" d6=" as *u8); gv_num(fq_to_micro(e6)); gv_puts("\n" as *u8)
88 var t8: i64 = 0
89 if e0 > e2 { if e2 > e6 { if e0 == peak { t8 = 1 } } }
90 gv_check("post-removal-erythema-peaks-on-the-day-and-decays" as *u8, t8, ctr)
91
92 let kbR: i64 = fg_q(30000)
93 let kbG: i64 = fg_q(40000)
94 let kmR: i64 = fg_q(500000)
95 let kmG: i64 = fg_q(1200000)
96 let khR: i64 = fg_q(300000)
97 let khG: i64 = fg_q(2600000)
98 let s: i64 = fg_q(1000000)
99 let mel: i64 = fg_q(40000)
100 let rFresh: i64 = km_r_of_mix(kbR, kmR, mel, khR, e0, s)
101 let gFresh: i64 = km_r_of_mix(kbG, kmG, mel, khG, e0, s)
102 let rLate: i64 = km_r_of_mix(kbR, kmR, mel, khR, e6, s)
103 let gLate: i64 = km_r_of_mix(kbG, kmG, mel, khG, e6, s)
104 let sepFresh: i64 = fq_to_micro(rFresh) - fq_to_micro(gFresh)
105 let sepLate: i64 = fq_to_micro(rLate) - fq_to_micro(gLate)
106 gv_puts(" [T9] freshly waxed R-G=" as *u8); gv_num(sepFresh); gv_puts(" six days later R-G=" as *u8); gv_num(sepLate); gv_puts("\n" as *u8)
107 var t9: i64 = 0
108 if sepFresh - sepLate >= FG_SEP_MIN { t9 = 1 }
109 gv_check("freshly-waxed-skin-renders-redder-than-the-same-skin-later (the follicle state reaches the chromophore stack)" as *u8, t9, ctr)
110
111 let rNegLen: i64 = fo_tip_salience(FO_FULL, diam, 0 - fg_q(50000), FO_BLUNT)
112 gv_puts(" [T10] negative length -> " as *u8); gv_num(rNegLen); gv_puts("\n" as *u8)
113 gv_check("neg-control-a-negative-length-refuses" as *u8, (rNegLen == FO_REFUSED) as i64, ctr)
114
115 let rBadOcc: i64 = fo_ostium(FG_BAD_OCC, diam)
116 gv_puts(" [T11] occupancy=7 -> " as *u8); gv_num(rBadOcc); gv_puts("\n" as *u8)
117 gv_check("neg-control-an-occupancy-outside-the-two-legal-states-refuses-rather-than-guessing" as *u8, (rBadOcc == FO_REFUSED) as i64, ctr)
118
119 let rBadTau: i64 = fo_erythema(fq, 1, peak, 0)
120 gv_puts(" [T12] tau=0 -> " as *u8); gv_num(rBadTau); gv_puts("\n" as *u8)
121 gv_check("neg-control-a-non-positive-decay-constant-refuses-instead-of-dividing-by-zero" as *u8, (rBadTau == FO_REFUSED) as i64, ctr)
122
123 // ---- THE OSTIUM HAS A COLOUR. Tissue scatters short wavelengths back before they reach the shaft, so
124 // atten is HIGHEST in blue. Everything below follows from that one asymmetry; nothing is tinted by hand.
125 let atten3: *i64 = sys_mmap(3 * FG_SLOT) as *i64
126 atten3[0] = fg_q(900000)
127 atten3[1] = fg_q(1600000)
128 atten3[2] = fg_q(2600000)
129 let kBlack: *i64 = sys_mmap(3 * FG_SLOT) as *i64
130 kBlack[0] = fg_q(900000)
131 kBlack[1] = fg_q(900000)
132 kBlack[2] = fg_q(900000)
133 let kBlonde: *i64 = sys_mmap(3 * FG_SLOT) as *i64
134 kBlonde[0] = fg_q(120000)
135 kBlonde[1] = fg_q(200000)
136 kBlonde[2] = fg_q(340000)
137 let oSurf: *i64 = sys_mmap(3 * FG_SLOT) as *i64
138 let oDeep: *i64 = sys_mmap(3 * FG_SLOT) as *i64
139 let oBlonde: *i64 = sys_mmap(3 * FG_SLOT) as *i64
140 let oEmptyC: *i64 = sys_mmap(3 * FG_SLOT) as *i64
141
142 let rc0: i64 = fo_ostium_chroma(fq, FO_EMPTY, diam, 0, kBlack, atten3, oEmptyC)
143 var t13: i64 = 0
144 if rc0 == 0 { if oEmptyC[0] == 0 { if oEmptyC[1] == 0 { if oEmptyC[2] == 0 { t13 = 1 } } } }
145 gv_puts(" [T13] empty canal chroma=" as *u8); gv_num(oEmptyC[0]); gv_puts("," as *u8); gv_num(oEmptyC[1]); gv_puts("," as *u8); gv_num(oEmptyC[2]); gv_puts("\n" as *u8)
146 gv_check("an-empty-canal-contributes-nothing-in-every-channel-not-merely-in-one" as *u8, t13, ctr)
147
148 fo_ostium_chroma(fq, FO_FULL, diam, 0, kBlack, atten3, oSurf)
149 fo_ostium_chroma(fq, FO_FULL, diam, fg_q(400000), kBlack, atten3, oDeep)
150 gv_puts(" [T14] black shaft at surface R,G,B=" as *u8); gv_num(fq_to_micro(oSurf[0])); gv_puts("," as *u8); gv_num(fq_to_micro(oSurf[1])); gv_puts("," as *u8); gv_num(fq_to_micro(oSurf[2])); gv_puts("\n" as *u8)
151 gv_puts(" the same shaft at depth R,G,B=" as *u8); gv_num(fq_to_micro(oDeep[0])); gv_puts("," as *u8); gv_num(fq_to_micro(oDeep[1])); gv_puts("," as *u8); gv_num(fq_to_micro(oDeep[2])); gv_puts("\n" as *u8)
152 var t14: i64 = 0
153 if fq_mul(oDeep[0], oSurf[2]) > fq_mul(oSurf[0], oDeep[2]) { t14 = 1 }
154 gv_check("TYNDALL-a-dark-shaft-at-depth-reads-relatively-BLUER-than-the-same-shaft-at-the-surface (five-o-clock shadow is blue-grey, not brown)" as *u8, t14, ctr)
155
156 fo_ostium_chroma(fq, FO_FULL, diam, fg_q(400000), kBlonde, atten3, oBlonde)
157 gv_puts(" [T15] blonde shaft at the same depth R,G,B=" as *u8); gv_num(fq_to_micro(oBlonde[0])); gv_puts("," as *u8); gv_num(fq_to_micro(oBlonde[1])); gv_puts("," as *u8); gv_num(fq_to_micro(oBlonde[2])); gv_puts("\n" as *u8)
158 var t15: i64 = 0
159 if oDeep[0] > oBlonde[0] { if fq_mul(oDeep[0], oBlonde[2]) != fq_mul(oBlonde[0], oDeep[2]) { t15 = 1 } }
160 gv_check("a-blonde-shaft-and-a-black-one-differ-in-STRENGTH-and-in-HUE-not-only-in-darkness" as *u8, t15, ctr)
161
162 let badAtt: *i64 = sys_mmap(3 * FG_SLOT) as *i64
163 badAtt[0] = fg_q(900000)
164 badAtt[1] = 0
165 badAtt[2] = fg_q(2600000)
166 let rcBad: i64 = fo_ostium_chroma(fq, FO_FULL, diam, fg_q(100000), kBlack, badAtt, oSurf)
167 gv_puts(" [T16] zero attenuation in one channel -> " as *u8); gv_num(rcBad); gv_puts("\n" as *u8)
168 gv_check("neg-control-a-non-positive-attenuation-in-ANY-channel-refuses" as *u8, (rcBad == FO_REFUSED) as i64, ctr)
169
170 return gv_verdict("follicle" as *u8, ctr, "waxed shaved and grown separate as states of one organ, the ostium carries a colour rather than a darkness, regrowth walks the appearance back, and the post-removal flush reaches the chromophore stack" as *u8)
171}