code wiki / (root) / nx_manga_rating_gate.nx

nx_manga_rating_gate.nx

buildroot/runtime/nx_manga_rating_gate.nx

7954 B89 linesdepth 5pulls 8 transitivereach 0 importersview sourcekind gate/prooftopic manga
docsdependenciesstructsconstsfunctions

about

nx_manga_rating_gate.nx -- REFEREE for mangagen MG24 (mr_rate_row) and MG32 (mr_depiction_legal). IN-PROCESS against nx_manga_rating_lib: the decision has ONE home, so the CLI and this gate cannot drift into two different answers. It proves the done-rules pre-declared on /compare/mangagen before the organ existed: MG24 -- a rating row bound to the ASSET at emit, never to the account; a family-tier viewer cannot be served an adult-rated asset, and an UNRATED asset is treated as GATED rather than safe. MG32 -- the adult invariant fails closed at CONSTRUCTION, not by policy. ANTI-VACUITY IS THE POINT. A guard that DENIES EVERYTHING passes every deny test ever written, so every refusal tooth below is PAIRED with a positive control that must be ALLOWED: T2 against T1, T12 against T11, T13 against T14. T10 requires the ladder to actually discriminate -- an implementation that mapped every rating to the gated area would satisfy T5, T8 and T9 and still be useless, and only T6, T7 and T10 refute it. T17 is a CROSS-IDENTITY: this lane must never grow its own copy of the adult age, so the gate asserts the imported WS_ADULT_AGE is still 18. If the character lane moves it, this gate says so. license_tier: ORIGINAL expect_exit: 0

dependencies 3 imports · 0 importers

nx_syscalls.nx nx_gate_verdict.nx nx_manga_rating_lib.nx nx_manga_rating_gate.nx

imports: nx_syscalls.nxnx_gate_verdict.nxnx_manga_rating_lib.nx

imported by: nobody (leaf or entry point)

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

main gv_ctr sys_mmap nxa_die sys_write sys_exit nxa_lock_take nxa_lock_addr sys_write ↻ nxa_lock_give nxa_lock_addr ↻ nxa_report_overrun sys_write ↻ nxa_dump_printable sys_write ↻ nxa_dump_sizes sys_write ↻ gv_head gv_puts sys_write ↻ gv_check gv_puts ↻ mrg_eq mr_depiction_legal mr_area_for_rating mr_may_serve mr_rating_valid mr_area_for_rating ↻ nx_taccess_allow nx_taccess_required_level sys_mmap ↻ mr_rate_row mr_rating_valid ↻ mr_slen mr_apps mr_num sys_mmap ↻ gv_values_head gv_puts ↻ gv_kv

structs

none

consts

none

functions

22func mrg_eq(a: i64, b: i64) -> i64 { if a == b { return 1 } return 0 }
called by 1: main
24func main(argc: i64, argv: *i64) -> i64