# Testing and Verification

> TinyRustLM is tested through Rust unit tests, no-crate browser harness checks, WASM ABI smoke tests, browser smoke modes, route drift tests, and performance soak cycles.

- Site: TinyRustLM
- Canonical: https://TinyRustLM.mirust.com/testing/
- Version: 1.7.0
- Updated UTC: 2026-08-09T20:56:36Z

## Rust and static contract checks

The source tree includes Rust tests for runtime and packer behavior, plus a mini browser harness that checks expected static IDs, demo-autoload markers, route presence, manifest sidecars, and WASM export contracts before deeper automation. `eng\verify-tinyrustlm-ui.ps1 -RunBrowserSmoke` and its Bash parity script write `tinyrustlm.ui_verification.v0` evidence after the static browser harness, loopback HTTP harness, and `source-options-ui`, `hf-search-ui`, `local-connect-approval-ui`, `local-connect-endpoint-ui`, and `local-connect-rust-endpoint-ui` browser smokes cover Local .slm, Hugging Face, P2P import, Advanced tools, Local Connect approval presets, endpoint app inventory, digest-bound dry-run action flow, and the actual Rust `serve-approval-endpoint` path. Local Connect endpoint app approvals preserve the row-selected category for an unknown endpoint-listed app in exported `approved_app_bindings`, while known app category drift fails closed before app-level approval. Local Connect action responses advertise `typed-action-dry-run-default-execution-consent-v1`, and non-dry-run native-opener execution requires `x-tinyrustlm-execution-consent: native-opener-v1`. `eng\verify-tinyrustlm-public-root.ps1` and `eng/verify-tinyrustlm-public-root.sh` write `tinyrustlm.public_root_verification.v0` evidence to `tinyrustlm-public-root-verification.json` after serving mapped `http://tinyrustlm.com:<port>/` with `tinyrustlm.com-loopback-browser-smoke` and running `public-default-demo`, `catalog-local-import`, `local-import-ambiguous-selection`, `peer-url-unsafe-ui`, `local-connect-approval-ui`, `local-connect-endpoint-ui`, and `local-connect-rust-endpoint-ui`.

- cargo test --workspace
- tinyrustlm-browser-harness
- Static app contract checks
- WASM export set checks
- public-default-demo
- source-options-ui
- local-connect-approval-ui
- local-connect-endpoint-ui
- local-connect-rust-endpoint-ui
- verify-tinyrustlm-public-root.ps1
- tinyrustlm.public_root_verification.v0

## Browser smoke modes

Headless browser tests prove normal and failure behavior: malformed model rejection, missing model handling, context overflow, step-token flow, adapter-sidecar application, selector registry routing, module-plan drift rejection, runtime-manifest drift, combined selector assembly, and performance soak.

- adapter-sidecar-registry-file
- combined-selector-assembly
- runtime-manifest-drift
- step-token
- performance soak

## Determinism

Deterministic validation matters because tiny runtime changes can create divergent token sequences. The project avoids relaxed nondeterministic assumptions where proof requires replayability and keeps stochastic behavior bounded by fixed buffers and explicit seed paths.

- No relaxed SIMD for proof paths
- Seeded sampling
- Fixed candidate cap
- Drift tests stop before fetch or apply
