v0.7.0-dev — full service health audit and remaining fixes #87

Closed
opened 2026-03-24 17:24:46 +00:00 by mik-tf · 2 comments
Owner

Context

v0.7.0-dev deployed to herodev.gent04.grid.tf on 2026-03-24. Voice AI pipeline (#78) Phase 1-2 complete. This issue tracks ALL remaining issues found during thorough testing.


1. AI Assistant Voice Issues

Working

  • Read aloud toggle (auto-reads AI responses via Groq Orpheus TTS)
  • Per-message speaker button
  • 6 real Groq Orpheus voices (Diana, Hannah, Autumn, Austin, Daniel, Troy)
  • TTS text truncation + markdown stripping for long responses
  • SSE keepalive 5s to prevent gateway timeouts

Needs fix

  • Stop button not visibleis_reading signal updates inside spawn but UI doesn't re-render fast enough. Stop appears briefly then disappears. Needs to stay visible for the full duration of audio playback.
  • Conversation mode (Convo) — button clicks but recording doesn't start. WebSocket connects but ScriptProcessor mic streaming not activating. May need user gesture chain fix.
  • Wake word — same WebSocket/mic issue as Convo mode
  • Auto-scroll still imperfect — flex layout deployed but messages may not always pin to bottom during streaming
  • Voice settings UI — need Settings tab with: TTS speed control, voice selection per provider, STT provider selector (Phase 4 of #78)
  • Long response TTS — truncated to 3000 chars. Should chunk into segments and play sequentially instead.

2. hero_proc Service Lifecycle Issues

Multiple services fail to start due to hero_proc_sdk lifecycle mismatch. The start --service-name pattern only works for services built with the latest hero_proc_sdk. Older or non-standard services fall back to SDK mode with varying results.

Services that crash on start

  • hero_bizhero_biz start exits with status 2. Crash-loops every 500ms. Port 8881 never opens.
  • hero_foundry_serverhero_foundry_server start exits with status 2. Not running.
  • hero_indexer_serverhero_indexer_server start exits with status 2. Falls back but indexer RPC works.

Services with binary issues

  • hero_foundry_ui — TOML references hero_foundry_admin but binary was renamed/removed. Causes 302 redirect loop. Triple dock bar rendering in WASM.

Services running via SDK fallback (work but not self-registered)

  • hero_agent_server — non-standard exec, runs fine
  • hero_aibroker_server/ui — non-standard exec, runs fine
  • hero_browser_mcp — --start flag, runs fine
  • hero_collab_server/ui — --start flag, runs but RPC method workspace.list not found
  • hero_os_server/ui — non-standard exec, runs fine
  • hero_embedder_server/ui — no start support, runs as foreground
  • hero_redis_server/ui — no start support, runs as foreground

3. Broken Service UIs

  • Foundry Admin — 302 redirect on all pages. Binary hero_foundry_admin missing (was dropped from build). TOML needs update to hero_foundry_ui. Triple dock rendering bug.
  • Collab — 'Cannot connect' + 'Method not found: workspace.list'. Server runs but RPC schema mismatch — likely upstream merge changed the workspace API.
  • Whiteboard — 'Could not connect to server'. hero_whiteboard_server socket not reachable.
  • Embedder UI — Functional but missing Bootstrap CSS. Raw unstyled HTML. Static file path or base_path issue.
  • hero_biz — Not starting at all (crash loop). Port 8881 never opens.

4. MCP / Python Code Execution (#18)

All infrastructure present inside container:

  • uv 0.11.0 installed
  • python3 3.11.2 available
  • mcp_hero binary at /root/hero/bin/mcp_hero
  • mcp.json configured with 6 services
  • generate_code and execute_code skills registered (0 calls)

Issue: SSE stream drops with 'TypeError: network error' on long-running MCP tool calls. Keepalive fix (5s) deployed — needs re-testing. If gateway still kills the connection, may need the TFGrid Caddy config updated.


5. Phase 3 — Kokoro + Local Pipeline (#78)

Not started yet. Planned:

  • Replace voice_activity_detector with earshot 1.0.0 (pure Rust VAD, no ort conflict)
  • Add kokoro-micro to hero_voice for local TTS (free, zero-config, private)
  • Make Kokoro default TTS provider
  • Enable local Whisper STT (HERO_VOICE_STT_LOCAL=true)
  • Settings UI: Voice & Audio tab, provider selectors, speed control

Version info

  • Image: forge.ourworld.tf/lhumina_code/hero_zero:0.7.0-dev
  • Build: 22/22 services compile
  • Smoke: 49/55 pass (5 Foundry failures — all due to missing binary/redirect)
  • Repos: hero_archipelagos, hero_agent, hero_voice, hero_services, hero_compute
## Context v0.7.0-dev deployed to herodev.gent04.grid.tf on 2026-03-24. Voice AI pipeline (#78) Phase 1-2 complete. This issue tracks ALL remaining issues found during thorough testing. --- ## 1. AI Assistant Voice Issues ### Working - [x] Read aloud toggle (auto-reads AI responses via Groq Orpheus TTS) - [x] Per-message speaker button - [x] 6 real Groq Orpheus voices (Diana, Hannah, Autumn, Austin, Daniel, Troy) - [x] TTS text truncation + markdown stripping for long responses - [x] SSE keepalive 5s to prevent gateway timeouts ### Needs fix - [ ] **Stop button not visible** — `is_reading` signal updates inside `spawn` but UI doesn't re-render fast enough. Stop appears briefly then disappears. Needs to stay visible for the full duration of audio playback. - [ ] **Conversation mode (Convo)** — button clicks but recording doesn't start. WebSocket connects but ScriptProcessor mic streaming not activating. May need user gesture chain fix. - [ ] **Wake word** — same WebSocket/mic issue as Convo mode - [ ] **Auto-scroll still imperfect** — flex layout deployed but messages may not always pin to bottom during streaming - [ ] **Voice settings UI** — need Settings tab with: TTS speed control, voice selection per provider, STT provider selector (Phase 4 of #78) - [ ] **Long response TTS** — truncated to 3000 chars. Should chunk into segments and play sequentially instead. --- ## 2. hero_proc Service Lifecycle Issues Multiple services fail to start due to `hero_proc_sdk` lifecycle mismatch. The `start --service-name` pattern only works for services built with the latest hero_proc_sdk. Older or non-standard services fall back to SDK mode with varying results. ### Services that crash on `start` - [ ] **hero_biz** — `hero_biz start` exits with status 2. Crash-loops every 500ms. Port 8881 never opens. - [ ] **hero_foundry_server** — `hero_foundry_server start` exits with status 2. Not running. - [ ] **hero_indexer_server** — `hero_indexer_server start` exits with status 2. Falls back but indexer RPC works. ### Services with binary issues - [ ] **hero_foundry_ui** — TOML references `hero_foundry_admin` but binary was renamed/removed. Causes 302 redirect loop. Triple dock bar rendering in WASM. ### Services running via SDK fallback (work but not self-registered) - hero_agent_server — non-standard exec, runs fine - hero_aibroker_server/ui — non-standard exec, runs fine - hero_browser_mcp — `--start` flag, runs fine - hero_collab_server/ui — `--start` flag, runs but RPC method `workspace.list` not found - hero_os_server/ui — non-standard exec, runs fine - hero_embedder_server/ui — no `start` support, runs as foreground - hero_redis_server/ui — no `start` support, runs as foreground --- ## 3. Broken Service UIs - [ ] **Foundry Admin** — 302 redirect on all pages. Binary `hero_foundry_admin` missing (was dropped from build). TOML needs update to `hero_foundry_ui`. Triple dock rendering bug. - [ ] **Collab** — 'Cannot connect' + 'Method not found: workspace.list'. Server runs but RPC schema mismatch — likely upstream merge changed the workspace API. - [ ] **Whiteboard** — 'Could not connect to server'. hero_whiteboard_server socket not reachable. - [ ] **Embedder UI** — Functional but **missing Bootstrap CSS**. Raw unstyled HTML. Static file path or base_path issue. - [ ] **hero_biz** — Not starting at all (crash loop). Port 8881 never opens. --- ## 4. MCP / Python Code Execution (#18) All infrastructure present inside container: - `uv 0.11.0` installed - `python3 3.11.2` available - `mcp_hero` binary at `/root/hero/bin/mcp_hero` - `mcp.json` configured with 6 services - `generate_code` and `execute_code` skills registered (0 calls) **Issue:** SSE stream drops with 'TypeError: network error' on long-running MCP tool calls. Keepalive fix (5s) deployed — needs re-testing. If gateway still kills the connection, may need the TFGrid Caddy config updated. --- ## 5. Phase 3 — Kokoro + Local Pipeline (#78) Not started yet. Planned: - [ ] Replace `voice_activity_detector` with `earshot 1.0.0` (pure Rust VAD, no ort conflict) - [ ] Add `kokoro-micro` to hero_voice for local TTS (free, zero-config, private) - [ ] Make Kokoro default TTS provider - [ ] Enable local Whisper STT (`HERO_VOICE_STT_LOCAL=true`) - [ ] Settings UI: Voice & Audio tab, provider selectors, speed control --- ## Version info - Image: `forge.ourworld.tf/lhumina_code/hero_zero:0.7.0-dev` - Build: 22/22 services compile - Smoke: 49/55 pass (5 Foundry failures — all due to missing binary/redirect) - Repos: hero_archipelagos, hero_agent, hero_voice, hero_services, hero_compute
Author
Owner

v0.7.1-dev — all service fixes deployed

Fixed 6 service TOMLs:

  • hero_foundry: removed invalid serve, fixed binary name
  • hero_biz: removed invalid serve --port --path
  • hero_collab: cleaned --start args
  • hero_whiteboard: cleaned serve args
  • hero_embedder_ui: base_path env fallback for CSS
  • hero_indexer: removed serve from both server and UI

Also fixed:

  • hero_proc_ui: base_path env fallback
  • hero_foundry_ui: status-dot + connection-status.js in all templates
  • Smoke tests updated for foundry proxy routing and biz placeholder

Tests: 112 passed, 0 failed, 2 skipped

Signed-off-by: mik-tf

## v0.7.1-dev — all service fixes deployed Fixed 6 service TOMLs: - hero_foundry: removed invalid `serve`, fixed binary name - hero_biz: removed invalid `serve --port --path` - hero_collab: cleaned `--start` args - hero_whiteboard: cleaned `serve` args - hero_embedder_ui: base_path env fallback for CSS - hero_indexer: removed `serve` from both server and UI Also fixed: - hero_proc_ui: base_path env fallback - hero_foundry_ui: status-dot + connection-status.js in all templates - Smoke tests updated for foundry proxy routing and biz placeholder Tests: 112 passed, 0 failed, 2 skipped Signed-off-by: mik-tf
Author
Owner

Complete in v0.7.1-dev: fixed hero_foundry, hero_biz, hero_collab, hero_whiteboard, hero_embedder, hero_indexer TOMLs. CSS base_path fallback for embedder+proc UIs. Foundry templates: status-dot + connection-status.js. Builder upgraded to trixie (glibc 2.41). 112 smoke, 0 failures.

Signed-off-by: mik-tf

Complete in v0.7.1-dev: fixed hero_foundry, hero_biz, hero_collab, hero_whiteboard, hero_embedder, hero_indexer TOMLs. CSS base_path fallback for embedder+proc UIs. Foundry templates: status-dot + connection-status.js. Builder upgraded to trixie (glibc 2.41). 112 smoke, 0 failures. Signed-off-by: mik-tf
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/home#87
No description provided.