feat: add local-first gateway routing

This commit is contained in:
Hermes Agent
2026-07-24 11:26:52 +00:00
parent 25a83e0b6f
commit e5cc27ebc7
12 changed files with 720 additions and 402 deletions
+6 -4
View File
@@ -26,10 +26,12 @@ Complete the Android/client contract pivot before implementing backend behavior.
## Beta path — upstream-connected MVP
- [ ] **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.
- [ ] **B2 — Direct gateway connection, authentication, and local-first routing UX**
- One logical Hermes gateway profile with optional local URL + required remote fallback URL.
- Validate URLs, store bearer/no-auth configuration securely, probe `GET /health`, and use optional `GET /v1/models` auth check.
- Automatically prefer the local URL when reachable; immediately fail over to remote when it is not. Re-evaluate on foreground, explicit reconnect, connectivity change, and request failure; never switch a stream mid-flight.
- Show active Local/Remote route and clear offline/unauthorized/retry state without logging tokens or silently sending credentials to untrusted LAN hosts.
- Verification: deterministic route-selection/retry tests, connection-state tests, and manual unhappy-path walkthrough.
- [ ] **B3 — Direct gateway session contract and durable chat state**
- Fetch/list/search/select/create sessions through repository contracts after upstream session routes are verified.