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.
- package/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +260 -1
- package/README.ja.md +190 -32
- package/README.ko.md +190 -32
- package/README.md +319 -73
- package/README.zh-CN.md +190 -31
- package/README.zh-TW.md +180 -53
- package/VERSION +1 -1
- package/bin/omnilane +29 -0
- package/completions/_omnilane +1 -1
- package/completions/omnilane.bash +1 -1
- package/completions/omnilane.fish +2 -0
- package/config/aa-model-policy.json +1339 -1170
- package/docs/aa-model-coverage-2026-09-05.json +43 -1
- package/docs/model-capabilities-2026-09.md +195 -4
- package/docs/native-executor.md +59 -0
- package/package.json +1 -1
- package/plugin.json +1 -1
- package/routing.yaml +25 -23
- package/scripts/aa_rebaseline.py +409 -0
- package/scripts/configure.sh +1 -1
- package/scripts/dispatch.sh +54 -4
- package/scripts/doctor.sh +7 -1
- package/scripts/lib/aa_lanes.py +135 -0
- package/scripts/lib/aa_policy.py +165 -8
- package/scripts/lib/build_overlay.py +54 -18
- package/scripts/lib/caller_identity.py +75 -13
- package/scripts/lib/cli_provenance.py +82 -0
- package/scripts/lib/native.py +107 -2
- package/scripts/lib/native_context.py +145 -0
- package/scripts/lib/overlay_health.py +24 -2
- package/scripts/lib/probe.py +2 -0
- package/scripts/lib/probe_sweep.py +189 -0
- package/scripts/lib/resign.py +493 -0
- package/scripts/release-audit.sh +31 -0
- package/skills/omnilane/SKILL.md +393 -477
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
},
|
|
36
36
|
"counts": {
|
|
37
37
|
"aaRows": 643,
|
|
38
|
-
"catalogEntries":
|
|
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-
|
|
4
|
-
current basis for `routing.yaml
|
|
5
|
-
kept as historical evidence
|
|
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
|
-
|
|
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
|
|
package/docs/native-executor.md
CHANGED
|
@@ -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.
|
|
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.
|
|
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
|
|
16
|
-
#
|
|
17
|
-
#
|
|
18
|
-
#
|
|
19
|
-
#
|
|
20
|
-
#
|
|
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
|
|
24
|
-
bulk-mechanical: codex gpt-5.6-sol high | gemini gemini-3.8-flash-high - | claude claude-
|
|
25
|
-
triage: codex gpt-5.6-luna high | gemini gemini-3.8-flash-low - | claude claude-haiku-4-5 - # first-pass filtering
|
|
26
|
-
hard-judgment: claude claude-fable-5-1 xhigh | codex gpt-6-astra xhigh | grok grok-4.6 high #
|
|
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 - #
|
|
28
|
-
consult: codex gpt-6-astra xhigh | claude claude-fable-5-1 xhigh | grok grok-4.6 high | gemini gemini-3.8-flash-
|
|
29
|
-
ui-draft: codex gpt-
|
|
30
|
-
long-context:
|
|
31
|
-
fast-agentic: gemini gemini-3.8-flash-
|
|
32
|
-
live-search: grok grok-4.6 high | gemini gemini-3.8-flash-high - | claude claude-
|
|
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
|
|
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
|
-
#
|
|
39
|
-
#
|
|
40
|
-
#
|
|
41
|
-
#
|
|
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.
|