Live demo
LiveThree-slot upload → corner-by-corner coaching report. Illustrative report at HEAD; the live Granite analyze path is a backend swap-point.
/analyze
IBM SkillsBuild AI Builders Challenge · May 2026 · Judges’ tour
Everything you need to evaluate APEX in five minutes. Live demo first, video second, architecture and Q&A defense pack below. The race engineer for the drivers who don’t have one.
Hero use case: adaptive racer with electronic hand-controls; veteran-transitioning cohort + paraplegic + amputee competitors across UK national championships. The 3-minute submission video walks one named fictional persona end-to-end; product UI is persona-agnostic per Sookra Methodology Pillar 4.
Three-slot upload → corner-by-corner coaching report. Illustrative report at HEAD; the live Granite analyze path is a backend swap-point.
/analyze
20 Hz adaptive-controls telemetry tile. Canned synthetic GT4 hand-controls lap; HTTP-stream live now, WebSocket Vinh M3-V2.
/sim-rig
OpenTelemetry spans from apex-backend to Honeycomb, mirrored live in-page: throughput, p50/p95/p99 latency, status mix, and deep-links to real Honeycomb trace waterfalls.
#observability
YouTube unlisted URL on the production take.
URL pending
Cut from the 3-min video for judges who only watch 30s.
URL pending
Playwright HTML→PDF render on the deck. Editorial-paddock palette throughout.
URL pending
Apache 2.0, public from inception, 220+ atomic commits across the build arc.
https://github.com/StephenSook/apex
Sookra Methodology 7-phase trace from recon to submission, with verification log.
https://github.com/StephenSook/apex/blob/main/docs/methodology.md
Three-layer pipeline with a two-stage projection-and-audit middle layer; Figure 1 inline below.
https://github.com/StephenSook/apex/blob/main/docs/architecture-spec.md
Display of the 14-fixture safety-contract catalogue. 4 Stage 1, 4 Stage 2, 4 Stage 3, 2 round-trip integrity.
#convergence-14
Publication-readable §1-§3 + §5-§13 draft. §4 Experiments cell values fill at camera-ready.
https://github.com/StephenSook/apex/blob/main/paper/apex-neurips-workshop-2026.md
Running failure-mode journal. 40+ entries, ~15 ✅ mitigations shipped, 3 accepted residual risks.
https://github.com/StephenSook/apex/blob/main/docs/pre-mortem.md
Three wired at HEAD (Granite Instruct 4.1 8B + Granite 4.0 Nano 350M + Granite Embedding R2 via HF Inference Providers). Nine at frontend-integration with canonical type contracts and backend swap-points per Stream M.3 + the D-058 wave-46 expansion (LangGraph + Granite MCP Gateway + ContextForge as the orchestration runtime per D-017 G7 + D-054 + Granite Instruct 4.1 3B chat-routing + Granite Speech 4.1 2B-Plus Watson STT proxy preview; Langflow retained as export-graph artifact). Two build-time accelerators (Docling library + Mellea v0.5.0 IVR-loop architectural slot; Mellea is build-time architectural inspiration only, not a runtime dependency).
wave-53. The deployed apex-backend exports an OpenTelemetry span for every request to Honeycomb (dataset apex-backend, service apex-backend) and mirrors the same signals in the live panel below when the apex-backend is reachable. If it is not, the panel shows an honest awaiting-backend wiring state instead of fabricated numbers. Each recent request deep-links to its real Honeycomb trace waterfall. Wiring lives at app/backend/apex/observability.py + observability_metrics.py; spans land via OTLP HTTP when APEX_OTEL_ENABLED=1.
Production observability · OpenTelemetry → Honeycomb
Most hackathon backends ship no observability. APEX exports an OpenTelemetry span for every request from apex-backend to Honeycomb, and mirrors the same signals here live. Numbers below are real traffic the deployed backend has served since boot, refreshed every 10s. Each recent request links to its real Honeycomb trace waterfall.
Connecting to live telemetry…
The canonical demo persona
Sarah Reynolds is the persona who lives in the storytelling layer of APEX: a mid-thirties RAF veteran left-leg amputee competing in Britcar Trophy in a BMW M240i fitted with MME Motorsport electronic hand-controls. The persona is intentionally fictional. Real adaptive drivers are referenced anonymously per the per-surface consent discipline in methodology.md.
Lane K storytelling-layer-only · NOT default UI state · NOT default API response

Frozen Granite TimeSeries TTM r2.1 forecaster, wrapped in a two-stage projection-and-audit layer (Stage 1 differentiable CvxpyLayer convex QP for friction-ellipse + forward-Euler + jerk bound; Stage 2 post-projection feasibility filter for bicycle-model coupling + the COA-parameterized brake-throttle simultaneity gate), audited by Granite Guardian 4.1 with custom BYOC rules, narrated by Granite 4.1 8B Instruct. Source diagram lives at docs/architecture-diagram.mmd in the repository; Figure 1 in the NeurIPS Workshop paper draft is the same artifact.
Decision-log D-A names the Convergence 14 fixture suite as the load-bearing safety contract. The catalogue below is the Stephen-lane display of the 14-fixture safety-contract specification: 4 at the Stage 1 convex QP boundary, 4 at the Stage 2 feasibility-filter boundary, 4 at the Stage 3 Granite Guardian BYOC text-audit boundary, plus 2 round-trip integrity fixtures that close the convergence loop. The Vinh-lane assertion suite at app/backend/tests/test_serializer.py lands per PLAN rows 2.9c + 4.2, with fixture files at app/backend/tests/fixtures/convergence-14/. Each fixture asserts the violation, the serializer output, and the Granite Guardian verdict. Click any row to see the expected Guardian verdict reason and the serialized violation-log excerpt the fixture targets.
Lateral g of 1.8 with brake near zero and steering near zero exceeds the constant-mu friction ellipse on a dry-tarmac circuit.
Stage 1 QP projected lat_g from 1.8 g to friction-ellipse boundary (1.0 g at mu_v = 1.0); residual delta exceeded the 0.1 g flag threshold.
stage:1 class:friction_ellipse t:7 channel:lat_g raw:1.8 projected:1.0 mu_v:1.0 delta_g:0.8
Longitudinal g of negative 1.5 (braking) combined with steering of 0.3 rad exceeds the friction-ellipse envelope at the corner-entry boundary.
Stage 1 QP projected long_g from -1.5 g to -0.95 g at the friction-ellipse boundary given lat_g = 0.30 g.
stage:1 class:friction_ellipse t:12 channel:long_g raw:-1.5 projected:-0.95 mu_v:1.0 delta_g:0.55
Forecast claims speed increases from 40 m/s to 50 m/s with long_g pinned at zero across two 1-Hz mini-sectors. Forward-Euler equality fails: speed_{t+1} must equal speed_t + a_long_t * dt.
Stage 1 QP recoupled speed[t+1] = speed[t] + a_long[t] * dt; projected speed_{t+1} from 50.0 to 40.0 m/s. Long_g consistency restored.
stage:1 class:forward_euler t:5 channel:speed_mps raw:50.0 projected:40.0 a_long_t:0.0 dt:1.0
Long_g jumps from +0.6 g at t=8 to -0.8 g at t=9 in one 1-Hz mini-sector. Delta of 1.4 g/s exceeds the jerk bound at 8 m/s^3 (approximately 0.815 g/s). 1 Hz fixture is a deliberate demo simplification per arch-spec sampling-rate caveat; per wave-30 D-011 multi-frequency coexistence, production telemetry runs the jerk-bound at >=10 Hz on the raw 50 Hz upstream signal before mini-sector aggregation.
Stage 1 QP jerk-bound clamp engaged; projected long_g[9] from -0.8 g to -0.2 g (prev +0.6 g minus the per-step jerk budget of 0.8 g) to respect the jerk bound at 8 m/s^3 over the 1.0 s mini-sector (D-011 multi-frequency coexistence framing).
stage:1 class:jerk_bound t:9 channel:long_g raw:-0.8 projected:-0.2 prev:+0.6 jerk_max_m_per_s3:8 jerk_max_g_per_s:0.815
Forecast claims lat_g = 0.5 g with steering_rad = 0.0 at speed 15 m/s. Bicycle-model coupling makes lateral g impossible without nonzero steering at low slip.
Stage 2 feasibility filter rejected forecast: bicycle-model expects steering_rad approx 0.059 rad for lat_g = 0.5 g at speed 15 m/s with wheelbase 2.7 m (derived from delta = atan(a_lat * L / v^2)); observed steering 0.0 rad falls outside the slip_tol_rad = 0.03 tolerance band.
stage:2 class:bicycle_model t:14 lat_g_raw:0.5 steering_rad:0.0 speed_mps:15 expected_steering_rad:0.059 slip_tol_rad:0.03
Steering of 0.005 rad at speed 30 m/s would yield lat_g of about 0.17 g under low-slip kinematic approximation (a_lat = v^2 * tan(delta) / L; here 900 * 0.005 / 2.7 / 9.81 = 0.170 g). Forecast instead asserts lat_g = 0.8 g. Magnitude mismatch flags the bicycle-coupling audit.
Stage 2 feasibility filter rejected forecast: bicycle-model predicted lat_g approx 0.17 g for steering 0.005 rad at 30 m/s; observed 0.8 g exceeds the magnitude band derived from the slip_tol_rad = 0.03 steering tolerance.
stage:2 class:bicycle_model t:18 lat_g_raw:0.8 lat_g_predicted:0.17 steering_rad:0.005 speed_mps:30 slip_tol_rad:0.03
Telemetry row shows throttle = 0.4 and brake = 2.4 MPa simultaneously, but the COA-derived c_overlap flag (derived from approved hand-control hardware specifications) is set to 0 (simultaneity not permitted). Stage 2 complementarity check fires reject.
Stage 2 feasibility filter rejected telemetry: brake-throttle simultaneity observed (throttle 0.4 + brake 2.4 MPa) but COA-derived c_overlap flag = 0 (driver's approved hand-control hardware specifications do not permit simultaneous brake-throttle actuation).
stage:2 class:coa_simultaneity t:11 throttle:0.4 brake_pa:2.4e6 c_overlap:0 derivation:"hardware_spec"
Same telemetry as C14-07 (throttle = 0.4 with brake = 2.4 MPa) but COA-derived c_overlap flag = 1 (driver's approved electronic hand-control hardware permits simultaneous brake-throttle actuation through corner entry). Stage 2 approves; report renders the tuning recommendation.
Stage 2 feasibility filter approved telemetry: brake-throttle simultaneity observed (throttle 0.4 + brake 2.4 MPa) within the COA-derived c_overlap permit window (derived from approved hand-control hardware specifications); combined force within friction envelope (lat_g 0.81 + long_g -0.22).
stage:2 class:coa_simultaneity t:11 throttle:0.4 brake_pa:2.4e6 c_overlap:1 derivation:"hardware_spec" verdict:approve combined_g:0.84
Forecast tensor channel speed_mps contains a value of -3.0 at t=22. Granite Guardian's physical-envelope BYOC rule fires reject on any speed < 0.
Granite Guardian rejected forecast: speed_mps = -3.0 at t=22 violates physical-envelope rule (speed_mps >= 0). BYOC rule physical_envelope_speed_nonnegative.
stage:3 class:physical_envelope t:22 channel:speed_mps raw:-3.0 byoc_rule:"physical_envelope_speed_nonnegative"
Forecast tensor channel speed_mps contains a value of 110 m/s (about 396 km/h) on a circuit whose homologated maximum is 95 m/s. Guardian fires flag.
Granite Guardian flagged forecast: speed_mps = 110 at t=17 exceeds circuit-homologated maximum 95 m/s. BYOC rule physical_envelope_speed_circuit_max.
stage:3 class:physical_envelope t:17 channel:speed_mps raw:110.0 circuit_max_mps:95.0 byoc_rule:"physical_envelope_speed_circuit_max"
Telemetry row has rpm = 0 with speed = 38 m/s in gear 4. Drivetrain decoupled while in gear violates the engine-state envelope. Guardian flags.
Granite Guardian flagged telemetry: rpm = 0 at t=9 while speed_mps = 38 and gear = 4 violates the engine-state envelope (rpm > 800 when gear > 0 and speed_mps > 5). BYOC rule physical_envelope_engine_engaged.
stage:3 class:physical_envelope t:9 rpm:0 speed_mps:38 gear:4 byoc_rule:"physical_envelope_engine_engaged"
Forecast tensor reports throttle_pct = 1.07 at t=14 (above the 0.0..1.0 unit-normalized envelope). Guardian flags as a clamp candidate.
Granite Guardian flagged forecast: throttle_pct = 1.07 at t=14 outside unit envelope [0.0, 1.0]. BYOC rule physical_envelope_throttle_unit_bound.
stage:3 class:physical_envelope t:14 channel:throttle_pct raw:1.07 byoc_rule:"physical_envelope_throttle_unit_bound"
Synthetic violation tensor written to text log, parsed back to tensor, re-serialized; the parsed-then-re-serialized log is byte-identical to the original. Guardian's verdict on both forms is identical.
Granite Guardian verdict is verdict-stable across the serialize-deserialize-reserialize round trip. Convergence-14 byte-equality assertion passes.
stage:3 class:serializer_integrity closure:round_trip byte_equal:passes guardian_verdict_round_trip:approve
End-to-end Sarah Reynolds fixture: COA-permitted simultaneity row (C14-08) passes Stage 2 + reaches Stage 3 + receives Guardian approve verdict + tuning recommendation rendered with COA citation. Closes the full safety-contract loop.
Granite Guardian approved end-to-end fixture: Stage 2 COA-derived c_overlap permit accept + Stage 3 BYOC audit approve + tuning recommendation rendered with citation to the driver's approved hand-control hardware specifications.
stage:3 class:serializer_integrity closure:end_to_end sarah_fixture:approved c_overlap:1 derivation:"hardware_spec"
Grid is display-only. The Vinh-lane test suite at the path above is the assertion source of truth.
Safety alignment
Team BRIT, a professional team that races disabled drivers in UK endurance championships, cites ISO 26262 in engineering correspondence as the framework it applies when reviewing brake-by-wire interfaces, custom CAN gateway controllers, and adaptive throttle / brake / clutch logic, and granted permission to be cited. APEX maps its coaching-surface invariants against the standard’s vocabulary set so the things a functional-safety reviewer flags are the same things APEX’s Guardian + scrubber + bounded retry-loop + AbortSignal threading address by construction. We do not certify APEX against ISO 26262; we claim that the vocabulary set of the standard is the right anchor for the coaching-surface invariants we already enforce. Detailed treatment in paper section 3.8.
Vocabulary set sourced from Team BRIT engineering correspondence, cited with permission (2026-05-29); mapping to APEX invariants is the contribution.
Confidence decomposition
APEX does not roll a coaching report into a single invented confidence number. It surfaces each dimension next to the pipeline signal that produces it, so you can see where the confidence comes from and where it does not. One dimension below is an integration-tier preview, labelled as such.
Demo fixtures on this judges tour: each dimension is populated from a representative fixture that mirrors live pipeline output. In a live session each is computed per-run.
Source: Stage 1 + 2 projection residual norms (CvxpyLayer QP convergence)
Source: Granite Guardian 4.1 BYOC custom-rule verdict
Source: Next-session forecast 90% envelope width, post-projection
Source: Mahalanobis physics-confidence detector (D-024)
Integration-tier preview: demo fixture, not a live per-session measurement at HEAD.
Each dimension is derived from a real pipeline signal (projection residuals, Guardian verdict, forecast envelope width) or labelled as an integration-tier preview. No weighted-sum overall score is shown, because APEX does not own a calibrated weighting and showing one would be theatre.
Wave-30 decision D-015 locked the eight-tier physics stack in-scope for the submission. Each tier surfaces below as one tile with its plain-text formula, canonical input channels, expected outputs, and the handler that owns it inside the unrolled SCP outer loop per D-012. The class-to-handler binding lives on the ExtendedPhysicsFixture discriminated union at app/shared/types.ts; mis- binding a non-convex tier to the inner cvxpylayers iterate is a TypeScript compile error. Hover any tile to reveal the architecture-spec Appendix W30 cross-reference.
Session context
Track temperature
OK42 C
Within Pirelli soft-compound operating window (35 to 50 C).
Weather
MonitorDry
Rain probability 75 percent within the next hour per Met Office radar.
Tire state
MonitorSoft, lap 18
Degradation 67 percent per stint-degradation curve; pit window opens at lap 21.
Session phase
OKRace, 45 of 78
Strategic phase: undercut window open against immediate prior competitor.
Track elevation + bank + pitch project the gravity vector onto the vehicle frame so the effective vertical load varies corner-by-corner instead of being a flat 9.81 m/s^2.
g_eff = R(pitch, bank) * [0, 0, -g]; the per-step rotation matrix from the track-frame pitch + bank pulls the gravity vector into the vehicle frame so downstream Tier 4 + Tier 7 use the correct vertical-load component.
Outputs
Arch-spec ref: Appendix W30 Layer 4 Tier 1 (pitch + bank channels added wave-30 D-016 channel expansion)
Decision-log: D-015
Aero downforce + drag scale with v^2; downforce adds to vertical load (Tier 4), drag opposes forward acceleration (Tier 8).
F_z_aero = 0.5 * rho * Cl * A * v^2; F_drag = 0.5 * rho * Cd * A * v^2. Linearised around the previous SCP outer-iterate to feed back into the inner cvxpylayers convex QP.
Outputs
Arch-spec ref: Appendix W30 Layer 4 Tier 2
Decision-log: D-015
FIA Certificate of Adaptations parsed at onboarding derives the brake-throttle simultaneity flag + steering-lock limits + clutch-lever travel range; these feed the lexicographic Tier-2 + Tier-3 COA constraints per D-022 elastic-slack hierarchy.
If coa_simul_permitted == true: throttle * brake constraint relaxed; else: throttle * brake = 0 (able-bodied assumption). Steering-lock limit |steering_rad| <= steering_lock_max derived from COA hardware spec. Slack variable activates when corner geometry forces relaxation; Guardian audit surfaces the relaxed constraint in the coaching report.
Outputs
Arch-spec ref: Appendix W30 Layer 4 Tier 3 + D-022 lexicographic COA hierarchy
Decision-log: D-015
Lateral acceleration shifts vertical load between left + right tires; longitudinal acceleration shifts between front + rear axles. Each tire's vertical load updates per-step so Tier 7 Pacejka uses the correct F_z.
dFz_lat = m * a_y * h_cg / track_width; dFz_long = m * a_x * h_cg / wheelbase. Per-corner allocation respects axle-distribution + roll-stiffness split; fz_total channel (wave-30 D-016 addition) carries the result downstream.
Outputs
Arch-spec ref: Appendix W30 Layer 4 Tier 4 (fz_total channel added wave-30 D-016)
Decision-log: D-015
Two-mass thermal model evolves tire-core + tire-surface temperatures inside the SCP solver (NOT an input channel of the 14-channel tensor); peak friction coefficient mu_v modulates with T_surface + lap-count.
Two-mass ODE: dT_core/dt = (T_surface - T_core) / tau_core + tire-heating from slip work; dT_surface/dt = (T_ambient - T_surface) / tau_surface + (T_core - T_surface) / tau_internal. mu_v(T_surface, lap_count) modulates peak friction; T_surface is per-step internal state (initial value = ambient-plus-warmup per circuit metadata).
Outputs
Arch-spec ref: Appendix W30 Layer 4 Tier 5 (T_surface internal state clarification at line 391; not a 15th channel)
Decision-log: D-015
Stiff-ODE tire-relaxation transient (lateral slip catches up to steering input with time constant tau_y) is collapsed to steady-state algebraic per D-014 numerical-hazard resolution; full transient model reserved for offline validation only.
Original: tau_y * d(slip_y)/dt + slip_y = slip_y_steady_state. Steady-state algebraic substitution: LHS = 0 so slip_y = slip_y_steady_state. Solver runs the algebraic form inside the inner cvxpylayers convex QP iterate; stiff-ODE form skipped because cvxpylayers cannot handle stiff differential algebraic equations.
Outputs
Arch-spec ref: Appendix W30 Layer 4 Tier 6 + D-014 numerical hazard resolution
Decision-log: D-015
Pacejka Magic Formula produces tire forces F_x + F_y from longitudinal + lateral slip + vertical load + friction coefficient + tire-surface temperature; combined-slip boundary forms the heart-shape friction-ellipse generalisation in 2D.
F_x, F_y = pacejka(s_x, s_y, F_z, mu_v, T_surface) via Magic Formula. Non-convex; the SCP outer loop linearises the Pacejka boundary around the previous iterate via first-order Taylor step; cvxpylayers inner solver enforces the linearised half-spaces as convex constraints. Three iterations unrolled per D-012.
Outputs
Arch-spec ref: Appendix W30 Layer 4 Tier 7 + D-012 unrolled SCP outer loop
Decision-log: D-015
Forward-Euler kinematic step ties acceleration to speed evolution + position-integration: speed[t+1] = speed[t] + a_long[t] * dt. Newton-compliant + lives in the convex inner iterate (the only tier that is natively convex).
speed[t+1] = speed[t] + a_long[t] * dt for all t in [0, prediction_length=30). Convex equality constraint inside the cvxpylayers QP. Jerk-bound activates at >=10 Hz per Rajamani; C14-04 demo fixture is 1 Hz simplification per arch-spec sampling-rate caveat.
Outputs
Arch-spec ref: Appendix W30 Layer 4 Tier 8 + 2.9a convex inner iterate row in PLAN.md
Decision-log: D-015
Grid is display-only. The Vinh-lane SCP outer-loop linearisation lands per PLAN row 2.18 with file paths at app/backend/apex/physics/tier_{1..8}.pyand app/backend/apex/physics/scp_outer.py.
Wave-45 Phase 5 Block C.2 close-out. Six stages cycle every 1.5 seconds: ingest -> TTM forecast -> V2 projector -> Guardian audit -> Instruct narration -> provenance footer. Full pipeline runs sub-60s on RTX 4060 per G8 budget; this visualization is the architecture paced for a 9-second judge tour.
Pipeline visualization (real-time loop)
Each stage activates in sequence. The full pipeline runs sub-60s on RTX 4060 per the G8 budget (Stage C verified ~1030 ms per D-030; V2 projector ~290 ms per iterate per D-050). What you see here is the architecture, paced for a judge tour.
Cross-ref: paper §3 + §4.4 latency budget + D-019 7 shouldn't-be-possible moves (D-053 + D-049 amendments) + D-050 byte-equality lock
Wave-45 Phase 9 Block F V14 close-out. Langflow is the export-graph artifact; the actual runtime path is LangGraph + Granite MCP Gateway + ContextForge tool registry per the D-026 maximal-architecture lock. Six nodes drive the pipeline from ingestion through provenance. Wave-49 lit apex/orchestration/langgraph_runtime.py; engine label reflects the live state machine when NEXT_PUBLIC_USE_REAL_BACKEND_V14=1.
Vinh M3-V14 · D-017 G7 LangGraph runtime swap-point
The actual runtime path per D-026 maximal architecture; Langflow facade is the export-graph artifact, not the runtime. Wave-49 lit apex/orchestration/langgraph_runtime.py + Granite MCP Gateway + ContextForge tool registry; engine label reflects the live state machine when NEXT_PUBLIC_USE_REAL_BACKEND_V14=1.
Loading orchestration trace...
Wave-45 Phase 7 Block D close-out per D-053. Same Granite TimeSeries TTM r2.1 model that ships server-side in Vinh's production pipeline, lazy-loaded in the driver's browser via Transformers.js + WebGPU / WASM SIMD. Differentiator vs the ApexIQ local-Ollama server pattern.
Galaxy stretch · D-053 shouldn't-be-possible move #7
The same IBM Granite forecaster that ships server-side in the production pipeline, ready to run locally in the driver's browser via Transformers.js + WebGPU / WASM SIMD. Lazy-loaded on opt-in. The @huggingface/transformers v4.2.0 dep IS installed (sibling Granite Nano 350M ships WIRED via the same dep at lib/webgpu-nano.ts). Today's HEAD runs canned-fallback because Transformers.js v4 does not yet expose a time-series-forecasting pipeline task; the scaffold lights up the moment the upstream catalog adds it OR a direct onnxruntime-web bridge lands.
Cross-ref: D-053 + D-052 G4 pivot + paper §3 + Vinh apex/ttm/forecast.py
Wave-45 Phase 10 Block G close-out. The regression guarantee against engine swaps (D-050 reframed per the new feedback_byte_equality_regression_guarantee_not_killshot memory rule as the engineering safety contract behind the pitch, NOT the load-bearing positioning headline; the pitch headline is Card 4 COA-bound adaptive-controls model): two projector engines (V1 NumPy + V2 cvxpylayers) emit byte-identical violation strings on the same physical event, modulo a single ENGINE header line. Cross-ref Q&A killshot #3 + paper §3.2 + the Vinh pytest assertion shipped 2026-05-25 at commit 9048573.
D-050 · paper §3.2 · Q&A killshot #3
The V1 NumPy validator + V2 cvxpylayers projector emit byte-identical .to_text() output on the same physical event, modulo the leading ENGINE header line. The Guardian BYOC audit reads identical violation strings regardless of which engine produced them. This is the regression guarantee that engine swaps (Stage A 8-tier Pacejka, Stage B 3-iteration SCP, future GPU-accelerated cvxpylayers) cannot silently change the safety contract; the pytest assertion at app/backend/tests/test_physics_v2.py locks it at HEAD. The pitch headline of the project is the COA-bound adaptive-controls model + brake-throttle simultaneity gate; D-050 is the engineering safety contract behind the pitch.
ENGINE=numpy_v1
VIOLATION_LOG row=18 friction_ellipse exceeded mu_v=0.92 mu_v_max=0.85 brake_pressure_mpa=0.4 throttle_pct=12 coa_simul_permitted=true projected_pace_envelope_lower=-0.03 projected_pace_envelope_upper=0.02
VIOLATION_LOG row=19 friction_ellipse exceeded mu_v=0.94 mu_v_max=0.85 brake_pressure_mpa=0.38 throttle_pct=14 coa_simul_permitted=true projected_pace_envelope_lower=-0.04 projected_pace_envelope_upper=0.02
VIOLATION_LOG row=20 friction_ellipse exceeded mu_v=0.96 mu_v_max=0.85 brake_pressure_mpa=0.36 throttle_pct=16 coa_simul_permitted=true projected_pace_envelope_lower=-0.05 projected_pace_envelope_upper=0.01
SUMMARY violations=3 projected_pace_envelope_max=0.05 audit_id=apx-bd91a8c4ENGINE=cvxpylayers_v2
VIOLATION_LOG row=18 friction_ellipse exceeded mu_v=0.92 mu_v_max=0.85 brake_pressure_mpa=0.4 throttle_pct=12 coa_simul_permitted=true projected_pace_envelope_lower=-0.03 projected_pace_envelope_upper=0.02
VIOLATION_LOG row=19 friction_ellipse exceeded mu_v=0.94 mu_v_max=0.85 brake_pressure_mpa=0.38 throttle_pct=14 coa_simul_permitted=true projected_pace_envelope_lower=-0.04 projected_pace_envelope_upper=0.02
VIOLATION_LOG row=20 friction_ellipse exceeded mu_v=0.96 mu_v_max=0.85 brake_pressure_mpa=0.36 throttle_pct=16 coa_simul_permitted=true projected_pace_envelope_lower=-0.05 projected_pace_envelope_upper=0.01
SUMMARY violations=3 projected_pace_envelope_max=0.05 audit_id=apx-bd91a8c4Stage A (8-tier Pacejka) + Stage B (3-iteration SCP) per D-031 staged ladder add precision but do not change the violation strings on the same physical event.
Wave-45 Phase 9 Block F V12 + V13 close-out per D-050 + D-031. Stage A linearizes the 8-tier Pacejka physics. Stage B wraps Stage A in a 3-iterate SCP outer loop with Powell-ratio trust-region adjustment. Both engines preserve the engine-agnostic byte-equality boundary per D-050: violation strings stay byte-identical on the same physical event regardless of which projector engine fired. HEAD ships canned-fallback for both stages; Vinh wires the real runtime at the V12 + V13 swap-points.
Vinh M3-V12 · D-031 Stage A · 8-tier Pacejka linearization
The Pacejka tire-force linearization wave for each physics tier (vehicle dynamics, friction ellipse, polyphase anomaly, thermal envelope, SCP outer loop, Pacejka core, bicycle model, forward-Euler kinematic step). Wave-49 lit apex/physics/projection_pacejka.py; engine label flips from canned-fallback to the staged V12 backend engine when NEXT_PUBLIC_USE_REAL_BACKEND_V12=1.
Loading Pacejka 8-tier trace...
Vinh M3-V13 · D-031 Stage B · 3-iterate SCP outer loop
The Powell-ratio trust-region SCP outer loop wraps the Stage A linearization in 3 Taylor-step iterates with monotone residual descent. HEAD ships canned-fallback engine while Vinh wires apex/backend/apex/physics/projection_scp.py.
Loading SCP 3-iterate trace...
Wave-45 Phase 4 Block C.1 close-out per the wave-45 plan + the ApexIQ competitor deep-dive steal-list. The COA-parameterized simultaneity gate is the load-bearing differentiator nobody else in the field has. Click the toggle to flip the COA flag + watch the projector verdict change on the same physical event.
Interactive differentiator (D-A + D-052)
The same physical event (brake pressure not fully released + throttle beginning) can be either feasible or a violation depending on the driver's FIA Certificate of Adaptations. APEX reads the COA at tensor level; flip the switch to see the projector verdict change.
Feasible per COA
Projector verdict: feasible
COA flag = 1. The driver's adaptive equipment authorises brake + throttle simultaneity per the hardware-spec section. Projector permits the input. Tuning recommendation surfaces the COA citation.
Cross-ref: D-A + D-018 tri-agent critic + D-052 G4 pivot reframing + paper §3.4 COA-parameterized simultaneity gate + Q&A killshot #4
Text version of the key points this commentary covers (also shown in this section). A validator that hard-codes brake-throttle mutual-exclusion (throttle times brake equals zero) misdiagnoses an adaptive driver whose FIA Certificate of Adaptations homologates simultaneous brake and throttle through corner entry. APEX reads the COA at the tensor level and sets a per-step coa_overlap_flag, so the exact same physical input is feasible for a driver whose COA permits the overlap and a violation for one whose COA does not. The interactive toggle in this section flips that flag so you can watch the projector verdict change between feasible and violation. This is APEX's central differentiator: same coaching pipeline, different output, governed by what the driver's COA actually allows.
APEX characterization of the regulation, not a verbatim quote
APEX reads the driver's FIA Certificate of Adaptations, the binding document Appendix L requires for a disabled driver, and derives their brake-throttle simultaneity envelope from the approved hand-control hardware specification it records. The public FIA text does not publish a discrete simultaneity field, so APEX infers the envelope from the homologated equipment rather than asserting a rule the regulation does not state.
APEX characterization of the FIA Appendix L Certificate-of-Adaptations provisions. Paraphrase, not a verbatim quote.
Route-backed diff (Vinh M3-V14 LangGraph swap-point)
Decision-log D-019 enumerates seven shouldn't-be-possible moves (D-019 baseline of five plus wave-44 D-049 addition of IBM TSPulse polyphase anomaly detector as #6 plus wave-45 D-053 addition of Granite TTM in-browser scaffold as #7) that lift APEX from a hackathon submission into a research-paper-grade artifact. The wave-38 build shipped move #1 (WebGPU Granite Nano 350M, Layer 0; surfaced below). Wave-40 ships the visualization layer for moves #2 (Activated LoRA hot-swap, Layer 6), #3 (GEPA reflective prompt evolution, Layer 5), and #4 (EAGLE-3 speculative decoding, Layer 6 inference). Wave-44 Phase 6a adds the IBM TSPulse 1M polyphase time-frequency anomaly detector (D-016 Layer 2; per-window detection before the projector QP fires). Move #5 (Agent-as-Judge tri-agent critic loop, Layer 7) renders one section below. Each panel here renders demo fixtures from the wave-46 INTEGRATION-tier stub; live fetch wires via the wave-49 NEXT_PUBLIC_USE_REAL_* env flags (TSPulse anomaly endpoint shipped wave-49 commit 1d17eee; EAGLE-3 + aLoRA + GEPA are ACCELERATOR-tier swap-points per the per-tool honesty ladder).
Panels render demo fixtures for /judges visualization. Live fetch wires per docs/decision-log.md D-019 + D-032 + wave-49 Vinh M3-V7 ship.
Wave-30 decision D-018 + D-019 item 5 lock the three-critic panel (Physics-Critic + Pedagogy-Critic + Guardian-Safety) running in parallel on the draft coaching report. If any critic flags, IBM Mellea Instruct-Validate-Repair fires with loop_budget = 3 until the panel approves. Verified CoachingReport then proceeds to the Layer 8 final Guardian audit per D-A. The panel below renders the discriminated-union pattern from app/shared/types.ts (TriAgentVerdictPanel = three TriAgentVerdict instances; verdict-tag narrowing + empty- reasoning-trace fallback per GuardianAudit one level up).
D-024 in-distribution demo: Guardian verdict preserved.
D-024 out-of-distribution demo: Guardian verdict downgraded from approve to review.
Demo A: flag verdict on Pedagogy-Critic
Tri-agent Agent-as-Judge critic loop · D-018
Granite Instruct fine-tune; reads the projected tensor + violation log + challenges the draft report's physics claims.
Approved
Granite Instruct fine-tune; reads the draft + COA structure + challenges the recommendation's coachability.
Flagged
Flagged concerns
Granite Guardian 4.1 BYOC safety pass; gates the final verdict downstream.
Approved
Demo B: reject verdict on Guardian-Safety (COA-conflict)
Tri-agent Agent-as-Judge critic loop · D-018
Granite Instruct fine-tune; reads the projected tensor + violation log + challenges the draft report's physics claims.
Approved
Granite Instruct fine-tune; reads the draft + COA structure + challenges the recommendation's coachability.
Approved
Granite Guardian 4.1 BYOC safety pass; gates the final verdict downstream.
Rejected
Blocked recommendations
Panel data renders the discriminated-union verdict shape for /judges visualization. Real critic verdicts wire from app/backend/apex/critics/ per the wave-49 1d17eee ship; Mellea IVR repair loop per D-018.
Wave-30 decision D-019 item 1 + D-021 lock Granite 4.0 Nano 350M as the in-browser edge model via Transformers.js v4 + WebGPU. The 1.5 GB WebGPU buffer pre-check (pre-mortem row 61) gates the model load; if the adapter advertises insufficient headroom, the chip below degrades to the server-only path. The 30-line Newton friction-ellipse projector runs offline alongside the small-LM head; server- authoritative reconnect (D-021) overwrites local state on every reconnect so no mechanical recommendations are emitted from the offline path. Arch-spec cross- reference at docs/architecture-spec.md Appendix W30 Layer 0 (Edge/Client Plane).
Edge inference is advisory per D-021. The canonical APEX pipeline runs server-side through Vinh-lane backend at app/backend/apex/; the edge path lowers the barrier for journalists + adaptive-driver coaches to demo the pipeline without an RTX-4060 install.
The five hostile questions we rehearsed three times each. Cards are public; the internal canonical source lives in the team’s private memory.
Q. Deep Dynamics already trains a physics-informed neural network on race telemetry. Why is APEX different?
A. Deep Dynamics retrains a bespoke PINN. APEX takes a frozen pretrained foundation model (Granite TimeSeries TTM, NeurIPS 2024) and wraps its outputs in a differentiable CvxpyLayer QP at inference. We do not retrain. The physics enforcement is post-hoc projection, not training-time regularisation. That makes our pattern transferable: any future TSFM gets the same physics envelope without re-training.
Q. TTM was pretrained on weather + retail. Why would it forecast valid motorsport telemetry at all?
A. It does not, by itself. Without constraints TTM can forecast 4G lateral with zero steering or speed increasing at zero throttle. That is the Kinetic Hallucination problem. The differentiable physics-projection layer (friction ellipse + bicycle model + forward-Euler kinematic step) projects every forecast step onto the feasible manifold. Granite Guardian audits the structured text log of every projection correction. Convergence 14 is the serializer unit-test suite that verifies the physics-violation log is faithful.
Q. What stops the projection layer from silently corrupting the forecast it claims to correct?
A. Convergence 14: a Python unit-test suite that fires every kinematic violation type (friction-ellipse breach, bicycle-model breach, jerk-bound breach, COA-simultaneity breach) and verifies the serialized text log Guardian receives matches the projection layer's internal record. Without this suite, the projection layer is a black box. With it, every claim is testable.
Q. Why not just use Track Titan or Trophi.ai if you already have telemetry-aware AI race engineers?
A. Existing tools hard-code throttle * brake = 0. But simultaneous brake and throttle is a real racing technique: able-bodied drivers do it when they left-foot-brake or trail-brake, and adaptive drivers do it within the envelope their FIA Certificate of Adaptations (governed by Appendix L of the International Sporting Code) homologates for their hand-control or paddle-shift system. APEX reads the COA at tensor level. When the COA permits simultaneity, the projection layer permits it. When the COA does not, the constraint enforces. Same coaching pipeline says different things for different drivers based on what their COA says they are allowed to do.
Q. 60 seconds on RTX 4060. Will it run on the judge's machine?
A. The 60-second budget is the post-race coaching loop on RTX 4060: TTM forecast + projection + Guardian audit + Instruct narration. Granite-Docling + Granite Vision (the document parsers) run once at onboarding and cache to disk. The judge runs the production Vercel deploy at apex-one-black.vercel.app or the Colab notebook for a zero-install demo. Both keep the same 60-second loop. The Colab notebook removes the local GPU requirement entirely.
Q. Other May Challenge submissions (PitWall + RaceLens XAI + AI Race Strategist) also pitch AI race-engineer coaching for amateur drivers. What separates APEX?
A. Three structural moats. First, the COA-parameterized simultaneity gate. APEX reads the FIA Certificate of Adaptations at tensor level + routes the brake-throttle constraint per-driver. Amateur-coaching tools hard-code a brake-throttle mutual-exclusion, which penalizes any driver who runs them together, adaptive drivers most of all. Second, the IBM Granite stack depth: APEX ships 14 tracked tools (3 WIRED + 9 INTEGRATION + 2 ACCELERATOR per app/frontend/lib/ibm-stack.ts) versus 2-3 tools across the amateur-coaching competitors. Each Granite tool does one thing in one place. Third, the tri-persona ladder: adaptive racers + veteran-team drivers + grassroots competitors, with named stakeholder grounding (MME Motorsport per-surface consent, Mission 44 outreach, Team BRIT engineering review + per-surface consent). Amateur-driver coaching is a subset, not the load-bearing pillar. APEX moves the field for the racers who do not have a race engineer at all.
Computer Science, Kennesaw State University
Computer Science, Kennesaw State University