# Hermes Mobile Beta Roadmap ## Current Milestone: Native Android Beta Chat and Connection UX Status: in progress, close to beta validation. F0 source landing and F1 design-system extraction are complete; Android debug builds now pass in the shared Gradle cache environment. Done: - Native Kotlin/Compose Android shell replaces the web-first mobile path for the beta surface. - Companion settings flow stores companion URL and access key locally, validates bearer auth, and surfaces health errors in-app. - Chat UI supports conversation list/thread navigation, native composer, busy state, selectable replies, error bubbles, and new-chat reset. - Companion `/api/chat` invokes Hermes through the CLI with `hermes chat -Q --source tool -q `. - Companion chat responses sanitize terminal banners/help/control output, truncate large replies for mobile, report CLI availability, and return structured failure responses. - Workspace utilities remain native: command runner, health view, file browsing, read, and write. - Local build artifacts, Android transient build output, `.gradle-user/`, and `.dev/` are ignored. - Companion and workspace TypeScript typecheck, build, and lint pass as of 2026-07-24. Remaining for beta: - Android debug build validation passed on 2026-07-24: `GRADLE_USER_HOME=/root/hermes-mobile/.gradle-user ./gradlew :app:assembleDebug` from `apps/mobile/android`. - Exercise a real paired device against a running companion and authenticated Hermes CLI. - Exercise upstream-compatible transport/auth/session/streaming behavior end to end: bearer auth, health, chat request/response, session continuity expectations, streamed/final output handling, and failure recovery. - Add or run focused Android UI validation for chat/settings flows on small and large screens. - Confirm adaptive accessibility: font scaling, TalkBack labels, contrast, keyboard/IME behavior, and reduced-motion tolerance. - Document beta install/run steps after the native build is verified. ## Beta Release Criteria - Native Kotlin/Compose Android app is the shipped beta client. - No WebView, Capacitor runtime dependency, fake backend, embedded secrets, or new external infrastructure is introduced for beta. - Companion transport and auth are upstream-compatible and exercised against the real Hermes CLI. - Chat/session/streaming behavior is exercised with Hermes, including success, CLI unavailable, timeout, non-zero exit, and malformed response cases. - Settings connection flow is reliable: save, validate, health, Hermes test, offline/unauthorized states, and recovery are clear. - Adaptive accessibility passes on target Android devices or emulators. - Required checks pass: `./gradlew :app:assembleDebug` from `apps/mobile/android`, companion typecheck/build, and relevant lint. - Release notes clearly list remaining known beta limitations.