omnilane 0.42.1 → 0.42.2
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 +14 -1
- package/README.ja.md +6 -0
- package/README.ko.md +6 -0
- package/README.md +6 -0
- package/README.zh-CN.md +6 -0
- package/README.zh-TW.md +6 -0
- package/VERSION +1 -1
- package/docs/release-notes-0.42.2.md +31 -0
- package/package.json +2 -2
- package/plugin.json +1 -1
- package/routing.yaml +7 -7
- package/scripts/lib/aa_policy.py +14 -5
- package/scripts/runners/run-grok.sh +12 -2
- package/docs/release-notes-0.42.1.md +0 -32
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
},
|
|
7
7
|
"metadata": {
|
|
8
8
|
"description": "One routing table, native-first or CLI delegation, supervised completion workflows.",
|
|
9
|
-
"version": "0.42.
|
|
9
|
+
"version": "0.42.2"
|
|
10
10
|
},
|
|
11
11
|
"plugins": [
|
|
12
12
|
{
|
|
13
13
|
"name": "omnilane",
|
|
14
14
|
"source": "./",
|
|
15
15
|
"description": "Route each subtask to the model that fits, then delegate through a compatible caller-owned native agent or vendor CLI.",
|
|
16
|
-
"version": "0.42.
|
|
16
|
+
"version": "0.42.2",
|
|
17
17
|
"category": "development",
|
|
18
18
|
"keywords": [
|
|
19
19
|
"routing",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "omnilane",
|
|
3
|
-
"version": "0.42.
|
|
3
|
+
"version": "0.42.2",
|
|
4
4
|
"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.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Seraphim0916"
|
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,18 @@ semantic version tags.
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.42.2] - 2026-09-07
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- Pass explicit Grok effort through `--reasoning-effort` instead of silently discarding it. Accept the CLI's `low`, `medium`, `high`, and `xhigh` selectors; reject invalid values before starting the provider.
|
|
14
|
+
- Require a verified `cli_reasoning_effort` transport contract with the exact CLI flag before admitting scored Grok targets. Host-local overlays retain their host, snapshot, exact identity, and evidence-hash checks; frozen AA scores and the approved registry SHA remain unchanged.
|
|
15
|
+
- Make Grok 4.6 routing defaults explicitly `high`. Missing or stale mappings still fail closed, and explicit effort is rejected on the unsupported live ACP path.
|
|
16
|
+
|
|
17
|
+
### Documentation
|
|
18
|
+
|
|
19
|
+
- Document the distinction between request-selector verification and upstream model identity, and the local overlay refresh required when the CLI or runner changes.
|
|
20
|
+
|
|
9
21
|
## [0.42.1] - 2026-09-07
|
|
10
22
|
|
|
11
23
|
### Fixed
|
|
@@ -837,7 +849,8 @@ work to the wrong model, and records the evidence behind the shipped defaults.
|
|
|
837
849
|
- Initial shared routing table, cross-vendor dispatcher, runners, installer,
|
|
838
850
|
and baseline lint fixes.
|
|
839
851
|
|
|
840
|
-
[Unreleased]: https://github.com/Seraphim0916/omnilane/compare/v0.42.
|
|
852
|
+
[Unreleased]: https://github.com/Seraphim0916/omnilane/compare/v0.42.2...HEAD
|
|
853
|
+
[0.42.2]: https://github.com/Seraphim0916/omnilane/compare/v0.42.1...v0.42.2
|
|
841
854
|
[0.42.1]: https://github.com/Seraphim0916/omnilane/compare/v0.42.0...v0.42.1
|
|
842
855
|
[0.42.0]: https://github.com/Seraphim0916/omnilane/compare/v0.41.1...v0.42.0
|
|
843
856
|
[0.41.1]: https://github.com/Seraphim0916/omnilane/compare/v0.40.0...v0.41.1
|
package/README.ja.md
CHANGED
|
@@ -533,6 +533,12 @@ work の別名ではありません。サービス管理など、work の境界
|
|
|
533
533
|
|
|
534
534
|
## 📜 リリース履歴
|
|
535
535
|
|
|
536
|
+
## v0.42.2 の新機能
|
|
537
|
+
|
|
538
|
+
- **Grok の推論強度を CLI に渡します。** 明示的な `low`、`medium`、`high`、`xhigh` は `--reasoning-effort` で渡され、Grok 4.6 の既定ルートは `high` を選択します。
|
|
539
|
+
- **証拠に基づくローカル対応付け。** ホストローカルの overlay で正確な CLI セレクター契約を検証し、固定 AA スコアや承認済み registry SHA は変更しません。対応付けの欠落・誤りは引き続き拒否し、live ACP の明示的な強度指定も検証完了まで拒否します。
|
|
540
|
+
- **更新。** npm 公開後に `npm i -g omnilane@0.42.2` を実行します。既存の repo-symlink インストールは checkout を更新し、再インストールせずに `omnilane --version` を確認できます。
|
|
541
|
+
|
|
536
542
|
## v0.42.1 の新機能
|
|
537
543
|
|
|
538
544
|
- **CI フィクスチャの修復。** 完全な Python discovery では、旧 routing/Grok readiness テストに synthetic-human caller を明示します。production の missing-identity 拒否、承認済み registry SHA、下方向スコア検査、retry lineage、skip assertion は変更しません。
|
package/README.ko.md
CHANGED
|
@@ -518,6 +518,12 @@ work 는 지정한 디렉터리 안의 변경만 허용하며 모델 연결은
|
|
|
518
518
|
|
|
519
519
|
## 📜 릴리스 기록
|
|
520
520
|
|
|
521
|
+
## v0.42.2 새 기능
|
|
522
|
+
|
|
523
|
+
- **Grok 추론 강도를 CLI에 전달합니다.** 명시적 `low`, `medium`, `high`, `xhigh` 선택을 `--reasoning-effort`로 전달하며 Grok 4.6 기본 경로는 `high`를 선택합니다.
|
|
524
|
+
- **증거 기반 로컬 매핑.** 호스트 로컬 overlay로 정확한 CLI 선택자 계약을 검증하며 고정 AA 점수와 승인된 registry SHA는 변경하지 않습니다. 누락되거나 잘못된 매핑은 계속 거부하며 live ACP의 명시적 강도도 검증될 때까지 차단합니다.
|
|
525
|
+
- **업그레이드.** npm 게시 후 `npm i -g omnilane@0.42.2`를 실행합니다. 기존 repo-symlink 설치는 checkout을 업데이트하고 재설치 없이 `omnilane --version`을 확인할 수 있습니다.
|
|
526
|
+
|
|
521
527
|
## v0.42.1 새 기능
|
|
522
528
|
|
|
523
529
|
- **CI 픽스처 복구.** 전체 Python discovery는 기존 routing 및 Grok readiness 테스트에 synthetic-human caller를 명시합니다. production의 missing-identity 거부, 승인된 registry SHA, 하향 점수 검사, retry lineage, skip assertion은 변경하지 않습니다.
|
package/README.md
CHANGED
|
@@ -627,6 +627,12 @@ working notes, including per-benchmark caveats, live in
|
|
|
627
627
|
|
|
628
628
|
## 📜 Release history
|
|
629
629
|
|
|
630
|
+
## What's new in v0.42.2
|
|
631
|
+
|
|
632
|
+
- **Grok effort reaches the CLI.** Explicit `low`, `medium`, `high`, and `xhigh` selections are passed with `--reasoning-effort`; Grok 4.6 default routes now select `high`.
|
|
633
|
+
- **Evidence-backed local mapping.** A host-local overlay proves the exact CLI selector contract without changing frozen AA scores or the approved registry SHA. Missing or incorrect mappings still deny dispatch; explicit effort on live ACP remains blocked until that surface is verified.
|
|
634
|
+
- **Upgrade.** After npm publication, run `npm i -g omnilane@0.42.2`. Existing repo-symlink installations can update their checkout and verify `omnilane --version` without rerunning installation.
|
|
635
|
+
|
|
630
636
|
## What's new in v0.42.1
|
|
631
637
|
|
|
632
638
|
- **CI fixture repair.** Full Python discovery now gives legacy routing and Grok-readiness fixtures an explicit synthetic-human caller, while production missing-identity denial, the approved registry SHA, downward score checks, retry lineage, and skip assertions remain unchanged.
|
package/README.zh-CN.md
CHANGED
|
@@ -493,6 +493,12 @@ scripts/dispatch.sh --dry-run hardest-coding "…" # 完整解析后的计划,
|
|
|
493
493
|
|
|
494
494
|
## 📜 版本历程
|
|
495
495
|
|
|
496
|
+
## v0.42.2 新功能
|
|
497
|
+
|
|
498
|
+
- **Grok 强度确实传入 CLI。** 显式的 `low`、`medium`、`high`、`xhigh` 通过 `--reasoning-effort` 传递;Grok 4.6 默认路由指定 `high`。
|
|
499
|
+
- **本机映射以证据验证。** 主机本地覆盖文件证明精确 CLI 选择器契约,不调整固定 AA 分数或获准的注册表 SHA。缺失或错误映射仍拒绝派工;实时 ACP 的显式强度在验证完成前仍阻止执行。
|
|
500
|
+
- **升级。** npm 发布后执行 `npm i -g omnilane@0.42.2`。现有 repo-symlink 安装更新 checkout 并确认 `omnilane --version`,无需重新安装。
|
|
501
|
+
|
|
496
502
|
## v0.42.1 新功能
|
|
497
503
|
|
|
498
504
|
- **修复 CI 测试夹具。** 完整 Python discovery 现在会为旧 routing 与 Grok readiness 测试显式指定 synthetic-human caller;production 的缺失身份拒绝、获准 registry SHA、向下分数闸、重试 lineage 与 skip 断言均保持不变。
|
package/README.zh-TW.md
CHANGED
|
@@ -534,6 +534,12 @@ scripts/dispatch.sh --dry-run hardest-coding "…" # 完整解析後的計畫,
|
|
|
534
534
|
|
|
535
535
|
## 📜 版本歷程
|
|
536
536
|
|
|
537
|
+
## v0.42.2 新功能
|
|
538
|
+
|
|
539
|
+
- **Grok 強度確實傳入 CLI。** 明示的 `low`、`medium`、`high`、`xhigh` 透過 `--reasoning-effort` 傳遞;Grok 4.6 預設路由指定 `high`。
|
|
540
|
+
- **本機映射以證據驗證。** 主機本機覆寫檔證明精確 CLI 選擇器契約,不調整固定 AA 分數或核准的登錄表 SHA。缺少或錯誤映射仍拒絕派工;即時 ACP 的明示強度在驗證完成前仍封鎖。
|
|
541
|
+
- **升級。** npm 發布後執行 `npm i -g omnilane@0.42.2`。既有 repo-symlink 安裝更新 checkout 並確認 `omnilane --version`,不需重跑安裝。
|
|
542
|
+
|
|
537
543
|
## v0.42.1 新功能
|
|
538
544
|
|
|
539
545
|
- **修復 CI 測試資料。** 完整 Python discovery 現在會讓舊 routing 與 Grok readiness 測試明示 synthetic-human caller;production 的缺少身分拒絕、核准 registry SHA、向下分數閘、重試 lineage 與 skip 斷言都維持不變。
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.42.
|
|
1
|
+
0.42.2
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Omnilane 0.42.2
|
|
2
|
+
|
|
3
|
+
This patch repairs the Grok single-shot reasoning-effort transport. It does not raise caller scores or remove the exact-AA downward-delegation gate.
|
|
4
|
+
|
|
5
|
+
## Changes
|
|
6
|
+
|
|
7
|
+
- Explicit Grok effort is forwarded as `--reasoning-effort VALUE`. The supported selector spellings are `low`, `medium`, `high`, and `xhigh`; invalid values fail before provider startup.
|
|
8
|
+
- Grok 4.6 entries in the default routing table explicitly select `high`.
|
|
9
|
+
- A scored Grok target requires a verified `cli_reasoning_effort` mapping and the exact `--reasoning-effort` flag. The existing host-local transport overlay validates host, snapshot, exact identity, evidence hashes, vendor, flag, and effort.
|
|
10
|
+
- Explicit effort on the live ACP path is rejected rather than discarded. This release does not add Grok work-mode network isolation on macOS.
|
|
11
|
+
|
|
12
|
+
## Verification boundary
|
|
13
|
+
|
|
14
|
+
The frozen AA registry and its approved SHA remain unchanged. Transport evidence belongs to the local host; the package does not ship a blanket assertion that every Grok model/effort combination is verified.
|
|
15
|
+
|
|
16
|
+
`request-selector-contract` proves how Omnilane selects the model and effort. It does not independently authenticate the upstream model's internal identity: `upstream_identity_verified` remains false. A successful reply alone is not an identity attestation.
|
|
17
|
+
|
|
18
|
+
For an existing local overlay, use `selector_type: cli_reasoning_effort`, `cli_flag: --reasoning-effort`, and matching model/effort identity only after checking the installed CLI and runner. Retain absolute evidence paths and SHA-256 hashes. Changed evidence requires re-verification; do not merely relabel an old mapping as verified. Select it with `--transport-overlay /absolute/overlay.json` or `OMNILANE_AA_TRANSPORT_OVERLAY`.
|
|
19
|
+
|
|
20
|
+
## Upgrade
|
|
21
|
+
|
|
22
|
+
After npm publication:
|
|
23
|
+
|
|
24
|
+
```sh
|
|
25
|
+
npm i -g omnilane@0.42.2
|
|
26
|
+
omnilane --version
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Repo-symlink installations use the updated checkout. Do not rerun `install.sh` just to update the version. Local routing overrides take precedence; review any Grok entries still using `-`.
|
|
30
|
+
|
|
31
|
+
GitHub release, npm publication, local provider smoke, and Linux CI are separate verification surfaces. Release evidence must identify each result rather than equating one with the others.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "omnilane",
|
|
3
|
-
"version": "0.42.
|
|
3
|
+
"version": "0.42.2",
|
|
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"
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"docs/model-capabilities-2026-09.md",
|
|
30
30
|
"docs/native-executor.md",
|
|
31
31
|
"docs/completion-wakeup.md",
|
|
32
|
-
"docs/release-notes-0.42.
|
|
32
|
+
"docs/release-notes-0.42.2.md",
|
|
33
33
|
"hooks/",
|
|
34
34
|
"skills/",
|
|
35
35
|
".claude-plugin/",
|
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.
|
|
4
|
+
"version": "0.42.2",
|
|
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
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# vendor = codex | claude | grok | gemini | kimi | qwen | opencode | openrouter
|
|
4
4
|
# openrouter is direct-API (needs only OPENROUTER_API_KEY + curl) and advise/consult
|
|
5
5
|
# only — it cannot edit files, so it is not in the default work-capable chains.
|
|
6
|
-
# effort = codex reasoning effort / claude --effort / agy thinking suffix /
|
|
6
|
+
# effort = codex reasoning effort / claude --effort / agy thinking suffix / grok --reasoning-effort
|
|
7
7
|
# Fallback chain: the first candidate whose vendor CLI is installed wins, so the
|
|
8
8
|
# same table degrades gracefully when you only subscribe to one or two vendors.
|
|
9
9
|
# Override any line in ~/.omnilane/routing.local.yaml (same format; local wins).
|
|
@@ -20,17 +20,17 @@
|
|
|
20
20
|
# standard short-context API tier — on subscription CLIs treat $ as relative ranking.
|
|
21
21
|
# Your own job outcomes (~/.omnilane/jobs/) outrank these priors; edit lanes to match.
|
|
22
22
|
|
|
23
|
-
hardest-coding: claude claude-fable-5-1 max | codex gpt-6-astra xhigh | grok grok-4.6
|
|
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
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
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
|
|
27
|
-
taste-final: claude claude-fable-5-1 xhigh | codex gpt-6-astra xhigh | grok grok-4.6
|
|
28
|
-
consult: codex gpt-6-astra xhigh | claude claude-fable-5-1 xhigh | grok grok-4.6
|
|
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
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
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
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
|
|
33
|
-
coding-overflow: grok grok-4.6
|
|
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
|
|
34
34
|
arbitrate: off - - # opinion panel remains opt-in because each voter and round consumes quota
|
|
35
35
|
# Enable: `arbitrate: vote codex,claude,grok -` (any 1-4 of codex/claude/grok/gemini)
|
|
36
36
|
# Debate round (each voter rebuts the others): set the effort field to 2.
|
package/scripts/lib/aa_policy.py
CHANGED
|
@@ -164,7 +164,11 @@ def apply_transport_overlay(registry: dict[str, Any]) -> None:
|
|
|
164
164
|
_check(mapping.get("verification") == "request-selector-contract", "unsupported overlay verification")
|
|
165
165
|
_check(mapping.get("runtime_effort") == row["effort"], "overlay effort mismatch")
|
|
166
166
|
selector_type = mapping.get("selector_type", "model_and_effort")
|
|
167
|
-
_check(selector_type in ("model_and_effort", "model_id_encoded_effort"), "unknown selector type")
|
|
167
|
+
_check(selector_type in ("model_and_effort", "model_id_encoded_effort", "cli_reasoning_effort"), "unknown selector type")
|
|
168
|
+
if selector_type == "cli_reasoning_effort":
|
|
169
|
+
_check(row["vendor"] == "grok", "unsupported CLI-effort vendor")
|
|
170
|
+
_check(mapping.get("cli_flag") == "--reasoning-effort", "unproven CLI-effort flag")
|
|
171
|
+
_check(mapping.get("runtime_effort") in ("low", "medium", "high", "xhigh"), "unsupported CLI effort")
|
|
168
172
|
if selector_type == "model_id_encoded_effort":
|
|
169
173
|
_check(row["vendor"] == "gemini", "unsupported encoded-effort vendor")
|
|
170
174
|
_check(mapping.get("runtime_model") in row["transport_mapping"].get("candidate_model_ids", []), "unproven encoded model selector")
|
|
@@ -175,6 +179,7 @@ def apply_transport_overlay(registry: dict[str, Any]) -> None:
|
|
|
175
179
|
status="verified", runtime_verified=True,
|
|
176
180
|
runtime_model=mapping["runtime_model"], runtime_effort=mapping["runtime_effort"],
|
|
177
181
|
selector_type=selector_type,
|
|
182
|
+
cli_flag=mapping.get("cli_flag") if selector_type == "cli_reasoning_effort" else None,
|
|
178
183
|
verification="request-selector-contract", upstream_identity_verified=False,
|
|
179
184
|
overlay_sha256=digest, overlay_host=overlay["host"],
|
|
180
185
|
)
|
|
@@ -248,10 +253,14 @@ def _runtime_target(registry: dict[str, Any], vendor: str, model: str,
|
|
|
248
253
|
candidates.append(row)
|
|
249
254
|
else:
|
|
250
255
|
unresolved.append(row["id"])
|
|
251
|
-
if vendor == "grok" and candidates
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
256
|
+
if vendor == "grok" and candidates and any(
|
|
257
|
+
row["transport_mapping"].get("selector_type") != "cli_reasoning_effort"
|
|
258
|
+
or row["transport_mapping"].get("cli_flag") != "--reasoning-effort"
|
|
259
|
+
or effort not in ("low", "medium", "high", "xhigh")
|
|
260
|
+
for row in candidates
|
|
261
|
+
):
|
|
262
|
+
# Only the verified single-shot CLI selector proves scored effort.
|
|
263
|
+
# Legacy/encoded selectors and live ACP remain unsupported.
|
|
255
264
|
return None, "runtime-effort-discarded", {"vendor": vendor, "model": model, "effort": effort}
|
|
256
265
|
if len(candidates) == 1:
|
|
257
266
|
return candidates[0], "runtime-mapping-verified", {}
|
|
@@ -2,12 +2,17 @@
|
|
|
2
2
|
set -euo pipefail
|
|
3
3
|
# omnilane runner: Grok Build CLI
|
|
4
4
|
# Usage: run-grok.sh MODE WORKDIR MODEL EFFORT PROMPT_FILE OUTPUT_FILE
|
|
5
|
-
# EFFORT is
|
|
5
|
+
# Explicit EFFORT is passed through Grok CLI's reasoning-effort selector.
|
|
6
6
|
|
|
7
7
|
source "$(dirname "${BASH_SOURCE[0]}")/../lib/common.sh"
|
|
8
8
|
|
|
9
9
|
MODE="$1"; WORKDIR="$2"; MODEL="$3"; EFFORT="$4"; PROMPT_FILE="$5"; OUTPUT_FILE="$6"
|
|
10
|
-
|
|
10
|
+
EFFORT_ARGS=()
|
|
11
|
+
case "$EFFORT" in
|
|
12
|
+
low|medium|high|xhigh) EFFORT_ARGS=(--reasoning-effort "$EFFORT") ;;
|
|
13
|
+
-|"") ;; # Unspecified effort has no scored runtime mapping.
|
|
14
|
+
*) echo "omnilane: invalid Grok reasoning effort '$EFFORT'" >&2; exit 2 ;;
|
|
15
|
+
esac
|
|
11
16
|
|
|
12
17
|
GROK_BIN="${GROK_BIN:-grok}"
|
|
13
18
|
RUN_TIMEOUT="${OMNILANE_TIMEOUT:-600}"
|
|
@@ -78,6 +83,10 @@ if [[ "$MODE" != "sysops" && -n "$LIVE_INBOX" ]]; then
|
|
|
78
83
|
exit 2
|
|
79
84
|
fi
|
|
80
85
|
if [[ -n "$LIVE_INBOX" && -p "$LIVE_INBOX" ]]; then
|
|
86
|
+
if [[ ${#EFFORT_ARGS[@]} -gt 0 ]]; then
|
|
87
|
+
echo "omnilane: explicit Grok reasoning effort is not verified for live ACP; use single-shot" >&2
|
|
88
|
+
exit 2
|
|
89
|
+
fi
|
|
81
90
|
EVENTS_FILE="${OUTPUT_FILE}.events.jsonl"
|
|
82
91
|
STDERR_FILE="${OUTPUT_FILE}.stderr.log"
|
|
83
92
|
PROGRESS_FILE="${OUTPUT_FILE}.progress.log"
|
|
@@ -145,6 +154,7 @@ fi
|
|
|
145
154
|
ARGS=(--cwd "$WORKDIR" --model "$MODEL"
|
|
146
155
|
--no-memory --no-subagents --no-plan --no-alt-screen
|
|
147
156
|
--output-format plain --verbatim --prompt-file "$PROMPT_FILE")
|
|
157
|
+
[[ ${#EFFORT_ARGS[@]} -eq 0 ]] || ARGS+=("${EFFORT_ARGS[@]}")
|
|
148
158
|
[[ ${#THREAD_ARGS[@]} -eq 0 ]] || ARGS+=("${THREAD_ARGS[@]}")
|
|
149
159
|
ARGS+=("${MODE_ARGS[@]}")
|
|
150
160
|
# Web/X search stays ON by default for advise and sysops.
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
# Omnilane 0.42.1
|
|
2
|
-
|
|
3
|
-
Omnilane 0.42.1 is a test-fixture and packaging patch for the already-published 0.42.0 exact-AA release. It does not rewrite the `v0.42.0` tag or weaken production routing policy.
|
|
4
|
-
|
|
5
|
-
## Fixes
|
|
6
|
-
|
|
7
|
-
- Legacy routing and Grok-readiness tests now explicitly declare a synthetic-human caller. The fixtures no longer depend on ambient caller metadata, while real model calls without exact identity continue to fail closed.
|
|
8
|
-
- The cross-vendor encoded-effort lineage spy uses portable `#!/usr/bin/env python3` and explicit `--background --single-shot` followed by bounded job completion waiting. This isolates the one-shot provider fixture from Gemini's default live/FIFO lifecycle while retaining the exact `--model gemini-3.8-flash-high` selector, model caller/child ceiling, and no-human-exemption assertions.
|
|
9
|
-
- The npm package points at these 0.42.1 notes and retains all five README translations, the AA policy, and the native/completion-wakeup protocol documents.
|
|
10
|
-
|
|
11
|
-
## Policy boundary
|
|
12
|
-
|
|
13
|
-
The approved exact-AA registry SHA pin, missing-identity denial, downward score ceiling, child caller context, retry-lineage intersection, and model-retry human-exemption rules are unchanged. Registry accounting remains:
|
|
14
|
-
|
|
15
|
-
- 78 scored eligible configurations;
|
|
16
|
-
- 1 scored reference-only comparison entry;
|
|
17
|
-
- 10 unknown configurations.
|
|
18
|
-
|
|
19
|
-
## Upgrade
|
|
20
|
-
|
|
21
|
-
After npm publication:
|
|
22
|
-
|
|
23
|
-
```sh
|
|
24
|
-
npm i -g omnilane@0.42.1
|
|
25
|
-
omnilane --version
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
For an existing repo-symlink installation, update the checkout and run `omnilane --version`. Do not rerun `./install.sh` unless intentionally reviewing and changing integration wiring. A GitHub release does not by itself prove npm publication.
|
|
29
|
-
|
|
30
|
-
## Verification target
|
|
31
|
-
|
|
32
|
-
The patch release gate is the complete CI Python discovery command, the full shell suite, package/release policy checks, and a smoke test of the CLI extracted from the built npm tarball. Local preparation records are not packaged release evidence. Published-platform verification must come from the release's GitHub Actions run; local checks alone do not establish a Linux CI pass.
|