Files
personal-agent-os/memory-systems/agent-os/04_projects/ashbot/status.md
T
2026-09-15 12:00:07 -07:00

5.5 KiB
Raw Blame History

AshBot — Status

Personal assistant agent for Ashley (Phoenix Salon + Spa — Veripath's active client), delivered over iMessage via Photon. Hermes profile ashbot. Last worked: 2026-09-15.

Identity

Profile ashbot — ~/AppData/Local/hermes/profiles/ashbot
Purpose Ashley's personal assistant (scheduling, business admin, marketplace scouting)
Channel Photon → iMessage. Own Photon project, separate from the coach line
Reachable by Ashley (home channel + allowed user); Tony tests from his own line
Sidecar Photon sidecar on 127.0.0.1:8790
Gateway PID 10384, platform photon: connected, Hermes 0.21.2

Model stack (changed 2026-09-12)

Provider omniroute → http://127.0.0.1:20128/v1
Primary auto/best-free (OmniRoute free-tier auto-combo — live roulette)
Fallback openrouter/deepseek/deepseek-v4.1-flash → freetoken-gemma26b/Gemma-4-26B-A4B-NVFP4 (local, free)

Before 2026-09-12 this profile had no failover at all — hermes -p ashbot fallback list returned "No fallback providers configured"; the model.fallback: key in her config is not the failover chain. See 01_Wiki/omniroute-routing-failover for the failure mode.

Incident log

2026-09-12 — turn died mid Marketplace scan (fixed)

  • 10:07–10:17 PT. Ashley/Tony asked for a live Facebook Marketplace flip scan.
  • Browser work (browser_exec) ran; the connection hiccuped mid-scan; then the model API collapsed — 9 empty streams in a row (http 200, bytes 0) at 10:14:53–10:15:11.
  • Cause: the auto/best-free combo's OpenRouter primary dropped out, and the chain fell into broken targets — opencode/minimax-m3-free (401, model unsupported) and auggie/claude-sonnet-4.6 (200 with an empty body, ~1.0 s). A 200 never trips OmniRoute's breaker, so the combo never reached a working target and Hermes killed the turn.
  • User-visible: 276 s of silence → a 141-char stub → an 18,045-char dump truncated to 8,000 chars mid-sentence by the Photon adapter. Session 20260912_100658_6c1e9828; last message persisted 10:12:49 — the turn never completed.
  • Fixed: fallback_providers added to her config.yaml (backup: config.yaml.bak.20260912_133720) and blockedProviders = ["auggie","opencode"] set in OmniRoute (~/.omniroute/storage.sqlite). Catalog went 476 → 453 models.

2026-09-15 — fleet-wide gateway outage after Hermes 0.21.2 auto-update (fixed)

  • 07:27–07:31 PT. The 0.21.2 auto-update requested graceful restarts of every profile's gateway (ashbot 07:31:27, leonard 07:31:35, jimmy 07:31:45); the post-restart relaunch never fired, so all gateways stayed down. The machine had rebooted ~07:27 — login items started gateways, the update then stopped them, nothing restarted them.
  • Ashbot additionally lost its whole model provider: the OmniRoute server itself was dead (no process, nothing on :20128 — it has no service/login item and does not survive a reboot). Restarted via omniroute serve --no-open --daemon (NOT node dist/server-ws.mjs, which serves only Dashboard/WS and never the 20128 API).
  • Root-caused the combo's per-turn lag: theoldllm targets 403'd on every request and OpenRouter connection was credits_exhausted, so auto/best-free burned ~6-20 s/turn on dead hops before landing on the local freetoken Gemma engine (which answers every turn today). Combo verdict logs 499 "all targets exhausted" even when the last successful step's body was delivered.
  • Fixed: blockedProviders += theoldllm (catalog 453 → 427 models); fallback_providers chain verified still registered (hermes -p ashbot fallback list). Turn latency back to ~10 s. Live check-ins continue to route omniroute → local Gemma-4-26B.

Active automation

  • Cron job e4df5902e96f — "Tony daily check-in", 0 9 * * *, provider pinned (--provider omniroute). Created and test-run 2026-09-12; delivery verified.
  • Contact/scheduling jobs discussed with Ashley — the 9/12 test confirmed a scheduled check-in actually fires and delivers.

Open items

  • iMessage outbound cap: 8,000 chars. The Photon adapter truncates long replies mid-sentence (truncating outbound from 18045 to 8000 chars). Her scan reports routinely exceed it — cap her output or chunk it.
  • Primary is still the free roulette. A failure now costs the retry window (~1 min typical, up to ~4.5 min) before the fallback takes over, instead of killing the turn.
  • OpenRouter connection is credits_exhausted (2026-09-15). Every auto/* combo hop that tries OpenRouter dies instantly and the chain leans on the local Gemma engine; this is also why the coach profile 402s. Decision needed: top up, or accept local-first. Combo still tries ~3-4 fast-failing no-auth targets per turn (duckduckgo-web 418, chipotle 502, mimocode 499) before the local hop — sub-second each, cosmetic.
  • Browser mid-scan hiccup — browser_exec dropped during the marketplace scan; the retry path is untested since the model fix.

Files

Path Change
profiles/ashbot/config.yaml + fallback_providers (2026-09-12); backup alongside
~/.omniroute/storage.sqlite settings.blockedProviders = ["auggie","opencode","theoldllm"] (2026-09-15)
Hermes skill omniroute-routing-failover (jimmy profile)

See also: 04_projects/phoenix-salon/status · 04_projects/veripath/status · 01_Wiki/omniroute-routing-failover