Native Android submitter client for the doc-approval reference app. Phase 1 uses HTTP polling via Ktor — same flow as web-react.
- Android Studio Ladybug+ (or compatible AGP 8.7 / Kotlin 2.0)
- Android emulator API 26+ (or physical device on same network as runtime)
- Traverse runtime running on your host machine
git clone https://github.com/traverse-framework/Traverse.git /tmp/traverse
cd /tmp/traverse && git checkout v0.6.0
cargo run -p traverse-cli -- serveDefault base URL is http://10.0.2.2:8787 — the Android emulator alias for host 127.0.0.1.
- Open the app → Settings
- Set Runtime URL and Workspace (
local-default) - Save (persisted via DataStore)
On a physical device, use your computer's LAN IP instead of 10.0.2.2.
cd apps/doc-approval/android-compose
./gradlew :app:assembleDebug :app:testDebugUnitTestOpen the project in Android Studio and run on an API 26+ emulator.
| File | Role |
|---|---|
TraverseClient.kt |
Ktor HTTP client (execute, poll, trace, health) |
ExecutionViewModel.kt |
StateFlow state machine: idle → loading → polling → done |
ui/MainScreen.kt |
Compose UI — runtime strip, document input, analysis output |
ui/SettingsScreen.kt |
Runtime URL + workspace |
SettingsRepository.kt |
DataStore persistence |
The UI renders runtime-provided pipeline fields only (analysis.*, recommendation.*).
Replace polling with Ktor SSE when Traverse ships #525–#527.
Follow docs/design-language.md.