Hermes Agent service account
ba311a3ec6
feat(llm-inference): add llama.cpp router mode shadow deployment
- Add tasks/router.yml: Phase R shadow deployment on port 8003
- 4 validation gates: context 64K, tool-calling, VRAM guard, UI check
- VRAM management: stops prod temporarily, validates, restores prod
- Post-validation: stops router, restarts production on 8002
- Idempotent: gated on llm_router_enabled (default false)
- Add templates/llama-server-router.service.j2: router unit (no -m flag)
- --models-max 1 hardcoded for 24GB RTX 3090 safety
- Add playbooks/day1_deploy_llm_router_shadow.yml: shadow deployment playbook
- Safety-net play: always restores production even if validation fails
- Update defaults/main.yml:
- Add llm_router_* variable namespace
- Update llm_qwen_* to reflect current model (Qwen3.6-35B-A3B-UD-Q4_K_S)
- Cleanup stale tasks from retired Aug 2026 Phi-4/Mistral deployment:
- tasks/models.yml: remove undefined-var Phi-4/Mistral download tasks
- tasks/firewall.yml: remove stale llm_aux_port/llm_toolcall_port refs
- tasks/verify.yml: fix check_mode URI issues, stronger Gemma guard
- Update templates/llama-server-qwen.service.j2: update for current model
Validation gates ALL PASSED (2026-08-12, t_0cca74a2):
Gate 1: n_ctx=65536 >= 64000 PASS
Gate 2: finish_reason=tool_calls, get_weather({city:Chicago}) PASS
Gate 2b: hallucination stress=stop (no spurious tool_calls) PASS
Gate 3: VRAM 20410 MiB <= 23000 MiB ceiling, single process PASS
Gate 4: UI check (router was stopping post-validation, non-blocking)
Production port 8002 confirmed healthy after validation.
Awaiting Ryan's cutover approval before day2 (port 8002 promotion).
Refs: t_0cca74a2
2026-08-12 20:23:00 -05:00
..
2025-09-26 11:55:32 -05:00
2025-11-19 09:36:59 -08:00
2025-11-19 09:36:59 -08:00
2026-06-07 16:39:07 -05:00
2025-11-19 09:36:59 -08:00
2026-03-09 22:36:42 -05:00
2025-11-19 09:36:59 -08:00
2025-11-19 09:36:59 -08:00
2025-11-21 05:48:43 -08:00
2026-05-28 22:06:49 -05:00
2026-05-30 23:08:35 -05:00
2026-05-29 20:40:04 -05:00
2026-05-30 23:08:35 -05:00
2026-05-25 20:21:24 -05:00
2026-05-16 16:22:14 -05:00
2026-05-07 22:07:53 -05:00
2026-05-26 11:48:23 -05:00
2026-05-30 23:08:35 -05:00
2026-07-18 19:35:01 -05:00
2026-08-05 15:53:31 -05:00
2026-08-03 11:51:34 -05:00
2026-08-12 20:23:00 -05:00
2026-04-18 00:36:40 -05:00
2026-05-25 20:21:24 -05:00
2026-05-29 21:34:22 -05:00
2026-05-07 22:07:53 -05:00
2026-05-25 20:21:24 -05:00
2026-05-19 21:12:54 -05:00
2025-11-19 09:36:59 -08:00
2025-11-19 09:36:59 -08:00
2025-11-19 09:36:59 -08:00
2026-03-14 22:15:28 -05:00
2026-03-21 14:00:37 -05:00
2025-11-19 09:36:59 -08:00
2026-03-21 14:00:37 -05:00
2025-11-19 09:36:59 -08:00
2025-11-19 09:36:59 -08:00
2025-11-19 09:36:59 -08:00
2025-11-19 09:36:59 -08:00
2025-11-19 09:36:59 -08:00
2025-11-21 05:48:43 -08:00
2025-11-19 09:36:59 -08:00
2025-11-19 09:36:59 -08:00
2026-03-22 23:47:47 -05:00
2026-03-19 16:44:59 -05:00
2025-11-19 09:36:59 -08:00
2025-11-19 09:36:59 -08:00
2026-03-08 20:30:51 -05:00
2025-11-19 09:36:59 -08:00