From fd670e0fbbe4744392939345ef7f9a693891953d Mon Sep 17 00:00:00 2001 From: "Christian M. Todie" Date: Sat, 18 Jul 2026 01:29:21 -0400 Subject: [PATCH 1/2] chore(harness-omp): pin advisor model role in both presets After the 2026-07-11..14 advisor 402 storm (advisor role resolved to a credit-dead paid provider; one failed call per primary turn, no circuit-breaker in omp), the advisor role is always pinned explicitly and in-family: ollama smol for the local preset, gateway GLM-5.2:low for gateway-slim. Preset test now strips the ':level' thinking suffix omp selectors legitimately carry. Claude-Session: https://claude.ai/code/session_016rDA5nEbELSsx6ojnyZdDG --- packages/harness-omp/config/config.gateway-slim.yml | 4 ++++ packages/harness-omp/config/config.local.yml | 4 ++++ packages/harness-omp/tests/preset.test.ts | 8 ++++++-- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/harness-omp/config/config.gateway-slim.yml b/packages/harness-omp/config/config.gateway-slim.yml index f0ec28f..83ab827 100644 --- a/packages/harness-omp/config/config.gateway-slim.yml +++ b/packages/harness-omp/config/config.gateway-slim.yml @@ -19,6 +19,10 @@ # --- role -> model mapping --------------------------------------------------- modelRoles: default: llm/zai/GLM-5.2 + # advisor pinned in-family: after the 2026-07 advisor 402 storm (advisor role + # resolved to a credit-dead paid provider, one failed call per primary turn, + # no circuit-breaker), the advisor role is always pinned explicitly. + advisor: llm/zai/GLM-5.2:low # --- skill discovery scoping (the ~16.5k lever; tools deliberately untouched) - skills: diff --git a/packages/harness-omp/config/config.local.yml b/packages/harness-omp/config/config.local.yml index af78e58..ee778aa 100644 --- a/packages/harness-omp/config/config.local.yml +++ b/packages/harness-omp/config/config.local.yml @@ -66,3 +66,7 @@ modelRoles: smol: ollama/qwen3.5-9b-mtp slow: ollama/qwen3.6-35b-mtp plan: ollama/qwen3.6-35b-mtp + # advisor pinned in-family: after the 2026-07 advisor 402 storm (advisor role + # resolved to a credit-dead paid provider, one failed call per primary turn, + # no circuit-breaker), the advisor role is always pinned explicitly. + advisor: ollama/qwen3.5-9b-mtp diff --git a/packages/harness-omp/tests/preset.test.ts b/packages/harness-omp/tests/preset.test.ts index 6231ca4..8c968d8 100644 --- a/packages/harness-omp/tests/preset.test.ts +++ b/packages/harness-omp/tests/preset.test.ts @@ -80,7 +80,9 @@ describe("config.local.yml", () => { for (const m of p.models ?? []) declared.add(`${prov}/${m.id}`); } for (const [role, id] of Object.entries(doc.modelRoles ?? {})) { - expect(declared.has(id), `${role}: ${id}`).toBeTrue(); + // selectors may carry a ':level' thinking suffix (e.g. 'llm/zai/GLM-5.2:low') + const bare = id.replace(/:(off|minimal|low|medium|high|xhigh|max)$/, ""); + expect(declared.has(bare), `${role}: ${id}`).toBeTrue(); } }); }); @@ -110,7 +112,9 @@ describe("config.gateway-slim.yml", () => { for (const m of p.models ?? []) declared.add(`${prov}/${m.id}`); } for (const [role, id] of Object.entries(doc.modelRoles ?? {})) { - expect(declared.has(id), `${role}: ${id}`).toBeTrue(); + // selectors may carry a ':level' thinking suffix (e.g. 'llm/zai/GLM-5.2:low') + const bare = id.replace(/:(off|minimal|low|medium|high|xhigh|max)$/, ""); + expect(declared.has(bare), `${role}: ${id}`).toBeTrue(); } }); }); From 5085b40a528420115e71b800ca4cd99d3734f19c Mon Sep 17 00:00:00 2001 From: "Christian M. Todie" Date: Sat, 18 Jul 2026 02:23:47 -0400 Subject: [PATCH 2/2] fix(harness-omp): sync includeSkills allowlists with packages/skills (estate-orient) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The estate-orient skill landed in packages/skills without the preset allowlists being updated — the sync test has been red on main since. Unblocks CI for this PR; not related to the advisor pin. Claude-Session: https://claude.ai/code/session_016rDA5nEbELSsx6ojnyZdDG --- packages/harness-omp/config/config.gateway-slim.yml | 2 +- packages/harness-omp/config/config.local.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/harness-omp/config/config.gateway-slim.yml b/packages/harness-omp/config/config.gateway-slim.yml index 83ab827..a64bfa9 100644 --- a/packages/harness-omp/config/config.gateway-slim.yml +++ b/packages/harness-omp/config/config.gateway-slim.yml @@ -26,7 +26,7 @@ modelRoles: # --- skill discovery scoping (the ~16.5k lever; tools deliberately untouched) - skills: - includeSkills: [local-model-triage] + includeSkills: [estate-orient, local-model-triage] enablePiUser: true # ~/.omp/agent/skills (omp-native user dir) enablePiProject: true # .omp/skills in-repo enableClaudeUser: false diff --git a/packages/harness-omp/config/config.local.yml b/packages/harness-omp/config/config.local.yml index ee778aa..3b17c3b 100644 --- a/packages/harness-omp/config/config.local.yml +++ b/packages/harness-omp/config/config.local.yml @@ -50,7 +50,7 @@ includeWorkspaceTree: false # shared set from packages/skills/. A bun test keeps this list in sync with # the packages/skills directory listing. skills: - includeSkills: [local-model-triage] + includeSkills: [estate-orient, local-model-triage] enablePiUser: true # ~/.omp/agent/skills (omp-native user dir) enablePiProject: true # .omp/skills in-repo enableClaudeUser: false