Module Drift Engine Documentation
Reference documentation for the engine and tools inside the Drift application. It describes how the code is organized so the source is easier to read. Drift ships as an application, and these modules are not published artifacts.
The modules are core, host, scan, tools, bench, cli and studio. The build-core Gradle build logic, the Android application module and the Xcode project are not documented here.
All modules:
Benchmark harness. It generates synthetic cases, runs the engine on them and scores the result against known answers.
The drift command. Each subcommand lives in dev.gmitch215.drift.cli.command and calls into core, host and scan. The installer behind install and uninstall is in cli.install and the web server behind serve is in cli.serve.
Capsule model, canonical JSON, SHA-256, fixed-point math, and the diagnosis engine built on them. All code is common Kotlin, so every target produces the same bytes.
Operating system access. Host is the interface the rest of Drift reads facts through, with one implementation per target (JVM, macOS, Linux, Windows, Wasm, and Android and iOS when the mobile targets are enabled) and a fake for tests.
Probes, toolchain scanners and the atlas. Capture runs them against a Host and builds a capsule. The atlas records probe transcripts, builds the dataset, compares a device against it and carries the classification of each probe.
Compose Multiplatform interface for working with cases and for browsing the Atlas, for desktop (JVM) and the browser (wasmJs), with Android and iOS builds when the mobile targets are enabled.
JVM-only maintenance programs: transcript fixture generation, log sanitizing, the probe ladder and rule verification. They support development and are not part of the drift executable. The Playwright scripts for the browser Atlas columns live beside them in tools/browsers.