2026 design-partner cohort is open · Apply for guided onboarding →
Functional tests for controller code

Untangle regressions before the road.

Smethe turns readable driving scenarios into repeatable tests for Python ADAS controllers. Run them on a laptop, gate a pull request, and keep the evidence—before spending time in high-fidelity simulation.

  • Zero-GPU baseline
  • Runs in ordinary CI
  • Source stays in your environment
Illustrative PR check · product previewexample

Controller gate passed

12 scenarios · 4.82 s · commit 6f3a91c

  • AEB / stationary target1.67s TTC
  • ACC / adjacent cut-in12.6m gap
  • LKA / curve tracking0.18m dev
  • Manifest provenanceattached
The upload contract excludes source codeView evidence model →
Fig. 01 — one branch per scenario; one verdict at the merge.
A shorter feedback loop

From controller change to evidence in three moves.

Smethe, pronounced “smeeth”: an old word for smooth, even, or calm. The workflow should feel the same.

Bring your controller.

Connect Python decision logic through a small adapter. Smethe passes observations in and receives control commands back; your implementation stays yours.

ControllerAdapter.control(observation)

Describe the edge case.

Write a versioned scenario with actors, conditions, seeds, and explicit assertions. Review it beside the code it protects.

smethe validate scenarios/cutin.yaml

Gate the merge.

Run locally or in customer-controlled CI. A non-zero exit blocks the change; the hosted cohort adds a durable GitHub check and evidence view.

smethe run scenarios/cutin.yaml --evidence evidence.json
Recorded engine output

Scrub the run. Read the verdict.

These trajectories are recordings from the current functional engine, not animation-only mockups.

A browser with canvas support is required to view the replay.
t = 0.00 s

Scenario specimen

Safety + comfort KPIs

Assertion gate

Reference-controller example. Smethe is for behavioral and functional regression testing; it does not replace physics-based sensor simulation, hardware-in-the-loop, proving-ground work, or a safety case.

Evidence without code custody

Keep the decision trail, not your source.

The hosted design-partner service is being built around structured results. Controller execution remains in your environment; Smethe Cloud receives an immutable provenance manifest, a separate completion verdict, and—only when requested—an HTML report attachment.

  • 01Scenario hash, seed, Smethe version, commit, metrics, assertions, and verdict
  • 02Design-partner evidence is planned for 90-day retention, with per-run deletion
  • 03No controller source, repository checkout, or secret values in the run manifest
Evidence ledger · illustrative previewmain ← feat/aeb-tune
aeb_stationary6f3a91c · seed 04PASS
cutin_close_range6f3a91c · seed 11PASS
curve_wet_road6f3a91c · seed 08FAIL
traffic_jam_restart6f3a91c · seed 19PASS
3 passed · 1 failed · gate blockedJoin the cohort →
The fidelity ladder

Use the cheapest faithful test first.

Smethe is the fast functional rung between unit tests and expensive simulation. It helps teams reject obvious controller regressions earlier; it does not make the later rungs optional.

01

Unit tests

Functions and components

02

Smethe

Controller behavior across scenarios

03

3D / SIL

Physics and perception stacks

04

HIL / road

Hardware and real-world validation

Smethe is designed for

  • Python controller logic and functional behavior
  • Fixed-step, seeded scenario replays
  • AEB, ACC, and lane-control regression gates
  • Idealized detections with range, FOV, noise, and dropout

Bring another tool for

  • Photorealistic or electromagnetic sensor physics
  • ECU timing and hardware-in-the-loop
  • Human factors and motion platforms
  • Certification, compliance sign-off, or road approval
Launch pricing

Start open. Pay for the shared evidence loop.

The core and Cloud tiers below describe the public-launch model. Only the guided design-partner cohort is accepting applications today.

Release in preparation

Core

$0

Local engine and CLI, planned under Apache-2.0.

  • Local scenarios and assertions
  • Controller adapter and Python API
  • Local reports and parameter sweeps
  • No license key or phone-home requirement
Get the release notice
Planned public beta

Cloud Free

$0

A small hosted tier for public projects.

  • One public GitHub repository
  • Branded pull-request checks
  • Seven days of run metadata
  • Runs execute in your own CI
Join the beta list

Applications are reviewed for technical fit. Applying does not create an account, start billing, or guarantee acceptance. Payment begins only after both sides agree on a pilot scope.

Field questions

The useful caveats.

Is Smethe available on PyPI today?

Not yet. The public package is being prepared as a clean Apache-2.0 release. Join the release list and we will send the verified install instructions when the package is live; there is no placeholder install command on this site.

Does Smethe upload or run our controller code?

The planned hosted workflow does not. Your controller executes in your local or CI environment. The service receives structured run results and provenance needed for checks and evidence history, not the controller source or a repository checkout.

Can this replace CARLA, HIL, or road testing?

No. Smethe targets fast behavioral and functional checks. It should help you arrive at high-fidelity simulation and hardware testing with fewer basic controller regressions, not remove those validation stages.

What makes a good design partner?

A small or midsize ADAS team with Python controller logic, a concrete recurring regression problem, GitHub-based CI, and an engineer who can work with us weekly for the first month.

A calmer merge queue

Bring us one controller and one regression you never want to see again.

We’ll map the first useful gate together. If Smethe is not the right fidelity layer for the problem, we’ll say so before a pilot begins.