code wiki / _hdl_build / nx_racing.nx
nx_racing.nx
buildroot/runtime/_hdl_build/nx_racing.nx
about
nx_racing.nx -- the RACING role = COMPETE (operator: don't miss the novel roles; this was the one
missing capability). Racing RUNS the head-to-head 'tracks' -- our solution vs a competitor (gcc/clang/
the field) on the same task -- and COLLECTS both results. It does NOT judge: that is the REFEREE's
verb (JUDGE). Folding Racing into Referee was the v1 roster error -- COMPETE and JUDGE are distinct.
Racing's job: set up a FAIR track (same input + same oracle for both), run both competitors, record
the two results, and hand them to the Referee. RACI: Racing produces RESULTS; Referee renders the
VERDICT; Examiner self-grades; Critic counters; Auditor audits -- five distinct evaluation verbs.
LAWS: struct-free, integer-only. Composes nx_role_audit (ra_distinct). license_tier: ORIGINAL
dependencies 2 imports · 1 importers
imports: nx_role_audit.nxnx_syscalls.nx
imported by: nx_roster_full_test.nx
structs
| none |
consts
| 12 | const RC_PENDING: i64 = 0 |
| 13 | const RC_RAN: i64 = 1 |
| 41 | const RC_VERB_COMPETE: i64 = 12 // Racing |
| 42 | const RC_VERB_JUDGE: i64 = 5 // Referee |
functions
| 17 | func rc_track_fair(our_input: i64, their_input: i64, our_oracle: i64, their_oracle: i64) -> i64 called by 1: main |
| 25 | func rc_run_track(our_metric: i64, their_metric: i64, fair: i64, out: *i64) -> i64 called by 1: main |
| 33 | func rc_all_ran(status: *i64, n: i64) -> i64 |
| 43 | func rc_separate_from_referee() -> i64 { return ra_distinct(RC_VERB_COMPETE, RC_VERB_JUDGE) } |
| 47 | func rc_hands_to_referee(judged_by_verb: i64) -> i64 called by 1: main |
| 54 | func rc_tracks_we_lead(our: *i64, their: *i64, fair: *i64, n: i64) -> i64 called by 1: main |