code wiki / _hdl_build / nx_labsci_gate.nx
nx_labsci_gate.nx
buildroot/runtime/_hdl_build/nx_labsci_gate.nx
about
nx_labsci_gate.nx -- THE MISSING EVIDENCE ORGAN for the lab-science lane.
WHY THIS EXISTS: the ecosystem carries a real chemistry/biochemistry stack (nx_peptide + _ext/_msms/
_deconv/_denovo/_identify/_isotope, nx_supplement_screen, nx_thermal_process, nx_water_activity,
nx_shelf_life, nx_stability, nx_stability_rh, nx_icecream) exposed through nx_labsci_svc.
The lane IS gated -- 43 gates / 497 assertions -- but by `_scratch/labsci_lane_gate.sh`: a shell
script, outside any deployable tree, hardcoding one laptop's absolute path (debt seq1352). So its
evidence can only be produced by hand, on one machine, into the AUTHORING root -- while the maturity
rollup reads the NAS root (181 logs there vs 1164 locally, debt seq1339). The domain is therefore
ungradeable not for want of measurement but because the witness cannot run where the reader looks.
This organ is the sovereign, deployable replacement path: it builds and runs on the NAS, so the
evidence is PRODUCED where the ruler reads instead of copied there (a copied log is a stale claim).
WHAT IT MEASURES: the library against PUBLISHED EXTERNAL REFERENCE VALUES, not against itself.
Self-agreement is not evidence -- these are standard MS calibration peptides and established
regulatory thresholds that were never inputs to our derivations:
Angiotensin II DRVYIHPF monoisotopic 1045.5345 Da
Bradykinin RPPGFSPFR monoisotopic 1059.5614 Da
Substance P RPKPQQFFGLM free acid 1347.7121 Da
HTST pasteurisation 72 C / 15 s = the legal PMO schedule
pH 4.6 = the C. botulinum high-acid regulatory line
Every positive has a NEGATIVE CONTROL so the gate can go RED.
It writes knowledge/status/labsci_gate.log with a VERDICT= line, which is exactly the shape the
ecomat evkind-2 gate-liveness deriver (el_last_green) reads -- so admitting a `lab-science` domain
pointing here yields a MEASURED grade, never a stored assertion.
license_tier: ORIGINAL expect_exit: 0
dependencies 4 imports · 0 importers
imports: nx_syscalls.nxnx_peptide.nxnx_thermal_process.nxnx_water_activity.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| 35 | const LG_STDOUT: i64 = 1 |
| 36 | const LG_MODE: i64 = 420 |
| 37 | const LG_LOG: *u8 = "knowledge/status/labsci_gate.log" |
| 41 | const LG_MASS_TOL_Q4: i64 = 100 |
| 44 | const LG_ANGIOTENSIN2_Q4: i64 = 10455345 |
| 45 | const LG_BRADYKININ_Q4: i64 = 10595614 |
| 51 | const LG_SUBSTANCEP_Q4: i64 = 13477121 |
| 54 | const LG_PROTON_Q4: i64 = 10073 |
| 57 | const LG_HTST_TEMP_MILLI_C: i64 = 72000 |
| 58 | const LG_HTST_HOLD_MS: i64 = 15000 |
| 59 | const LG_WEAK_TEMP_MILLI_C: i64 = 60000 |
| 60 | const LG_WEAK_HOLD_MS: i64 = 1000 |
| 61 | const LG_PH_HIGH_ACID_MILLI: i64 = 4000 |
| 62 | const LG_PH_LOW_ACID_MILLI: i64 = 5000 |
functions
| 64 | func lg_puts(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(LG_STDOUT, s, n); return 0 } |
| 65 | func lg_num(fd: i64, v: i64) -> i64 |
| 78 | func lg_abs(v: i64) -> i64 { if v < 0 { return 0 - v } return v } |
| 81 | func lg_check(ok: i64, label: *u8, got: i64, want: i64) -> i64 |
| 92 | func lg_mass_ok(seq: *u8, want: i64, label: *u8) -> i64 |
| 99 | func main() -> i64 |