Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Support matrix

This matrix deliberately separates validation levels. “Model tested” means host-side API/model behavior passed deterministic tests; it is not mobile runtime evidence. STATUS is the dated evidence log and overrides stale prose.

Validation vocabulary

LevelRequired evidence
ImplementedConcrete code path exists; unsupported defaults do not count
Compile validatedRelevant Rust/generated host compiled for that target
Artifact validatedFinal APK, .app, or .appex passed independent structural/tool inspection
Simulator/emulator validatedBehavior was observed in a simulator/emulator
Device validatedBehavior was observed on physical hardware

Platform build paths

PathImplementedCompileArtifactSimulator/emulatorDevice
Host config/runtime/testsYesHost workspace checks; see STATUSN/AN/AN/A
Android direct APKBuild plus typed devices/install/run/logs implementedarm64 generated Rust app plus Java/DEX bridgePublic-CLI starter and Kitchen Sink APKs independently inspectedDeployment runtime not validatedDeployment runtime not validated
iOS Simulator .appBuild plus typed devices/install/run/logs implementedarm64 Slint executablesPublic-CLI starter and Kitchen Sink .app/.appex bundles independently inspectedDeployment runtime not validatedN/A
iOS physical-device appOfficial development-signing build/install/run implemented; explicit Team and provisioning controlsDeterministic arm64/Xcode plan tested; no signing identity availableNot validatedN/ANot validated

Capability evidence

CapabilityHost model/testsAndroid backend/artifactiOS backend/artifactRuntime observation
Lifecycle/event busImplementedBackend and DEX/native callback bridge compiled into inspected APKBackend and dynamic framework artifact-inspectedNone
Network status/probeImplemented model and mockConnectivity/HTTP backend enabled and bridge artifact-inspectedNWPath/URLSession backend and framework artifact-inspectedNone
JSON storageIn-memory/file backend testsApplication-private file backend installed by Android host; target-compiledApplication Support file backend and framework artifact-inspectedNone
HapticsAPI and mockBackend enabled and bridge artifact-inspectedBackend and framework artifact-inspectedNone
Clipboard/share/systemAPI and mockBackends compiled; enabled share provider artifact-inspectedBackends and framework artifact-inspectedNone
Deep linksParser/policy/event testsIntent filter/allowlist backend and bridge artifact-inspectedURL scheme/delegate allowlist and framework artifact-inspectedNone
Local notificationsAPI/model/mockBackend/receiver enabled and artifact-inspectedUserNotifications backend and framework artifact-inspectedNone
PermissionsAPI/model/mockEnabled purpose strings, exact permissions, and bridge artifact-inspectedSupported permission backends and framework artifact-inspectedNone
WidgetSnapshot model/tests + standalone exampleProvider/backend enabled and artifact-inspectedPublisher, timeline renderer, and WidgetKit .appex artifact-inspectedNone
Live ActivityState model/tests + standalone exampleOngoing-notification fallback enabled in an inspected Kitchen Sink APKActivityKit lifecycle bridge and .appex artifact-inspectedNone

Remote push is unavailable; schema version 1 rejects push = true. Device discovery and deployment use exact stable IDs, validated artifacts, bounded application-filtered logs, and official ADB/simctl/devicectl commands. No device behavior is inferred from those implemented paths.

CI interpretation

Linux, macOS, and Windows host jobs run independently. Android and Apple artifact jobs are not repository-variable gates: they install/select their build prerequisites, invoke real pipelines, repeat independent checks, and upload only non-empty expected artifacts. A cancelled or skipped job means “no evidence,” never “passed”; missing prerequisites, a failed build, or a missing/invalid artifact fails the job.