code wiki / _hdl_build / nx_ecomat_trend_live_gate.nx
nx_ecomat_trend_live_gate.nx
buildroot/runtime/_hdl_build/nx_ecomat_trend_live_gate.nx
about
nx_ecomat_trend_live_gate.nx -- runs the advancement/expansion decomposition against the REAL
durable ledger and proves the instrument's invariants hold on live data, then prints the finding.
The sibling nx_ecomat_trend_gate proves the logic on fixtures. This one proves it on the artifact
that actually exists -- a decomposition that is only ever exercised on synthetic input is exactly
the "gate passes on synthetic data" calibration failure already filed at sev8.
THE LOAD-BEARING TOOTH IS T4, CONSERVATION: every level of movement in the ledger must land in
EXACTLY one bucket, so advance + ambiguous must equal the total change in sum_cur. If attribution
ever double-counts or drops a span, that identity breaks and this gate goes RED -- which is the
whole reason to state the invariant rather than eyeball the columns.
T5 is an independent cross-check: our recomputed ratio vs the ratio the ROLLUP itself recorded.
license_tier: ORIGINAL No hw writes (Rule 26).
dependencies 2 imports · 0 importers
imports: nx_ecomat_trend_lib.nxnx_gate_verdict.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
| 17 | func lg_eq(a: i64, b: i64) -> i64 { if a == b { return 1 } return 0 } called by 1: main |
| 19 | func main(argc: i64, argv: *i64) -> i64 |