code wiki / _hdl_build / nx_converge_gate.nx
nx_converge_gate.nx
buildroot/runtime/_hdl_build/nx_converge_gate.nx
about
nx_converge_gate.nx -- proves the convergence controller actually CONTROLS, and refuses rather than
spins. It imports the same lib the shipping tool imports, so it grades the code that ships.
T1 CONVERGES : lands inside tolerance on targets across the whole reachable range.
T2 BOUNDED COST : never exceeds the declared render budget. The budget is the PRODUCT CLAIM --
every step is 25-50s of GPU, so an unbounded search is a broken product even
if it eventually converges.
T3 REFUSES FREE : an unreachable target costs ZERO renders. Refusing after burning a render is
not refusing.
T4 EARLY EXIT : a first probe already inside tolerance stops immediately (1 render, not a
full bisection) -- proves it does not do fixed work regardless of input.
T5 BRACKET SANITY : every proposed probe stays inside [CV_MIN,CV_MAX] and the bracket never
inverts. A controller that proposes denoise 1300 would silently clamp at the
engine and report a wrong cause.
T6 DIRECTION : the inversion is correct -- measuring ABOVE target must raise the floor
(more denoise), measuring BELOW must lower the ceiling. Getting this
backwards still terminates, so only a direction tooth catches it.
T7 DETERMINISM : identical inputs produce an identical trajectory (replayable evidence).
T8 ORACLE MONOTONE : the grounded oracle is genuinely decreasing across the range -- if it were
not, T1 would be proving convergence against a shape the real problem does
not have, and the guarantee would be vacuous.
expect_exit: 0 license_tier: ORIGINAL
dependencies 1 imports · 0 importers
imports: nx_converge_lib.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
| 40 | const G_T1_LO: i64 = 300 // sweep bounds for the convergence tooth (inside the oracle's real range) |
| 41 | const G_T1_HI: i64 = 950 |
| 42 | const G_T1_STP: i64 = 50 |
| 43 | const G_TOL: i64 = 20 |
functions
| 25 | func gw(s: *u8) -> i64 { var n: i64 = 0; while s[n] != (0 as u8) { n = n + 1 } sys_write(1, s, n); return 0 } called by 1: main |
| 26 | func gn(v: i64) -> i64 called by 1: main |
| 45 | func main() -> i64 |