@lmctl-ai/lmctl 0.1.326 → 0.1.328

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,7 +5,11 @@
5
5
  For `.lmctl` teamfile compatibility mode:
6
6
 
7
7
  - `lmctl lint <teamfile>` warns when a requested model is not in the
8
- tested-model catalog for `claude`, `codex`, `gemini`, `qwen`, or `agy`.
8
+ tested-model catalog for `claude`, `gemini`, or `qwen`.
9
+ - `codex` and `agy` model validation queries each provider's own live
10
+ catalog command (`codex debug models`, `agy models`) instead of a
11
+ hand-copied list — see their `## Codex` / `## Antigravity` sections
12
+ below.
9
13
  - `opencode` model validation reads configured models from
10
14
  `~/.config/opencode/opencode.json` and WARNS (never injects) when a
11
15
  `model=` isn't declared there and isn't a config-free github-copilot
@@ -59,29 +63,42 @@ or retiring tested model ids.
59
63
 
60
64
  ## Codex
61
65
 
66
+ **2026-09-15: this section is no longer read by `lmctl lint`.** It used to
67
+ be a hand-copied list that went stale in BOTH directions within the same
68
+ week: it kept `gpt-5.4-mini` listed as valid after OpenAI withdrew it from
69
+ the subscription (194 codex members with no `model=` pinned were silently
70
+ falling through to it as the ambient default), and separately omitted
71
+ `gpt-5.6-terra`/`gpt-5.6-luna` after an operator quota downshift moved 260
72
+ members onto them — both real, working models (`lmctl chat` confirmed
73
+ live), producing 45 fleet-wide false-positive warnings. `codex debug
74
+ models` ("Render the raw model catalog as JSON") shipped since the first
75
+ incident and gives codex the same live-catalog treatment `agy` already
76
+ has — lint now queries it directly (`model-selection-lint.ts`'s
77
+ `loadCodexModels`), filtering to entries with `"visibility": "list"` (the
78
+ catalog's own "offered to users" flag — `gpt-reserve`/`codex-auto-review`
79
+ come back `"hide"` and are excluded the same way a UI picker would skip
80
+ them). Left as historical reference only, not maintained going forward.
81
+
62
82
  | Configured `model=` | Evidence |
63
83
  | --- | --- |
64
- | `gpt-5.2` | Ported from lmctl0 tested-model catalog. |
65
- | `gpt-5.4` | Ported from lmctl0 tested-model catalog. |
66
- | `gpt-5.5` | Ported from lmctl0 tested-model catalog. |
67
- | `gpt-5.6-sol` | Operator-confirmed for Codex review team use on 2026-07-19. |
68
- | `gpt-5.3-codex` | Ported from lmctl0 tested-model catalog. |
69
- | `gpt-5.3-codex-spark` | Ported from lmctl0 tested-model catalog. Banned as a build model by the operator (2026-09-06, plenty of regular-GPT quota headroom) -- `lmctl lint` now warns on explicit `model=gpt-5.3-codex-spark` for build work; kept in this tested list since it's still a real, valid model for genuinely non-build (classification-only) use. |
70
- | `gpt-6-astra` | Operator seeding for evaluation, 2026-09-06. |
71
-
72
- **Retired:** `gpt-5.4-mini` -- removed 2026-09-15 after a real fleet incident:
73
- the model was withdrawn from the OpenAI subscription while 194 codex members
74
- across ~90 teamfiles had no `model=` pinned and were falling through to it
75
- as the ambient default (unrelated to this catalog directly, but the SAME
76
- stale id was also still listed here as "tested", so `lmctl lint` would have
77
- passed the exact configuration that was failing in production). Unlike
84
+ | `gpt-5.5` | Observed from `codex debug models` on 2026-09-15. |
85
+ | `gpt-5.6-sol` | Observed from `codex debug models` on 2026-09-15. |
86
+ | `gpt-5.6-terra` | Observed from `codex debug models` on 2026-09-15. |
87
+ | `gpt-5.6-luna` | Observed from `codex debug models` on 2026-09-15. |
88
+ | `gpt-6-astra` | Observed from `codex debug models` on 2026-09-15. |
89
+
90
+ **Banned as a build model (operator, 2026-09-06):** `gpt-5.3-codex-spark`
91
+ — plenty of regular-GPT quota headroom now, so there's no cost reason left
92
+ to reach for the cheap/fast classification model on build work. `lmctl
93
+ lint` still warns on explicit `model=gpt-5.3-codex-spark` for this reason
94
+ regardless of live-catalog membership (it has since also dropped out of
95
+ the live catalog entirely).
96
+
97
+ **Retired:** `gpt-5.4-mini` -- removed from the OpenAI subscription
98
+ 2026-09-15 while 194 codex members across ~90 teamfiles had no `model=`
99
+ pinned and were falling through to it as the ambient default. Unlike
78
100
  `claude-fable-5` above (suspended, may return, kept valid), this id was
79
- withdrawn outright and is not expected back -- do not re-add without fresh
80
- operator/production confirmation it works again. Codex has no live model
81
- catalog to check against (unlike `agy`/`opencode`, which query the
82
- installed provider CLI directly) -- see the code comment on
83
- `BUILTIN_TESTED_MODELS.codex` for why, and keep this table and that array
84
- synchronized by hand until/unless a live check becomes possible for codex.
101
+ withdrawn outright and is not expected back.
85
102
 
86
103
  ## Gemini
87
104
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lmctl-ai/lmctl",
3
- "version": "0.1.326",
3
+ "version": "0.1.328",
4
4
  "description": "A provider-agnostic control plane for teams of AI coding agents — across providers, with independent review and durable memory.",
5
5
  "type": "module",
6
6
  "homepage": "https://lmctl.com",