Skip to main content

IBM SkillsBuild AI Builders Challenge · May 2026 · Judges’ tour

APEX, in one page.

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.

Start 2-minute judge tour →Six-step narrative walkthrough · paced for two minutes

Five-second resource map.

Fourteen IBM tools. Per-tool wire-up status, honest.

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).

Granite-Docling 258M
Integration
FIA COA PDF to structured JSON parser
Docling library latest
Accelerator
Open-source IBM Docling conversion + table-extraction
Granite Vision 4.1 4B
Integration
SRO + Britcar timing-sheet PDF to CSV
Granite TimeSeries TTM r2.1 + fine-tune
Integration
Track 1 of D-010 three-track ensemble (frozen-backbone + channel-mix decoder fine-tune per D-052)
Granite FlowState r1.1 18.5M
Integration
Track 2 of D-010 (sampling-rate-invariant continuous-time SSM at 50 Hz)
IBM TSPulse 1M
Integration
Polyphase time-frequency anomaly detector (D-016 Layer 2)
Granite Embedding R2 149M + 47M
Wired
Live dense RAG rerank via HF Inference Providers (granite-embedding-30m-english feature-extraction); lexical fallback (D-016)
Granite Instruct 4.1 8B
Wired
Race-engineer narrator: live /analyze coaching report + chat via OpenRouter (wave-64; verified phase=real in prod)
Granite Guardian 4.1 8B
Integration
BYOC custom-rule audit + D-024 physics-confidence downgrade
Granite 4.0 Nano 350M
Wired
In-browser WebGPU edge model via Transformers.js (D-019 + D-021)
LangGraph + MCP + ContextForge runtime (Langflow export-graph)
Integration
Orchestration runtime per D-017 G7 + D-026 (Langflow demoted to export-graph facade per wave-30)
Granite Instruct 3B 4.1 3B
Integration
Fast-path AICopilotChat routing for simple queries (D-058 wave-46 add)
Granite Speech 4.1 2B-Plus
Integration
Speaker-attributed ASR + word-level timestamps replacing Web Speech (D-058 wave-46 add)
Mellea >=0.5.0
Accelerator
Instruct-Validate-Repair tri-agent critic loop scaffold on narrator (IBM Research open source library, Apache 2.0); flips to WIRED when Vinh M3-V5.2 ships Mellea-orchestrated narrator path

Production observability, live and embedded.

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

Live backend telemetry, in-product.

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. Fictional by design.

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

Editorial paddock illustration: profile view of a fictional mid-thirties RAF veteran left-leg amputee adaptive race driver inside a Britcar Trophy BMW M240i cockpit. Electronic hand-control hardware visible on the steering wheel with MME Motorsport ring-throttle paddle. Warm cream paper backdrop with subtle racing-green track-line silhouette. Hand-control hardware in clay-red signal accent. Amber dashboard glow on the right edge. Editorial illustration style; NOT photoreal. Generated via Nano Banana Pro per docs/nano-banana-runbook.md wave-51c ship.
Editorial illustration; fictional persona. Real operators anonymized per per-surface consent.

The pipeline, one diagram.

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.

APEX pipeline architecture: driver inputs (telemetry CSV, FIA Certificate of Adaptations PDF, written debrief) feed a one-time onboarding stage (Granite-Docling + Granite Vision) and the 60-second post-race coaching loop (1-Hz aggregator into Granite TimeSeries TTM r2.1 into Stage 1 differentiable convex QP into Stage 2 post-projection feasibility filter into Granite Guardian text audit into Granite 4.1 8B Instruct narrator). Outputs are a corner-by-corner coaching report, tuning recommendation with COA section citation, next-session envelope forecast, and Guardian safety stamp with reasoning trace.
Figure 1 (vector via SVG with PNG raster fallback). Download the raster copy at figure-1-architecture.png for reuse.

Convergence 14 · the safety contract.

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.

  1. C14-01Friction ellipse lateral

    flag

    Lateral g of 1.8 with brake near zero and steering near zero exceeds the constant-mu friction ellipse on a dry-tarmac circuit.

    Violation class
    Friction ellipse
    Detection stage
    Stage 1 · convex QP
    COA simul
    not applicable
    Fixture file
    app/backend/tests/fixtures/convergence-14/C14-01_friction_ellipse_lateral.json
    Guardian verdict reason

    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
  2. C14-02Friction ellipse longitudinal

    flag

    Longitudinal g of negative 1.5 (braking) combined with steering of 0.3 rad exceeds the friction-ellipse envelope at the corner-entry boundary.

    Violation class
    Friction ellipse
    Detection stage
    Stage 1 · convex QP
    COA simul
    not applicable
    Fixture file
    app/backend/tests/fixtures/convergence-14/C14-02_friction_ellipse_longitudinal.json
    Guardian verdict reason

    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
  3. C14-03Forward-Euler monotonicity

    flag

    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.

    Violation class
    Forward-Euler
    Detection stage
    Stage 1 · convex QP
    COA simul
    not applicable
    Fixture file
    app/backend/tests/fixtures/convergence-14/C14-03_forward_euler_monotonicity.json
    Guardian verdict reason

    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
  4. C14-04Jerk bound

    flag

    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.

    Violation class
    Jerk bound
    Detection stage
    Stage 1 · convex QP
    COA simul
    not applicable
    Fixture file
    app/backend/tests/fixtures/convergence-14/C14-04_jerk_bound.json
    Guardian verdict reason

    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
  5. C14-05Bicycle: lateral g without steering

    reject

    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.

    Violation class
    Bicycle model
    Detection stage
    Stage 2 · feasibility filter
    COA simul
    not applicable
    Fixture file
    app/backend/tests/fixtures/convergence-14/C14-05_bicycle_no_steering.json
    Guardian verdict reason

    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
  6. C14-06Bicycle: magnitude mismatch

    reject

    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.

    Violation class
    Bicycle model
    Detection stage
    Stage 2 · feasibility filter
    COA simul
    not applicable
    Fixture file
    app/backend/tests/fixtures/convergence-14/C14-06_bicycle_magnitude.json
    Guardian verdict reason

    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
  7. C14-07COA gate: simultaneity forbidden

    reject

    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.

    Violation class
    COA simultaneity
    Detection stage
    Stage 2 · feasibility filter
    COA simul
    forbidden
    Fixture file
    app/backend/tests/fixtures/convergence-14/C14-07_coa_simul_forbidden.json
    Guardian verdict reason

    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"
  8. C14-08COA gate: simultaneity permitted (positive)

    approve

    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.

    Violation class
    COA simultaneity
    Detection stage
    Stage 2 · feasibility filter
    COA simul
    permitted
    Fixture file
    app/backend/tests/fixtures/convergence-14/C14-08_coa_simul_permitted.json
    Guardian verdict reason

    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
  9. C14-09Physical envelope: negative speed

    reject

    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.

    Violation class
    Physical envelope
    Detection stage
    Stage 3 · Granite Guardian audit
    COA simul
    not applicable
    Fixture file
    app/backend/tests/fixtures/convergence-14/C14-09_negative_speed.json
    Guardian verdict reason

    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"
  10. C14-10Physical envelope: circuit max speed

    flag

    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.

    Violation class
    Physical envelope
    Detection stage
    Stage 3 · Granite Guardian audit
    COA simul
    not applicable
    Fixture file
    app/backend/tests/fixtures/convergence-14/C14-10_speed_exceeds_circuit_max.json
    Guardian verdict reason

    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"
  11. C14-11Physical envelope: gear vs engine state

    flag

    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.

    Violation class
    Physical envelope
    Detection stage
    Stage 3 · Granite Guardian audit
    COA simul
    not applicable
    Fixture file
    app/backend/tests/fixtures/convergence-14/C14-11_drivetrain_decoupled.json
    Guardian verdict reason

    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"
  12. C14-12Physical envelope: throttle saturation

    flag

    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.

    Violation class
    Physical envelope
    Detection stage
    Stage 3 · Granite Guardian audit
    COA simul
    not applicable
    Fixture file
    app/backend/tests/fixtures/convergence-14/C14-12_throttle_saturation.json
    Guardian verdict reason

    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"
  13. C14-13Serializer round-trip integrity

    approve

    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.

    Violation class
    Serializer integrity
    Detection stage
    Stage 3 · Granite Guardian audit
    COA simul
    not applicable
    Fixture file
    app/backend/tests/fixtures/convergence-14/C14-13_serializer_roundtrip.json
    Guardian verdict reason

    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
  14. C14-14Convergence: COA + physics + Guardian closure

    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.

    Violation class
    Serializer integrity
    Detection stage
    Stage 3 · Granite Guardian audit
    COA simul
    permitted
    Fixture file
    app/backend/tests/fixtures/convergence-14/C14-14_full_loop_sarah.json
    Guardian verdict reason

    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

ISO 26262 vocabulary set, line by line.

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.

CAN signal plausibility check
Telemetry intake validates every channel against the canonical 14-channel shape contract in shared/contracts/shapes.py before any forecast call.
Sensor disagreement handling
V1 NumPy validator + V2 cvxpylayers projector each detect physically inconsistent input combinations (friction-ellipse + jerk-bound + tier-1 simultaneity-gate) and reject before narration.
Fault-detection and latch-reset
Self-Correcting Retry Loop on the narrator path detects forbidden regulatory-anchor patterns + emits a system-level retry directive enumerating the violations; bounded 2-retry budget.
Watchdog and timeout implementations
AbortSignal.timeout(3000) on every Vinh-backend wire-flip + AbortController on OpenRouter completion + 12-second timeout in the VS Code extension webview; consumer disconnection aborts the request.
Deterministic behavior under communication faults
Every wire-flip helper returns the canned-fallback payload on any upstream 5xx or fetch failure; the engine field declares which path served + the X-Apex-*-Engine header surfaces it to runtime logs.
State-machine review for unintended transitions
Discriminated-union state machines on the client (CoachVoicePlayback, CoachCodePanel, AICopilotChat, TelemetryUploadPanel) make impossible states a TypeScript compile error; no defensive runtime branch needed.
Failure Mode and Effects Analysis (FMEA) on driver-input paths
Convergence 14 fixture suite covers the 14 failure modes the V1 + V2 + Guardian stack must reject; each fixture asserts the violation string + the Guardian verdict so the cause/effect map is testable, not asserted.

Vocabulary set sourced from Team BRIT engineering correspondence, cited with permission (2026-05-29); mapping to APEX invariants is the contribution.

Confidence decomposition

Confidence, broken into the signals that earn it.

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.

Physics feasibility
converged · max resid 0.0011

Source: Stage 1 + 2 projection residual norms (CvxpyLayer QP convergence)

Guardian safety
APPROVE

Source: Granite Guardian 4.1 BYOC custom-rule verdict

Forecast certainty
±0.456 s mean band (1.36% of pace)

Source: Next-session forecast 90% envelope width, post-projection

Physics-model confidence
in-distribution · d 1.84 / p95 2.50

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.

Eight-tier physics implementation.

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

Live from the track.

Loading /api/session-context...
  • Track temperature

    OK

    42 C

    Within Pirelli soft-compound operating window (35 to 50 C).

  • Weather

    Monitor

    Dry

    Rain probability 75 percent within the next hour per Met Office radar.

  • Tire state

    Monitor

    Soft, lap 18

    Degradation 67 percent per stint-degradation curve; pit window opens at lap 21.

  • Session phase

    OK

    Race, 45 of 78

    Strategic phase: undercut window open against immediate prior competitor.

  1. EP-013D track geometry

    tier 01

    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.

    Handler
    SCP outer-loop linearisation
    Canonical inputs
    pitch_rad + bank_rad + speed_mps
    Formula + outputs

    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

    • g_eff (3-vector per step)
    • per-step rotation matrix R
    • vertical-load adjustment for Tier 4

    Arch-spec ref: Appendix W30 Layer 4 Tier 1 (pitch + bank channels added wave-30 D-016 channel expansion)

    Decision-log: D-015

  2. EP-02Aerodynamics

    tier 02

    Aero downforce + drag scale with v^2; downforce adds to vertical load (Tier 4), drag opposes forward acceleration (Tier 8).

    Handler
    SCP outer-loop linearisation
    Canonical inputs
    speed_mps
    Formula + outputs

    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

    • F_z_aero (downforce contribution to Tier 4)
    • F_drag (deceleration contribution to Tier 8)

    Arch-spec ref: Appendix W30 Layer 4 Tier 2

    Decision-log: D-015

  3. EP-03Adaptive hand-controls

    tier 03

    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.

    Handler
    COA constraint layer (lexicographic)
    Canonical inputs
    coa_simul_permitted + throttle_pct + brake_pa + steering_rad
    Formula + outputs

    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

    • lexicographic COA constraint set (Tier 2 + Tier 3)
    • per-corner slack variables
    • Guardian audit annotations

    Arch-spec ref: Appendix W30 Layer 4 Tier 3 + D-022 lexicographic COA hierarchy

    Decision-log: D-015

  4. EP-04Double-track load transfer

    tier 04

    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.

    Handler
    SCP outer-loop linearisation
    Canonical inputs
    lat_g + long_g + speed_mps + fz_total (computed)
    Formula + outputs

    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

    • per-tire F_z (4 corners)
    • fz_total adjustment for Tier 7

    Arch-spec ref: Appendix W30 Layer 4 Tier 4 (fz_total channel added wave-30 D-016)

    Decision-log: D-015

  5. EP-05Tire thermal + degradation

    tier 05

    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.

    Handler
    Internal state evolution
    Canonical inputs
    mu_v (consumed + updated) + speed_mps + lap-count metadata
    Formula + outputs

    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

    • evolved T_surface internal state
    • per-step mu_v adjustment for Tier 7

    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

  6. EP-06Transient tire dynamics

    tier 06

    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.

    Handler
    Steady-state algebraic substitution
    Canonical inputs
    lat_g + steering_rad + speed_mps
    Formula + outputs

    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

    • algebraic slip_y consumed by Tier 7 Pacejka

    Arch-spec ref: Appendix W30 Layer 4 Tier 6 + D-014 numerical hazard resolution

    Decision-log: D-015

  7. EP-07Full Pacejka combined-slip

    tier 07

    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.

    Handler
    SCP outer-loop linearisation
    Canonical inputs
    lat_g + long_g + fz_total + mu_v + speed_mps + steering_rad + T_surface (internal)
    Formula + outputs

    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

    • F_x, F_y per tire (4 corners)
    • per-iterate Jacobian + residual norm for SCP convergence trace

    Arch-spec ref: Appendix W30 Layer 4 Tier 7 + D-012 unrolled SCP outer loop

    Decision-log: D-015

  8. EP-08Kinematic integration

    tier 08

    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).

    Handler
    SCP inner iterate (convex QP)
    Canonical inputs
    long_g + speed_mps + yaw_rate
    Formula + outputs

    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

    • projected speed_mps trajectory across (B, 30) horizon
    • kinematic integration residual

    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.

The pipeline, paced for a judge tour.

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)

APEX-cam: the 60-second loop in 9 seconds.

Loop 1

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.

  1. Ingest1 of 6Telemetry frame (50 Hz raw -> 1 Hz mini-sector aggregate)
  2. TTM Forecast2 of 6
  3. V2 Projector3 of 6
  4. Guardian Audit4 of 6
  5. Instruct Narration5 of 6
  6. Provenance6 of 6

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

The orchestration runtime. D-017 G7 + D-026.

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

LangGraph + MCP + ContextForge orchestration trace.

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...

Run Granite in your browser. The 7th shouldn't-be-possible move.

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

Run Granite TimeSeries TTM r2.1 in your browser.

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

Engine-agnostic byte-equality lock. D-050.

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

Two engines, one violation string.

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-LINE-DIFF-ONLY (D-050 PASS)body bytes 695 · body lines 4

V1 NumPy validator

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-bd91a8c4

V2 cvxpylayers projector

ENGINE=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-bd91a8c4

Stage 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.

D-031 staged ladder. Stage A + Stage B in flight.

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

Stage A. Eight tiers, one residual norm at a time.

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

Stage B. Three iterates, monotone residual descent.

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...

The differentiator, on a switch.

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 COA simultaneity gate, on a switch.

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.

brake (lever pressure)0.42 MPa residual (not fully released)
throttle (hand-control input)12 percent (rising)

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

Read a text version of this commentary

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.

Per the published revision in effect at session time.FIA Certificate of Adaptations · Appendix L
Verify on FIA.com →

Route-backed diff (Vinh M3-V14 LangGraph swap-point)

COA-parameterized simultaneity gate, live verdict diff.

Galaxy-tier inference and adaptation moves.

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.

Tri-agent Agent-as-Judge critic loop.

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).

Physics-confidence · in-distributionM=1.84 / p95=2.50

D-024 in-distribution demo: Guardian verdict preserved.

Physics-confidence · out-of-distributionM=3.92 / p95=2.50approvereview

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

Three-critic verdict panel

Mellea IVR repair triggered
  1. Physics-Critic

    Granite Instruct fine-tune; reads the projected tensor + violation log + challenges the draft report's physics claims.

    Approved

    Reasoning trace (3 steps)
    1. 01.Friction-ellipse residual within tolerance on Tier 7 Pacejka linearisation.
    2. 02.Forward-Euler kinematic step (Tier 8) consistent across 30-step horizon.
    3. 03.Two-mass thermal model (Tier 5) T_surface evolves within ambient + warmup bounds.
  2. Pedagogy-Critic

    Granite Instruct fine-tune; reads the draft + COA structure + challenges the recommendation's coachability.

    Flagged

    Flagged concerns

    • Add one-sentence trail-braking definition for first-time adaptive racers.
    Reasoning trace (2 steps)
    1. 01.Coaching narrative reads correct but assumes prior trail-braking technique knowledge.
    2. 02.Adaptive-driver context not centred in the recommendation framing.
  3. Guardian-Safety

    Granite Guardian 4.1 BYOC safety pass; gates the final verdict downstream.

    Approved

    Reasoning trace (2 steps)
    1. 01.FIA Appendix L compliance preserved across all COA-derived constraints.
    2. 02.Physics-projection envelope within Tier-0 + Tier-1 inviolable bounds.

Demo B: reject verdict on Guardian-Safety (COA-conflict)

Tri-agent Agent-as-Judge critic loop · D-018

Three-critic verdict panel

Mellea IVR repair triggered
  1. Physics-Critic

    Granite Instruct fine-tune; reads the projected tensor + violation log + challenges the draft report's physics claims.

    Approved

    Reasoning trace (2 steps)
    1. 01.SCP outer-loop converged in 2 iterates with Powell ratio rho = 0.74 within trust-region tolerance.
    2. 02.Tier 7 Pacejka linearisation residual within 0.04 friction-coefficient units; below the 0.10 flag threshold.
  2. Pedagogy-Critic

    Granite Instruct fine-tune; reads the draft + COA structure + challenges the recommendation's coachability.

    Approved

    Reasoning trace (1 step)
    1. 01.Recommendation is coachable; references trail-braking technique with the adaptive-driver context preamble.
  3. Guardian-Safety

    Granite Guardian 4.1 BYOC safety pass; gates the final verdict downstream.

    Rejected

    Blocked recommendations

    • Reduce brake-pedal travel by 4 mm (would invalidate the existing hand-control mapping per the COA hardware-spec section).
    Reasoning trace (2 steps)
    1. 01.Recommendation conflicts with the driver's FIA Certificate of Adaptations hardware-spec section.
    2. 02.COA-permitted brake-throttle simultaneity gate is open in the projection but the recommendation requests a hardware change that would close it.

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.

WebGPU Granite Nano edge inference.

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.

Q&A defense pack.

The five hostile questions we rehearsed three times each. Cards are public; the internal canonical source lives in the team’s private memory.

  1. Card 01

    Deep Dynamics differentiator

    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.

  2. Card 02

    Kinetic Hallucination

    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.

  3. Card 03

    Serialization integrity

    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.

  4. Card 04

    COA-parameterized simultaneity

    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.

  5. Card 05

    Latency budget

    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.

  6. Card 06

    Amateur-driver AI coaches

    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.

Two-person team.

Frontend, pitch, project architecture, narrative
Stephen Sookra

Computer Science, Kennesaw State University

Backend, ML pipeline, FastAPI, LangGraph + MCP + ContextForge runtime (Langflow export-graph artifact per D-017 G7 + D-054), Infrastructure
Vinh Le

Computer Science, Kennesaw State University