Skip to content

Commit 6eb5e26

Browse files
committed
fix(omp): split host providers personal vs work
mactraitorpro: xai/openrouter/opencode-go/codex only; drop cursor/vibeproxy. seqeratop: cursor/codex/vibeproxy only; drop xai fallbacks. Document host-block source of truth in OMP module notes.
1 parent cd8ae20 commit 6eb5e26

4 files changed

Lines changed: 26 additions & 22 deletions

File tree

hosts/mactraitorpro/default.nix

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,15 +88,19 @@
8888
codex.enable = true;
8989
omp = {
9090
enable = true;
91-
smolModel = "cursor/composer-2.5";
91+
# Personal laptop providers: xai-oauth, openrouter, opencode-go, openai-codex.
92+
# No Cursor SDK, no VibeProxy here — do not pin cursor/* or vibeproxy/*.
93+
smolModel = "xai-oauth/grok-composer-2.5-fast";
9294
modelRoles = {
93-
smol = "cursor/composer-2.5";
95+
smol = "xai-oauth/grok-composer-2.5-fast";
9496
default = "xai-oauth/grok-4.5";
97+
# Shared plan defaults to vibeproxy; override to a local provider.
98+
plan = "xai-oauth/grok-4.5:high";
9599
};
96100
modelProviderOrder = [
97101
"openai-codex"
98102
"xai-oauth"
99-
"cursor"
103+
"openrouter"
100104
"opencode-go"
101105
];
102106
retry.modelFallback = true;
@@ -105,7 +109,7 @@
105109
"opencode-go/glm-5.2"
106110
];
107111
plan = [
108-
"xai-oauth/grok-4.5:high"
112+
"openai-codex/gpt-5.6-sol:high"
109113
"opencode-go/glm-5.2"
110114
];
111115
slow = [

hosts/seqeratop/default.nix

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,8 @@
9898
codex.enable = true;
9999
omp = {
100100
enable = true;
101+
# Work laptop providers: cursor, openai-codex, vibeproxy (Claude/Anthropic).
102+
# No xai-oauth here — do not pin xai-oauth/* fallbacks.
101103
# Seqeratop has Cursor SDK wired through Pi, so use Cursor Composer
102104
# for smol and low-thinking Codex for the default role.
103105
smolModel = "cursor/composer-2.5";
@@ -109,12 +111,12 @@
109111
default = [
110112
"openai-codex/gpt-5.6-terra:low"
111113
"openai-codex/gpt-5.6-luna:low"
112-
"xai-oauth/grok-4.5:high"
114+
"cursor/composer-2.5"
113115
];
114116
slow = [
115117
"openai-codex/gpt-5.6-terra:high"
116118
"openai-codex/gpt-5.6-luna:high"
117-
"xai-oauth/grok-4.5:high"
119+
"vibeproxy/claude-opus-4-8:high"
118120
];
119121
};
120122
# Match the rest of this host's Seqera branding (stylix seqera-dark,

modules/agents/omp/AGENTS.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ OMP's runtime symlink to it. Its block reason should explain:
4444
Keep those alternatives in the hook's `GUIDANCE_LINES`; the reason is shown
4545
back to the model as the failed tool result.
4646

47-
## Per-host model roles
47+
## Per-host model roles and providers
4848

4949
`modules.agents.omp.smolModel` sets `PI_SMOL_MODEL` in the wrapper for a
5050
declarative per-host smol/fast model (also drives commit, which falls back to
@@ -53,11 +53,11 @@ into the rendered `config.yml`. Use it only for real host auth or quota
5353
differences; keep shared defaults in `config/omp/config.yml`. Precedence:
5454
`--smol` flag > `PI_SMOL_MODEL` > rendered `config.yml`.
5555

56-
Current split: MacTraitor-Pro uses `xai-oauth/grok-4.5` for default
57-
and `cursor/composer-2.5` for smol; Seqeratop renders `cursor/composer-2.5`
58-
for smol and `openai-codex/gpt-5.6-sol:low` for default. Keep future
59-
host-specific role changes in the host `modules.agents.omp` block, not shared
60-
`config.yml`.
56+
**Providers are host-specific.** Do not cross-wire prefixes across laptops.
57+
Source of truth: the `modules.agents.omp` block comments + pins in each
58+
`hosts/*/default.nix`. Validate new ids with `omp models <provider>` on that
59+
host before adding roles/fallbacks. Never invent hybrid ids like
60+
`cursor/grok-*`.
6161

6262
## Docs
6363

modules/agents/omp/message-queue.md

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -58,16 +58,14 @@ Claude Opus 4.8); kilo/Claude remains only a fallback. There is no separate
5858
### Per-host overrides
5959

6060
Shared role defaults live in `config/omp/config.yml`. Host auth/quota differences
61-
belong in `modules.agents.omp.modelRoles`, which is rendered into the Nix-managed
62-
config at activation. `modules.agents.omp.smolModel` also injects `PI_SMOL_MODEL`
63-
for the smol/commit fast path. Precedence: `--smol` flag > `PI_SMOL_MODEL` env >
64-
rendered `config.yml`.
65-
66-
- **mactraitorpro**: default `xai-oauth/grok-4.5`; smol `cursor/composer-2.5`.
67-
- **seqeratop**: smol `cursor/composer-2.5`; default `openai-codex/gpt-5.6-sol:low`.
68-
- **fallbacks**: shared `slow` falls back Sol → Terra → Luna; mactraitorpro
69-
default falls back to GLM only, while its `plan`/`slow` paths include
70-
`xai-oauth/grok-4.5:high` before GLM.
61+
belong in `modules.agents.omp.modelRoles` / `retry.fallbackChains` on each host.
62+
`modules.agents.omp.smolModel` also injects `PI_SMOL_MODEL` for the smol/commit
63+
fast path. Precedence: `--smol` flag > `PI_SMOL_MODEL` env > rendered `config.yml`.
64+
65+
Providers differ by machine — personal vs work do not share Cursor/xai/VibeProxy.
66+
Read the host `omp` block comments in `hosts/*/default.nix` before changing
67+
fallbacks. Shared `slow` is Sol → Terra → Luna; host chains may only use that
68+
host's real providers. Smoke-test every new id with `omp models` on-target.
7169

7270
**Gotcha — Codex catalog lies.** `omp models openai-codex` can list unsupported
7371
ids; smoke-test every new id before trusting it. Verified GPT-5.6 ids:

0 commit comments

Comments
 (0)