nx_realperson_gate.nx
buildroot/runtime/nx_realperson_gate.nx
about
nx_realperson_gate.nx -- REFEREE for WRITING rung W-RP-1 (nx_realperson).
★★★★★★THIS GATE EXISTS IN ITS CURRENT FORM BECAUSE THE OPERATOR CORRECTED THE DESIGN:
"in the US we have free speech, so lots of things are legal that may not be moral."
The first version refused explicit PROSE about a public figure and called that a legal line.
It is not one. Fiction, parody and satire about public figures are protected speech in the US
(Hustler v. Falwell). That version was enforcing taste while claiming to enforce law -- the exact
failure this lane is built to avoid. The teeth below separate the two axes that actually
decide US exposure -- MEDIUM and PRESENTATION -- instead of scoring how explicit the words are.
[T1] whole-word: "presidential" must NOT score "president".
[T2] case-insensitive.
[T3] real person, non-intimate, fiction -> PROTECTED.
[T4] ★explicit TEXT about a public figure -> PROTECTED (legal, possibly distasteful).
[T5] ★the SAME words as a photorealistic LIKENESS -> REFUSE (NCII). Only the MEDIUM changed.
[T6] ★consent lifts the NCII refusal -- consent is what that statute turns on.
[T7] ★minor -> REFUSE in every medium, consent irrelevant (it cannot exist).
[T8] presented as FACT -> REVIEW (defamation surface), never an automatic refusal.
[T9] commercial likeness -> REVIEW (right of publicity; a state-varying tort).
[T10] NEG-CONTROL: no real person at all -> CLEAR even at full explicitness, even as an image.
[T11] NEG-CONTROL: plain text scores 0 (the meter can fail to fire).
[T12] NEG-CONTROL: name-shape alone does not convict; [T12b] but it IS detected.
[T13] name-shape reinforces an existing marker (adds, never creates).
[T14] thresholds are PARAMETERS.
[T15-T17] published-adult subject -> FLAG OPERATOR; private -> REFUSE; a minor is never laundered.
[T18-T20] SUSPECTED minor -> QUARANTINE (withheld AND preserved); CONFIRMED -> REFUSE.
Lexicons are DELIBERATELY BENIGN PROXIES: this gate proves the MECHANISM and authors nothing.
★★★★★★MIGRATED ONTO THE BASE CLASS 2026-09-11 (D001). /api/promote REFUSED the previous
hand-rolled verdict: "this gate rolls its own verdict instead of inheriting nx_gate_verdict, so
nothing can read its outcome -- nx_gate_green cannot judge it and it records no harness.jrnl
frame, so flake and erosion stay invisible for it." The named escape allow_own_verdict=yes was
deliberately NOT taken: it ships a permanently unreadable gate, which is the defect wearing a flag.
WHAT CHANGED IS ONLY THE EMITTER. Every tooth's inputs and its expected verdict constant are
byte-for-byte the ones measured GREEN 21/21 and bite-proven (valid_mutants=1 killed=1 not_reached=0,
comparison site off=9724 in nx_realperson.nx) on 2026-09-11 BEFORE this migration. Each tooth is now
gv_check_eq, which ASSERTS AND EMITS IN ONE CALL, so the number tested and the number published
cannot drift apart, and every tooth prints actual/expected/delta for independent adjudication.
The exit code is gv_verdict's: 0 GREEN / 1 RED / 3 SKIP, and gv_journal records the frame.
dependencies 3 imports · 0 importers
imports: nx_syscalls_x86_64.nxnx_gate_verdict.nxnx_realperson.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
| none |
functions
| 54 | func main() -> i64 |