NO NETWORK · NO TELEMETRY · FAILS CLOSED · v0.3.0

U02

Native failures map to unknownValidated

A missing module, a native error, a malformed report or a timeout all resolve unknown with a reason.

Validatedios · android

How to read this page

A scenario is one test case: prepare the environment, run the steps, then compare the expected result (written before the run) with the observed result (copied from the run, with screenshots).

U02 · U
Automated test that runs on every code change — no device.
Validated
Run, and the result matched what was expected.

Why it matters

Every failure path is a fail-open risk. Each one has a test.

Environment

Runner
Jest with a mocked native module, in CI

Setup

Prepare the environment.Then run the steps.

  1. 01Mock the TurboModule for each case.

Steps

What to run.What to read.

  1. 01Module null.
  2. 02Native rejects.
  3. 03Malformed report.
  4. 04No answer within timeoutMs (fake timers).

Expected result · written before the run

Status: unknownNo signals.

Reason: native_module_unavailable · native_error · timeout

Observed result · copied from the run

Status: unknownObserved 2026-09-30.

Reason: native_module_unavailable · native_error · timeout

evidence
checkIntegrity.native.test.ts and resolveStatus.test.ts pass (59 tests, 99% statement coverage).

Checks this scenario covers

Every check this test case touches — including ones that aren't expected to fire here. The expected and observed results above say which ones should and did. Each links to how the check works.

None