omnilane 0.42.9 → 0.45.0

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.
@@ -35,7 +35,7 @@
35
35
  },
36
36
  "counts": {
37
37
  "aaRows": 643,
38
- "catalogEntries": 113,
38
+ "catalogEntries": 114,
39
39
  "namedAliases": 18
40
40
  },
41
41
  "namedAliases": [
@@ -1034,6 +1034,48 @@
1034
1034
  ],
1035
1035
  "mappingReason": "AA base row is the closest family record; provider effort semantics may differ"
1036
1036
  },
1037
+ {
1038
+ "vendor": "grok",
1039
+ "access": "cli",
1040
+ "catalogModel": "grok-4.7",
1041
+ "lifecycle": "active",
1042
+ "disposition": "default",
1043
+ "routeRefs": [
1044
+ {
1045
+ "lane": "hardest-coding",
1046
+ "position": "fallback",
1047
+ "effort": "high"
1048
+ },
1049
+ {
1050
+ "lane": "consult",
1051
+ "position": "fallback",
1052
+ "effort": "high"
1053
+ },
1054
+ {
1055
+ "lane": "coding-overflow",
1056
+ "position": "primary",
1057
+ "effort": "high"
1058
+ },
1059
+ {
1060
+ "lane": "hard-judgment",
1061
+ "position": "fallback",
1062
+ "effort": "high"
1063
+ },
1064
+ {
1065
+ "lane": "taste-final",
1066
+ "position": "fallback",
1067
+ "effort": "high"
1068
+ },
1069
+ {
1070
+ "lane": "live-search",
1071
+ "position": "primary",
1072
+ "effort": "high"
1073
+ }
1074
+ ],
1075
+ "mappingStatus": "no-aa-row",
1076
+ "aaSlugs": [],
1077
+ "mappingReason": "Released 2026-09-21, after this v4.2 inventory was taken, so none of its 643 rows is this model; config/aa-model-policy.json scores it from AA v4.3.2 as grok-4-7 (xhigh) and grok-4-7-high. Its routeRefs are routing.yaml as of 2026-09-22; every other entry's are as of this inventory"
1078
+ },
1037
1079
  {
1038
1080
  "vendor": "grok",
1039
1081
  "access": "cli",
@@ -1,10 +1,201 @@
1
1
  # Model capabilities — September 2026 snapshot
2
2
 
3
- External records are dated per section. The 2026-09-05 decision below is the
4
- current basis for `routing.yaml`; the earlier 2026-09-02 v4.1.1-era snapshot is
5
- kept as historical evidence rather than relabelled as v4.2.
3
+ External records are dated per section. The 2026-09-22 decision below is the
4
+ current basis for `routing.yaml`. The 2026-09-05 v4.2 decision and the
5
+ 2026-09-02 v4.1.1-era snapshot are kept as historical evidence; their scores
6
+ are on other scales and are not comparable with the v4.3.2 figures.
7
+
8
+ ## Current routing decision — 2026-09-22 (AA v4.3.2)
9
+
10
+ `routing.yaml` was rewritten on this date, not amended. Each lane names the
11
+ measurements that match its kind of work, and its candidates are listed
12
+ best-first on them. Because a caller may only dispatch to a target scoring at or
13
+ below its own ceiling, each chain also steps down through the score range, so
14
+ that whatever a controller's ceiling, the first candidate it can reach is the
15
+ best one it can reach. The `score` column below is the registry's ceiling value.
16
+
17
+ Sources. Registry scores: `docs/reports/aa-v4.3.2-extract-2026-09-22.json`.
18
+ Lane measurements: `docs/reports/aa-v4.3.2-lane-metrics-2026-09-22.json`, a second
19
+ capture of the same AA page the same day; every index value in the two files is
20
+ identical. The page served at that capture carried no hallucination-rate field,
21
+ so that one field comes from a capture about an hour earlier, as the file's
22
+ `supplement` block records. The tables are generated, not typed:
23
+ `scripts/aa_rebaseline.py lanes --extract docs/reports/aa-v4.3.2-lane-metrics-2026-09-22.json`.
24
+
25
+ What the measurements are. AA's own v4.3 note says Terminal-Bench moved to 4.0 and
26
+ AutomationBench joined the index. Terminal-Bench 2.1 is kept for reference only:
27
+ the frontier sits between 0.87 and 0.91 on it, so it no longer separates anyone,
28
+ while 4.0 spreads the same models from 0.2 to 0.6. Briefcase is AA's expert
29
+ grading of finished business documents, with separate Elo scores for analytical
30
+ quality and for presentation. `mlcrOverall` is carried in AA's page data without
31
+ a caption; it is read here as a harder long-context benchmark because it sits
32
+ beside AA-LCR and spreads the models that AA-LCR cannot separate. That reading is
33
+ unverified.
34
+
35
+ **hardest-coding**
36
+
37
+ | # | candidate | score | Terminal-Bench 4.0 | Terminal-Bench 2.1 | SciCode | hallucination rate |
38
+ |---|---|---|---|---|---|---|
39
+ | 1 | codex gpt-6-astra xhigh | 52 | 0.596 | 0.891 | 0.557 | 0.483 |
40
+ | 2 | claude claude-fable-5-1 xhigh | 53 | 0.551 | 0.910 | 0.609 | 0.705 |
41
+ | 3 | codex gpt-6-astra high | 51 | 0.540 | 0.899 | 0.554 | 0.448 |
42
+ | 4 | claude claude-fable-5-1 high | 51 | 0.520 | 0.899 | 0.587 | 0.688 |
43
+ | 5 | codex gpt-6-astra medium | 50 | 0.495 | 0.895 | 0.542 | 0.465 |
44
+ | 6 | claude claude-opus-5 high | 48 | 0.460 | 0.876 | 0.554 | 0.612 |
45
+ | 7 | codex gpt-6-astra low | 46 | 0.419 | 0.880 | 0.541 | 0.469 |
46
+ | 8 | codex gpt-5.6-sol xhigh | 44 | 0.247 | 0.895 | 0.571 | 0.919 |
47
+ | 9 | grok grok-4.7 high | 46 | 0.247 | not published | 0.578 | 0.324 |
48
+ | 10 | grok grok-4.6 high | 44 | 0.212 | 0.884 | 0.565 | 0.343 |
49
+ | 11 | gemini gemini-3.8-flash-high | 41 | 0.197 | 0.876 | 0.566 | 0.552 |
50
+
51
+ **bulk-mechanical**
52
+
53
+ | # | candidate | score | Terminal-Bench 4.0 | Terminal-Bench 2.1 | hallucination rate | minutes / task | index run cost ($) |
54
+ |---|---|---|---|---|---|---|---|
55
+ | 1 | codex gpt-6-astra low | 46 | 0.419 | 0.880 | 0.469 | 1.3 | 1537 |
56
+ | 2 | codex gpt-5.6-sol high | 42 | 0.207 | 0.873 | 0.912 | 3.2 | 1487 |
57
+ | 3 | gemini gemini-3.8-flash-high | 41 | 0.197 | 0.876 | 0.552 | 3.3 | 1623 |
58
+ | 4 | claude claude-opus-5 medium | 45 | 0.343 | 0.861 | 0.607 | 5.1 | 2732 |
59
+
60
+ **triage**
61
+
62
+ | # | candidate | score | index | index run cost ($) | minutes / task |
63
+ |---|---|---|---|---|---|
64
+ | 1 | codex gpt-5.6-luna high | 32 | 32.1 | 108 | 1.6 |
65
+ | 2 | gemini gemini-3.8-flash-low | 33 | 33.5 | not published | not published |
66
+ | 3 | claude claude-sonnet-5 low | 24 | 24.3 | 653 | 2.5 |
67
+ | 4 | claude claude-haiku-4-5 | 17 | 16.9 | 524 | 2.6 |
68
+
69
+ **hard-judgment**
70
+
71
+ | # | candidate | score | HLE | GPQA | CritPt | Briefcase analytical Elo | hallucination rate |
72
+ |---|---|---|---|---|---|---|---|
73
+ | 1 | claude claude-fable-5-1 xhigh | 53 | 0.587 | 0.934 | 0.311 | 1971 | 0.705 |
74
+ | 2 | codex gpt-6-astra xhigh | 52 | 0.546 | 0.963 | 0.314 | 1724 | 0.483 |
75
+ | 3 | claude claude-opus-5 max | 51 | 0.549 | 0.932 | 0.291 | 1965 | 0.608 |
76
+ | 4 | codex gpt-6-astra high | 51 | 0.531 | 0.949 | 0.289 | 1703 | 0.448 |
77
+ | 5 | claude claude-opus-5 xhigh | 50 | 0.544 | 0.937 | 0.277 | 1958 | 0.595 |
78
+ | 6 | claude claude-opus-5 high | 48 | 0.528 | 0.937 | 0.283 | 1855 | 0.612 |
79
+ | 7 | grok grok-4.7 high | 46 | 0.423 | not published | 0.180 | 1967 | 0.324 |
80
+ | 8 | grok grok-4.6 high | 44 | 0.429 | 0.949 | 0.171 | 1690 | 0.343 |
81
+ | 9 | gemini gemini-3.8-flash-high | 41 | 0.478 | 0.953 | 0.183 | 1151 | 0.552 |
82
+
83
+ **taste-final**
84
+
85
+ | # | candidate | score | Briefcase overall Elo | Briefcase presentation Elo | GDPval |
86
+ |---|---|---|---|---|---|
87
+ | 1 | claude claude-opus-5 max | 51 | 1673 | 1560 | 0.604 |
88
+ | 2 | claude claude-fable-5-1 xhigh | 53 | 1669 | 1473 | 0.610 |
89
+ | 3 | claude claude-opus-5 xhigh | 50 | 1649 | 1492 | 0.588 |
90
+ | 4 | grok grok-4.7 high | 46 | 1644 | 1506 | 0.597 |
91
+ | 5 | codex gpt-6-astra xhigh | 52 | 1544 | 1503 | 0.508 |
92
+ | 6 | claude claude-opus-5 high | 48 | 1573 | 1446 | 0.540 |
93
+ | 7 | grok grok-4.6 high | 44 | 1546 | 1519 | 0.553 |
94
+ | 8 | gemini gemini-3.8-flash-high | 41 | 1202 | 1200 | 0.456 |
95
+
96
+ **consult**
97
+
98
+ | # | candidate | score | index |
99
+ |---|---|---|---|
100
+ | 1 | codex gpt-6-astra xhigh | 52 | 52.4 |
101
+ | 2 | claude claude-fable-5-1 xhigh | 53 | 53.2 |
102
+ | 3 | grok grok-4.7 high | 46 | 46.3 |
103
+ | 4 | grok grok-4.6 high | 44 | 44.3 |
104
+ | 5 | gemini gemini-3.8-flash-high | 41 | 40.9 |
105
+
106
+ **ui-draft**
107
+
108
+ | # | candidate | score | MMMU-Pro | Terminal-Bench 4.0 |
109
+ |---|---|---|---|---|
110
+ | 1 | codex gpt-6-astra high | 51 | 0.864 | 0.540 |
111
+ | 2 | claude claude-opus-5 high | 48 | 0.824 | 0.460 |
112
+ | 3 | codex gpt-6-astra low | 46 | 0.846 | 0.419 |
113
+ | 4 | gemini gemini-3.8-flash-high | 41 | 0.856 | 0.197 |
114
+
115
+ **long-context**
116
+
117
+ | # | candidate | score | mlcrOverall | AA-LCR | index run cost ($) |
118
+ |---|---|---|---|---|---|
119
+ | 1 | claude claude-opus-5 high | 48 | 0.594 | 0.790 | 4332 |
120
+ | 2 | claude claude-opus-5 medium | 45 | 0.561 | 0.820 | 2732 |
121
+ | 3 | claude claude-opus-5 low | 39 | 0.539 | 0.813 | 1561 |
122
+ | 4 | codex gpt-5.6-terra max | 42 | 0.317 | 0.830 | 2501 |
123
+ | 5 | gemini gemini-3.8-flash-high | 41 | 0.217 | 0.813 | 1623 |
124
+
125
+ **fast-agentic**
6
126
 
7
- ## Current routing decision — 2026-09-05
127
+ | # | candidate | score | AutomationBench | minutes / task | first answer token (s) |
128
+ |---|---|---|---|---|---|
129
+ | 1 | codex gpt-6-astra low | 46 | 0.591 | 1.3 | 2 |
130
+ | 2 | gemini gemini-3.8-flash-medium | 40 | 0.609 | not published | not published |
131
+ | 3 | codex gpt-5.6-sol medium | 39 | 0.513 | 2.1 | 5 |
132
+ | 4 | claude claude-opus-5 low | 39 | 0.518 | 2.5 | 3 |
133
+
134
+ **live-search**
135
+
136
+ | # | candidate | score | hallucination rate | knowledge (omniscience) |
137
+ |---|---|---|---|---|
138
+ | 1 | grok grok-4.7 high | 46 | 0.324 | 30.9 |
139
+ | 2 | grok grok-4.6 high | 44 | 0.343 | 30.5 |
140
+ | 3 | gemini gemini-3.8-flash-high | 41 | 0.552 | 29.6 |
141
+ | 4 | claude claude-opus-5 medium | 45 | 0.607 | 31.0 |
142
+
143
+ **coding-overflow**
144
+
145
+ | # | candidate | score | Terminal-Bench 4.0 | SciCode |
146
+ |---|---|---|---|---|
147
+ | 1 | grok grok-4.7 high | 46 | 0.247 | 0.578 |
148
+ | 2 | grok grok-4.6 high | 44 | 0.212 | 0.565 |
149
+ | 3 | gemini gemini-3.8-flash-high | 41 | 0.197 | 0.566 |
150
+ | 4 | kimi kimi-k3 | not scored | — | — |
151
+ | 5 | qwen qwen3-coder-plus | not scored | — | — |
152
+ | 6 | opencode - | not scored | — | — |
153
+
154
+ Why each lane is ordered this way:
155
+
156
+ - **hardest-coding** follows Terminal-Bench 4.0. Astra xhigh leads it and has the
157
+ lowest hallucination rate among the top rows. Fable xhigh leads the saturated
158
+ 2.1 benchmark and SciCode, and beats Fable max on 4.0 (0.551 against 0.520) at
159
+ about two thirds of max's run cost, so max is in no chain. Astra loses far less
160
+ than any other family as effort drops (low still scores 0.419, where Opus is
161
+ down to 0.343 by medium and Sol high sits at 0.207), which is why it supplies
162
+ most of the rungs.
163
+ - **bulk-mechanical** wants routine coding per minute and per dollar. Astra low
164
+ costs what Sol high costs and is ahead on both coding benchmarks, in under half
165
+ the time, with roughly half the hallucination rate. Sol high remains for
166
+ callers whose ceiling is below Astra low.
167
+ - **triage** is bought by the run. Luna high's run cost is a small fraction of any
168
+ other row that still reads code. Sonnet low outscores Haiku for similar money.
169
+ - **hard-judgment** follows HLE and CritPt for reasoning and Briefcase analytical
170
+ Elo for written analysis; hallucination rate decides the second opinion. Fable
171
+ xhigh leads both reasoning measures. Astra xhigh is the independent family and
172
+ the least likely of the top rows to assert something false. Opus keeps its
173
+ analytical Elo down the effort ladder (1855 at high) where Astra does not
174
+ (1703). Grok 4.7's analytical Elo equals Opus max's, but its reasoning scores
175
+ are among the lowest in the chain, so it stays below the Opus rows.
176
+ - **taste-final** has no benchmark, and nothing here measures Chinese phrasing.
177
+ The nearest evidence is Briefcase. Opus max is level with Fable overall and
178
+ clearly ahead on presentation. Grok 4.7 is graded above every Astra row overall,
179
+ so it precedes Astra. Final prose still needs human review.
180
+ - **ui-draft** follows MMMU-Pro first and Terminal-Bench 4.0 second. Fable has no
181
+ published MMMU-Pro result and is left out rather than assumed.
182
+ - **long-context** follows `mlcrOverall`, where Opus leads every other family by
183
+ a wide margin and keeps that lead down to low effort; AA-LCR is shown to make
184
+ the saturation visible. Fable max scores higher still (0.711) but at three
185
+ times Opus high's run cost, and it is the only Fable row with a published value.
186
+ - **fast-agentic** follows AutomationBench and time per task. Astra low is the
187
+ fastest row that still scores near the top. Flash medium scores as high and is
188
+ the cross-vendor row; Flash low falls to 0.365. Haiku scores 0.032 and is gone.
189
+ - **live-search**: Grok is the only native X source, and both releases hallucinate
190
+ less than either fallback. Opus medium replaces Sonnet because Sonnet's effort
191
+ rows have a negative omniscience score, more false assertions than true ones.
192
+ - **coding-overflow** has no Codex row by design. Grok 4.7 edges 4.6 on
193
+ Terminal-Bench 4.0 and SciCode.
194
+ - **consult** lists each vendor's strongest generally reachable configuration.
195
+
196
+ The capability boundaries listed under 2026-09-05 still hold.
197
+
198
+ ## Previous routing decision — 2026-09-05 (AA v4.2)
8
199
 
9
200
  ### Comparable evidence and limits
10
201
 
@@ -88,6 +88,65 @@ workdir is task context, not an OS boundary. Requests for hard `read-only`,
88
88
  native jobs: `auto` stays on the same resolved model through CLI, while forced
89
89
  native fails closed.
90
90
 
91
+ ### Generating the capability file
92
+
93
+ `omnilane native-context [--workdir DIR]... [--mode advise|work]... [--harness NAME]
94
+ [--inherits-caller-runtime] [--out FILE]` writes a capability file for the
95
+ harness it runs under and prints the path. Vendor, current model and current
96
+ effort are read the way `omnilane whoami` reads them; nothing is inferred from
97
+ installed CLIs. It emits one capability row: the caller's own model at its own
98
+ effort. A caller whose effort is unrecorded gets `efforts: ["unverified"]`, which
99
+ matches no lane target, so that file serves `--inherit` only. Rows for other
100
+ models are the host's to add, from its real agent-tool contract.
101
+
102
+ `inherits_caller_runtime: true` is written only when the host passes
103
+ `--inherits-caller-runtime`. It is the host's statement that its sub-agent tool,
104
+ given no model override, runs the caller's model and effort.
105
+
106
+ What this release has and has not verified about each harness's sub-agent tool:
107
+
108
+ | Harness | Sub-agent tool | Status |
109
+ |---|---|---|
110
+ | Codex | `collaboration.spawn_agent`; a model override requires `fork_turns: "none"` or a bounded count | documented above from the tool contract; inheritance without an override is host-asserted |
111
+ | Claude Code | `Agent` tool; optional `model` override | documented (code.claude.com/docs/en/sub-agents, read 2026-09-20). Model resolves in this order: the per-invocation `model` parameter, the agent definition's `model` frontmatter, `CLAUDE_CODE_SUBAGENT_MODEL`, then the main conversation's model. Effort: the definition's `effort` frontmatter overrides the session level and its default is "inherits from session". So a host may pass `--inherits-caller-runtime` only when it spawns with no `model` argument, the agent type's definition sets neither `model` (other than `inherit`) nor `effort`, and `CLAUDE_CODE_SUBAGENT_MODEL` is unset; the built-in general-purpose agent meets the definition part. Two full `--inherit` cycles on 2026-09-20 under those conditions reported the parent's exact model. The worker cannot see its own effort, so completion reports `runtime.effort: "unknown"`; effort inheritance rests on the documentation, not on an observation |
112
+ | Grok Build | `spawn_subagent`; agent types `general-purpose`, `explore`, `plan` and user-defined ones | model: documented in the subagent guide embedded in grok 1.0.34 — "By default a subagent inherits the parent session's model"; only `[subagents.models].<agent>` in the config (highest priority) or the agent definition's `model` overrides that, and the bundled `general-purpose` definition says `model: inherit`. Effort: a definition may carry an `effort` override; no statement of the default was found, so effort inheritance is not verified. No `--inherit` cycle has been run in Grok |
113
+ | Antigravity | — | `agy` 1.2.7 exposes `--agent`, `--model` and `--effort` for the session and its help names no sub-agent spawning surface; not verified, and no `--inherit` cycle has been run |
114
+
115
+ ### Inherited worker (`--inherit`)
116
+
117
+ `dispatch.sh --inherit --native-context FILE <lane> "<task>"` plans a native
118
+ worker spawned with no model override. `aa_policy.decide_inherited` allows it
119
+ with code `native-inherited-allowed`: the worker runs the caller's runtime, so
120
+ its score equals the caller's and the downward rule holds by construction, with
121
+ or without a recorded effort. No target configuration is resolved
122
+ (`target_config_id: null`, `target: {"inherit": true, ...}`), the transport
123
+ overlay is not consulted, and there is no CLI fallback: a host that cannot take
124
+ it gets `native-inherit-unavailable` with `failed_gate: "native-capability"` and
125
+ the `omnilane native-context` command. The plan carries `inherit: true`,
126
+ `effort: "inherited"`, `worker_contract.model_override: false`,
127
+ `inherit_caller_runtime: true` and `satisfies_lane_target: false`. The capability
128
+ file must set `inherits_caller_runtime: true`, name the caller's vendor and
129
+ model, and hold a new-agent row for that model matching mode, workdir, tools,
130
+ `shared-inherited` and `single-shot`; effort is deliberately not matched.
131
+
132
+ When no caller identity reaches the gate, the file's `vendor` and `current_model`
133
+ stand as the host's statement and the decision is
134
+ `native-inherited-unverified-caller` (`caller_kind: "model-unverified"`,
135
+ `caller_identity_verified: false`, `caller_identity_source: "host-asserted"`). It
136
+ has no `effective_ceiling`, publishes neither `aa-authorizer.json` nor
137
+ `aa-child-context.json`, and `jobs status` shows `caller_identity_verified: false`
138
+ and `satisfies_lane_target: false`. A file with no `current_model` is refused as
139
+ `missing-caller-context`. `omnilane native-context --vendor V --model M` writes
140
+ such a file only when the identity cannot be read or resolved, marks it
141
+ `caller_identity_verified: false`, and exits 2 if the statement contradicts an
142
+ identity it can read. This exists for a caller that cannot be read, for example a
143
+ codex command wrapped in `;`, `&&` or a pipe, where the shell codex started stays
144
+ between codex and the command and carries no `CODEX_THREAD_ID` of its own; run
145
+ alone, the same command is read. Lane dispatch from an unread caller is refused.
146
+ Completion checks vendor, model and harness; `runtime.effort` is whatever the
147
+ host observed. A human operator, an unidentified caller, `--vendor`/`--model`/
148
+ `--effort`/`--target-config`, and every CLI-only lifecycle are refused.
149
+
91
150
  Native supports only a caller-supervised single task. `--background`, explicit
92
151
  `--live` / `--single-shot`, `--thread`, `sysops`, explicit/environment whole-job
93
152
  or idle watchdogs, vote/multi-round and `exec` arbitration paths stay CLI or
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omnilane",
3
- "version": "0.42.9",
3
+ "version": "0.45.0",
4
4
  "description": "One routing table, every harness — classify subtasks into lanes and delegate each lane through a compatible caller-owned native agent or vendor CLI.",
5
5
  "bin": {
6
6
  "omnilane": "bin/omnilane"
package/plugin.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://antigravity.google/schemas/v1/plugin.json",
3
3
  "name": "omnilane",
4
- "version": "0.42.9",
4
+ "version": "0.45.0",
5
5
  "description": "One routing table, every harness: classify subtasks into lanes and delegate through compatible caller-owned native agents or vendor CLIs with exact-AA downward policy and supervised jobs."
6
6
  }
package/routing.yaml CHANGED
@@ -12,33 +12,35 @@
12
12
  # deliberately carry no numbers: they state WHY a lane is ordered the way it is, which
13
13
  # stays true for months, while the numbers move every few weeks. Change an ordering and
14
14
  # you update the doc; a figure going stale should never need a routing-table edit.
15
- # (Audited 2026-07-12; re-audited 2026-07-25, 2026-08-02, 2026-08-03, 2026-09-02, and 2026-09-05.)
16
- # defaults follow Artificial Analysis data, 2026-09
17
- # snapshot. Verified against AA site records + vendor pricing pages: Intelligence &
18
- # Coding indexes and 7:2:1 blended prices all match (AA field price1mBlended7To2To1);
19
- # coding cost-per-task is chart-only (not independently reconstructed). Prices are
20
- # standard short-context API tier — on subscription CLIs treat $ as relative ranking.
15
+ # (Audited 2026-07-12; re-audited 2026-07-25, 2026-08-02, 2026-08-03, 2026-09-02 and
16
+ # 2026-09-05; rewritten 2026-09-22 on Artificial Analysis Intelligence Index v4.3.2.)
17
+ # How a chain is ordered: each lane names the measurements that match its kind of work,
18
+ # and candidates are listed best-first on those. A caller may only dispatch to a target
19
+ # scoring at or below its own ceiling, and a candidate above the ceiling (or one this
20
+ # host has not proven) is skipped, so every chain also steps down through the score
21
+ # range: whatever the caller's ceiling, the first candidate it can reach is the best
22
+ # one it can reach. Vendors alternate where the evidence allows, so a host with one
23
+ # subscription still gets a full chain. Prices are standard short-context API tier — on
24
+ # subscription CLIs treat $ as relative ranking.
21
25
  # Your own job outcomes (~/.omnilane/jobs/) outrank these priors; edit lanes to match.
22
26
 
23
- hardest-coding: claude claude-fable-5-1 max | codex gpt-6-astra xhigh | grok grok-4.6 high | gemini gemini-3.8-flash-high - # correctness-first coding: Fable max leads the same-condition comparison; Astra xhigh is the default Codex quality/cost tradeoff; explicit --effort max remains available; Grok and Flash keep cross-vendor depth
24
- bulk-mechanical: codex gpt-5.6-sol high | gemini gemini-3.8-flash-high - | claude claude-sonnet-5 high # endurance and migration work stays on proven Sol high; Flash 3.8 refreshes the fast middle fallback; Sonnet preserves cross-vendor depth
25
- triage: codex gpt-5.6-luna high | gemini gemini-3.8-flash-low - | claude claude-haiku-4-5 - # first-pass filtering favors the low-cost Luna row; Flash low and Haiku remain cheap cross-vendor fallbacks
26
- hard-judgment: claude claude-fable-5-1 xhigh | codex gpt-6-astra xhigh | grok grok-4.6 high # strongest same-condition judgment row first, then an independently verified Codex family and Grok; this lane is not a controller selector
27
- taste-final: claude claude-fable-5-1 xhigh | codex gpt-6-astra xhigh | grok grok-4.6 high | gemini gemini-3.8-flash-high - # final prose and style still require human taste review; general quality evidence orders the candidates without claiming an aesthetic benchmark
28
- consult: codex gpt-6-astra xhigh | claude claude-fable-5-1 xhigh | grok grok-4.6 high | gemini gemini-3.8-flash-medium - # direct named-model consultation chain; keep --vendor to pin the requested family and prevent fallback
29
- ui-draft: codex gpt-5.6-sol high | claude claude-fable-5-1 xhigh | gemini gemini-3.8-flash-high - # UI drafts require a design system or references; measured coding/agent evidence supports the order but does not prove visual taste
30
- long-context: gemini gemini-3.8-flash-medium - | codex gpt-5.6-terra max | claude claude-opus-5 medium # Flash medium leads long-document synthesis; Terra and Opus stay because context capacity alone does not prove task quality
31
- fast-agentic: gemini gemini-3.8-flash-low - | codex gpt-5.6-luna high | claude claude-haiku-4-5 - # low-latency tool loops favor Flash low; Luna and Haiku retain cross-vendor fallback depth
32
- live-search: grok grok-4.6 high | gemini gemini-3.8-flash-high - | claude claude-sonnet-5 high | off # Grok remains the native X/web choice; Flash and Sonnet provide generic web-search fallback, not equivalent social context
33
- coding-overflow: grok grok-4.6 high | gemini gemini-3.8-flash-high - | kimi kimi-k3 - | qwen qwen3-coder-plus - | opencode - - | off # explicit quota-relief lane; keep all existing non-Codex fallbacks and do not infer unverified Qwen aliases from another harness
27
+ hardest-coding: codex gpt-6-astra xhigh | claude claude-fable-5-1 xhigh | codex gpt-6-astra high | claude claude-fable-5-1 high | codex gpt-6-astra medium | claude claude-opus-5 high | codex gpt-6-astra low | codex gpt-5.6-sol xhigh | grok grok-4.7 high | grok grok-4.6 high | gemini gemini-3.8-flash-high - # ordered on the hard terminal-coding benchmark, the one coding measurement the frontier has not saturated, with scientific coding and hallucination rate as tie-breakers: Astra xhigh leads it and hallucinates least among the top rows; Fable xhigh leads the saturated coding benchmarks and beats Fable max on the hard one for less, so max is explicit-only; the Astra ladder holds up far better than any other family as effort drops, which is why it supplies most rungs
28
+ bulk-mechanical: codex gpt-6-astra low | codex gpt-5.6-sol high | gemini gemini-3.8-flash-high - | claude claude-opus-5 medium # endurance work wants routine-coding accuracy per minute and per dollar: Astra low matches Sol high's cost and beats it on both coding benchmarks, on speed and by a wide margin on hallucination; Sol high stays for callers below Astra low's score; Flash and Opus medium are the quick rows of their vendors
29
+ triage: codex gpt-5.6-luna high | gemini gemini-3.8-flash-low - | claude claude-sonnet-5 low | claude claude-haiku-4-5 - # first-pass filtering is bought by the run, not by the answer: Luna high costs a small fraction of any other row that can still read code; Flash low is the cheap cross-vendor row; Sonnet low outscores Haiku for similar money and Haiku stays for hosts that have not proven Sonnet's effort rows
30
+ hard-judgment: claude claude-fable-5-1 xhigh | codex gpt-6-astra xhigh | claude claude-opus-5 max | codex gpt-6-astra high | claude claude-opus-5 xhigh | claude claude-opus-5 high | grok grok-4.7 high | grok grok-4.6 high | gemini gemini-3.8-flash-high - # ordered on expert-level reasoning and on graded analytical quality of written work, with hallucination rate deciding who gives the second opinion: Fable xhigh leads both reasoning measures and equals Fable max for less; Astra xhigh is the independent family and the least likely of the top rows to assert something false; Opus holds its analytical quality down the effort ladder where Astra loses it; Grok is the third family, 4.7 ahead on analytical quality; this lane is not a controller selector
31
+ taste-final: claude claude-opus-5 max | claude claude-fable-5-1 xhigh | claude claude-opus-5 xhigh | grok grok-4.7 high | codex gpt-6-astra xhigh | claude claude-opus-5 high | grok grok-4.6 high | gemini gemini-3.8-flash-high - # no benchmark measures taste, and none here covers Chinese phrasing; the nearest evidence is expert grading of finished documents, overall and on presentation: Opus max is graded best on presentation and level with Fable overall; Grok 4.7 is graded above every Astra row on finished documents, so it sits ahead of Astra; final prose still needs human review
32
+ consult: codex gpt-6-astra xhigh | claude claude-fable-5-1 xhigh | grok grok-4.7 high | grok grok-4.6 high | gemini gemini-3.8-flash-high - # direct named-model consultation: each vendor's strongest generally reachable configuration, with the older Grok behind the newer for a lane dispatch on a host that has not proven 4.7; keep --vendor to pin the requested family. --vendor takes the vendor's first segment and never falls through, so on a host that has not proven grok-4.7 ask for --model grok-4.6
33
+ ui-draft: codex gpt-6-astra high | claude claude-opus-5 high | codex gpt-6-astra low | gemini gemini-3.8-flash-high - # UI drafts need a design system or reference images, so the order follows visual understanding first and hard coding second: the Astra rows read images best and code best; Flash reads images nearly as well; Fable has no published visual result and is left out rather than assumed; none of this proves visual taste
34
+ long-context: claude claude-opus-5 high | claude claude-opus-5 medium | claude claude-opus-5 low | codex gpt-5.6-terra max | gemini gemini-3.8-flash-high - # the established long-context benchmark is saturated and separates nobody; on the harder one Claude leads every other family by a wide margin at every effort, and Opus keeps that lead down to low effort, which makes it both the best and the cheap choice; Terra and Flash are the other vendors' best rows; context capacity alone proves nothing
35
+ fast-agentic: codex gpt-6-astra low | gemini gemini-3.8-flash-medium - | codex gpt-5.6-sol medium | claude claude-opus-5 low # tool loops need automation accuracy and a short time per step: Astra low is the fastest row that still scores near the top on automation; Flash medium scores as high and is the cross-vendor row (Flash low falls well behind it); Sol medium and Opus low are the quick rows below them; Haiku is gone because it scores close to nothing on automation
36
+ live-search: grok grok-4.7 high | grok grok-4.6 high | gemini gemini-3.8-flash-high - | claude claude-opus-5 medium | off # Grok is the only native X/web source, newest proven release first, and both releases hallucinate less than any fallback; Flash and Opus medium provide generic web search, not equivalent social context; Opus medium rather than Sonnet because Sonnet's effort rows assert more false facts than true ones on the knowledge benchmark
37
+ coding-overflow: grok grok-4.7 high | grok grok-4.6 high | gemini gemini-3.8-flash-high - | kimi kimi-k3 - | qwen qwen3-coder-plus - | opencode - - | off # explicit Codex-quota relief, so no Codex row: Grok 4.7 edges 4.6 on the hard terminal-coding benchmark and on scientific coding; keep all existing non-Codex fallbacks and do not infer unverified Qwen aliases from another harness
34
38
  arbitrate: off - - # opinion panel remains opt-in because each voter and round consumes quota
35
39
  # Enable: `arbitrate: vote codex,claude,grok -` (any 1-4 of codex/claude/grok/gemini)
36
40
  # Debate round (each voter rebuts the others): set the effort field to 2.
37
41
  # Custom gate: `arbitrate: exec /path/to/script -`
38
- # Claude Fable 5.1 is in the taste and hardest-coding defaults because it leads
39
- # Opus 5 on every Artificial Analysis axis at the same effort. It is not in
40
- # bulk or triage: it prices at twice Opus 5 per token and consumes the most
41
- # subscription quota per turn. Fable leads hard-judgment; Opus remains
42
- # explicitly selectable via --vendor claude --model claude-opus-5.
43
- # Astra defaults to xhigh; use --vendor codex --effort max when explicitly needed.
42
+ # Fable max and Astra max are in no chain: on the measurements used above, max is never
43
+ # more than marginally ahead of the same model's xhigh row and on hard terminal coding it
44
+ # is behind, while xhigh takes markedly less time and money.
45
+ # Both remain selectable with --vendor … --effort max.
44
46
  # No automatic risk escalation or failure-triggered effort upgrade is added.