From cd479caeecc4028caab9506082bda110d0e4398c Mon Sep 17 00:00:00 2001 From: root Date: Thu, 23 Jul 2026 18:02:56 +0000 Subject: [PATCH] Fix: update compression model to syslog-auto across contract and audit (Rule 7) - Updated hermes-config-template.prose.md: all references to strix-moe for compression changed to syslog-auto to match operational decision on 2026-07-23 (prevents sustained Strix Halo thermal load via weighted pool). - Updated audit-hermes-config.py Rule 7 to expect syslog-auto instead of strix-moe, ensuring Abiba's next run validates against the correct baseline. --- audit-hermes-config.py | 8 ++++---- hermes-config-template.prose.md | 13 +++++++++---- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/audit-hermes-config.py b/audit-hermes-config.py index 77cf857..773fff2 100644 --- a/audit-hermes-config.py +++ b/audit-hermes-config.py @@ -77,15 +77,15 @@ def audit(path): # --- Rule 7: Auxiliary Model Consistency --- check( - comp.get("model") == "strix-moe", + comp.get("model") == "syslog-auto", "Rule 7", - f"compression.model must be strix-moe (got {comp.get('model')!r}) — only valid compression model", + f"compression.model must be syslog-auto (got {comp.get('model')!r}) — auto-routing to prevent Strix Halo overload", ) aux_comp = aux.get("compression", {}) check( - aux_comp.get("model") == "strix-moe", + aux_comp.get("model") == "syslog-auto", "Rule 7", - f"auxiliary.compression.model must be strix-moe (got {aux_comp.get('model')!r}) — must match compression.model", + f"auxiliary.compression.model must be syslog-auto (got {aux_comp.get('model')!r}) — must match compression.model", ) # --- Rule 8: GPU Workload Distribution --- diff --git a/hermes-config-template.prose.md b/hermes-config-template.prose.md index 59eb943..d74abcc 100644 --- a/hermes-config-template.prose.md +++ b/hermes-config-template.prose.md @@ -130,7 +130,7 @@ mcp_servers: # ─── Compression ─── compression: enabled: true - model: strix-moe # ⚠️ Must match auxiliary.compression.model. Stable alias (gpu-fleet § Stable Role-Based Aliases). NOT ornith-1.0-35b (LiteLLM does not serve that name). + model: syslog-auto # ⚠️ Must match auxiliary.compression.model. Stable alias (gpu-fleet § Stable Role-Based Aliases). NOT ornith-1.0-35b (LiteLLM does not serve that name). provider: harness max_context_window: 131072 # MUST match actual GPU capacity. All 3 GPUs are 128K (Jul 17). threshold: 0.65 # Fires at ~170K for 262K window, ~85K for 128K @@ -166,7 +166,7 @@ auxiliary: timeout: 30 compression: provider: harness - model: strix-moe # MUST match compression.model above. Stable alias for Strix Halo. + model: syslog-auto # MUST match compression.model above. Stable alias for Strix Halo (weighted pool). base_url: http://192.168.68.116/v1 # Rule 5: /v1 NOT /litellm/v1 api_key_env: LITELLM_API_KEY timeout: 300 # gpu-fleet: 300s for large-history summarization (was 60) @@ -252,6 +252,11 @@ The following MUST be identical across ALL profiles: - Compression uses `strix-moe` (stable alias for Strix Halo — 64GB, 128K ctx, compression-optimized) - **`strix-moe` is the only valid compression model name** — LiteLLM does NOT serve `ornith-1.0-35b` (it serves `strix-moe`, `qwen3.6-35B-udq4`, `gpu-dense`, `gpu-light`, `syslog-auto`, `gemma-4-12b`, `qwen3.6-27B-code`). Old configs with `ornith-1.0-35b` cause 403/model-not-found on compression calls. +- **OPERATIONAL DECISION (2026-07-23): Use `syslog-auto` for compression across all agents.** + The `syslog-auto` alias routes to the Strix Halo, but uses the weighted pool instead of pinning + to `strix-moe` directly. This prevents sustained Strix Halo thermal load because the pool can + fall back to other GPUs if Strix gets hot. Both `compression.model` and `auxiliary.compression.model` + MUST be `syslog-auto`. - All auxiliary services MUST use identical routing: - `base_url: http://192.168.68.116/v1` (Rule 5: `/v1`, NOT `/litellm/v1`) - `api_key_env: LITELLM_API_KEY` @@ -265,11 +270,11 @@ The following MUST be identical across ALL profiles: ### Rule 8: GPU Workload Distribution (UPDATED 2026-07-16) - **RTX 3090 (24GB, 128K ctx, qwen3.6-27B-code)**: Heavy reasoning, code gen, long conversations - **RTX 5070 (12GB, 128K ctx, gemma-4-12b)**: Vision, web search, quick tasks, web_extract (IQ4_NL+MTP, ~65% VRAM at 128K) -- **Strix Halo (64GB, 128K ctx, strix-moe)**: Context compression, summarization, long docs +- **Strix Halo (64GB, 128K ctx, syslog-auto)**: Context compression, summarization, long docs - Agent profiles MUST route auxiliary tasks to the correct GPU: - `auxiliary.vision.model: gemma-4-12b` (RTX 5070) - `auxiliary.web_extract.model: gemma-4-12b` (RTX 5070) - - `auxiliary.compression.model: strix-moe` (Strix Halo) + - `auxiliary.compression.model: syslog-auto` (Strix Halo) - Default model (`model.default`) and custom_provider remain `syslog-auto` for auto-routing - For 128K context window: `threshold: 0.65` (fires at ~85K tokens) - Do NOT use `threshold: 0.25` — this fires at 65K, causing premature context loss