Skip to content

Verification and provenance

Implementation snapshot · 2026-10-12 · Sources & update notes

The harness exchanges JSON jobs/status and native Lua telemetry with ordinary BeamNG.drive. It locks and verifies ownership of a dedicated profile, owns its launched process, stages only changed assets, and replaces the vehicle between recordings. Cancellation and shutdown apply only to that owned process.

Vehicle acceptance runs settle, supported drivetrain, articulation, acceleration, braking, reverse, left turn and right turn three times. Checks include complete finite telemetry, compiled mass, required controllers, wheel/device contracts, settling, motion and no broken beams. Generation success, recording completion and physical qualification remain separate statuses. Failed measurements cannot be accepted merely because the recorder finished.

Recorded output · 9 October 2026

A completed pilot can still fail acceptance

Peak lateral drift (m)0.5 m limitTrailing armGeared AWD2.821Rear wishboneRWD1.69001.63.2

Both fixtures exceeded the 0.5 m lateral-drift limit. Each suite stopped after 4 of 24 planned recordings; both remained unqualified.

Exact measurements and source provenance
FixtureDrift (m)Broken beamsApplied steering
Trailing arm / geared AWD2.82106100
Rear wishbone / RWD1.68965900

Local source: docs/evidence/mvp-checkpoint-20261009.json. SHA-256: 320640ca5b5432899d293eb3d16f3959aea60676e4b6e54f721ef0cf7b0b26f7. The 0.5 m limit is recorded in docs/mvp-checkpoint-20261009.md. Only selected summary fields are bundled with this chart.

These are retained synthetic-fixture measurements, not the current vehicle's result. Switch to broken beams to see why one passing metric cannot establish acceptance. Bars summarize recorded peaks; they are not reconstructed time-series traces. See the dated checkpoint.

The harness disables BeamNG’s safe-spawn relocation to preserve the requested test position. Supported and articulation jobs measure all generated tread nodes throughout the recording and reject ground clearance below 0.25 m. Earlier supported recordings that allowed safe-spawn snapping are not valid suspended drivetrain evidence, even when wheel-speed checks passed. Articulation loads are split equally between the two axle nodes, placing the resultant at the wheel center. Loading only the negative-X endpoint would add opposite camber moments on the left and right. The final second is for settling. Each five-second sweep requests a 160 mm sinusoidal-squared lift from that corner’s settled pose, with zero target velocity at both ends. This avoids an unintended design-height step while retaining the motion and geometry checks.

For CAD templates, the motion comparator (local source: dependencies/cad-calibration/Test Harness/frame_harness/vehicle_motion.py) registers the recorded chassis nodes to the reference using a mass-weighted rigid fit, removing translation, roll and yaw. At each snapshot the linkage solver uses the measured hub height and the native steering hydro’s target rest length. It compares camber, toe, hub path and mount positions; separate rigid fits measure arm and upright distortion. Joint beam length changes separate attachment stretch from movement of the frame support. Unreachable poses and incomplete recordings fail the checks. Straight-driving tests also reject uncommanded drift and yaw. Turn tests require more than 2 m of lateral excursion in the requested direction and no more than 0.5 m in the opposite direction. They use the recorded path: a completed circle can return to its starting line and still be a valid turn. For CAD templates, independently fitted chassis heading must also turn at least 45° in the requested direction, with no reversal greater than 5°. Heading is unwrapped across ±180°, so another lap cannot erase the measured rotation. Sideways sliding cannot satisfy that heading check. Suspension and attachment error limits apply throughout the turn, just as in the other driving tests. The recorder uses BeamNG’s FILTER_AI automation input path with a dedicated input source, restored after each recording. This bypasses gamepad steering assists without adding a steering correction. Motion telemetry version 2 records both requested and applied steering; straight tests require the applied value to remain zero. Older recordings that only captured the requested command cannot prove unassisted straight-line behavior and must be recorded again. Each run provides motion-comparison.html, an interactive ideal/native overlay, and an exportable plot. Current geometric limits are provisional screening tolerances, not material qualification. Graphics snapshots cannot resolve a high-frequency vibration spectrum, and this kinematic reference does not predict vehicle acceleration or tire forces.

Historic synthetic passes do not qualify a new CAD vehicle. See the selected milestones for examples of how evidence changed the implementation.

Builds preserve hashes of geometry, material inputs, calibrated frame, template, generator and runtime sources. Files changed during generation or recording are rejected. Passing verification can compact raw logs/CSV while retaining measured results, hashes and images. Failures retain diagnostics. Captures use an owned render view; camera framing follows actual node bounds. Live camera tracking carries vehicle translation directly and smooths only changes relative to it, avoiding a speed-dependent following lag. Captures freeze physics and simulation time scale, frame the frozen graphics state and temporarily disable main-window blur and current motion blur (PostFxMotionBlur). Before/during/after states and maximum live camera center error are saved beside the image; normal completion, failed readback and disposal restore the prior effects and simulation state. The receipt records the evidence path and hash separately from generation. Image validation also decodes the PNG and rejects blank or corrupt readbacks. A successful save call or a large enough file does not establish useful visual evidence; even a nonblank image still needs framing and mesh review. Acceptance requires three independent completed recordings of each scenario; an ordinary failed repeat withdraws driving qualification. A passed pilot cannot restore it without a new complete acceptance suite. Diagnostic interventions are recorded separately and cannot promote or withdraw normal qualification.