Files
hermes-mobile/docs/ROADMAP.md
T
2026-07-24 12:39:51 +00:00

3.8 KiB

Hermes Mobile Beta Roadmap

Current Milestone: Native Android Direct Gateway Contract

Status: in progress. Android foundation work is complete, and the beta path now targets a remote upstream Hermes Agent gateway/API server directly. The legacy apps/companion server is compatibility-only and not required for future Android releases.

Done:

  • Native Kotlin/Compose Android shell replaces the web-first mobile path for the beta surface.
  • Android connection flow stores one logical gateway profile with optional Local HTTPS, required Remote HTTPS, Android-keystore-protected bearer/no-auth configuration, and active Local/Remote diagnostics.
  • Local-first route selection uses bounded GET /health probes, authenticated GET /v1/models compatibility checks, deterministic Remote fallback, and foreground/connectivity/request-failure re-evaluation without switching in-flight leases.
  • Android no longer calls undocumented legacy companion /api/* routes from the direct-gateway client path.
  • Capability-gated session streaming binds each OkHttp call to an immutable route/session lease, parses SSE into authoritative final responses, ignores cross-session events, and reports transport failure only against the failed lease.
  • Chat UI supports conversation list/thread navigation, native composer, busy state, selectable replies, error bubbles, and new-chat reset.
  • Direct gateway compatibility contract is documented in docs/DIRECT_GATEWAY_ARCHITECTURE.md.
  • Legacy companion chat, terminal, and file utilities remain in the repo during migration but are not the target architecture.
  • 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:

  • Complete B3 after upstream documents a session-search endpoint/query schema and a live gateway can verify advertised session CRUD behavior; the independently verifiable durable-state foundation landed on 2026-07-24, but the current upstream {method, path} capability envelope has not been exercised live.
  • Exercise the connection/settings unhappy paths on a real device or emulator; this sandbox cannot start ADB because local control sockets are prohibited.
  • Exercise a real device or emulator against a running upstream Hermes gateway/API server.
  • Verify direct gateway behavior end to end beyond B2: chat request/response, session continuity expectations, streamed/final output handling, and failure recovery.
  • Verify or revise provisional session, streaming, tool-event, artifact, and cancellation route assumptions against official upstream docs.
  • 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.
  • Direct gateway transport and auth are exercised against the upstream Hermes gateway/API server.
  • Chat/session/streaming behavior is exercised with Hermes, including success, unauthorized, timeout, server error, malformed response, and stream interruption 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:testDebugUnitTest :app:assembleDebug from apps/mobile/android and relevant source lint.
  • Release notes clearly list remaining known beta limitations.