feat: pivot mobile client to direct gateway

This commit is contained in:
Hermes Agent
2026-07-24 10:49:48 +00:00
parent 983fb31801
commit 25a83e0b6f
14 changed files with 793 additions and 82 deletions
+17 -10
View File
@@ -20,26 +20,26 @@
---
## Now — finish the foundation already in progress
## Now — direct gateway pivot
_Foundation milestones complete. Continue with B1._
Complete the Android/client contract pivot before implementing backend behavior. The next release path targets a remote upstream Hermes Agent gateway/API server directly; `apps/companion` is legacy compatibility only.
## Beta path — upstream-connected MVP
- [ ] **B2 — Connection and authentication UX**
- Server connection screen with validation, health, auth/session configuration, offline/unauthorized/retry states.
- [ ] **B2 — Direct gateway connection and authentication UX**
- Server connection screen with validation, `GET /health`, bearer/no-auth configuration, optional `GET /v1/models` auth check, offline/unauthorized/retry states.
- Store sensitive values using Android-appropriate secure storage; never log secrets.
- Verification: connection-state tests and manual unhappy-path walkthrough.
- [ ] **B3 — Session list and durable chat state**
- Fetch/list/search/select/create sessions through repository contracts.
- [ ] **B3 — Direct gateway session contract and durable chat state**
- Fetch/list/search/select/create sessions through repository contracts after upstream session routes are verified.
- Restore selected session and protect against duplicate sends / lost drafts.
- Verification: fake-repository UI tests; companion/integration checks where available.
- Verification: fake-repository UI tests; direct gateway compatibility checks where available.
- [ ] **B4 — Streaming, reconnects, and resilient long-running work**
- Stream event reducer: token deltas, tool lifecycle, final/error/cancel, reconnect/backoff.
- [ ] **B4 — Direct gateway streaming, reconnects, and resilient long-running work**
- Stream event reducer: final response/token deltas first; tool lifecycle, session events, artifacts, cancel, and reconnect/backoff only where upstream capability is verified.
- Preserve partial output and make recovery obvious and safe.
- Verification: deterministic fake stream tests and real upstream-compatible exercise.
- Verification: deterministic fake stream tests and real direct gateway exercise.
- [ ] **B5 — Tool, artifact, and output experience**
- Compact tool cards with lifecycle/status, expandable output, copy/share/save affordances.
@@ -66,6 +66,7 @@ _Foundation milestones complete. Continue with B1._
- [ ] Notifications for task completion.
- [ ] Mature tablet/two-pane session + optional terminal/log pane.
- [ ] Offline cache/search and diagnostic export with privacy controls.
- [ ] Remove legacy companion Android routes and deprecate `apps/companion` install/runtime docs after direct gateway chat/session/streaming is verified.
---
@@ -99,6 +100,12 @@ _Move finished items here with date, commit, and verification. Keep this section
- Kept the companion path as an optional adapter capability without changing upstream Hermes semantics.
- Verification: parent preflight immediately before B1 completion passed: script PASS; Android `:app:assembleDebug` BUILD SUCCESSFUL, 35 tasks total and 6 executed. Parent also verified `git diff --check` passed.
- [x] **B2a — Direct gateway planning and compatibility contract** — 2026-07-24, commit `docs: pivot mobile contract to direct gateway`.
- Added `docs/DIRECT_GATEWAY_ARCHITECTURE.md` with documented upstream endpoints separated from unverified assumptions.
- Reprioritized the beta path around direct gateway auth, sessions, streaming, and later companion removal.
- Updated Android transport/domain/fake capability contracts and connection copy so new code no longer assumes a companion server.
- Verification: `git diff --check` passed; Android `:app:testDebugUnitTest :app:assembleDebug` passed from `apps/mobile/android`.
## Work-loop checklist
Before coding: