omnilane 0.10.4 → 0.12.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/CHANGELOG.md CHANGED
@@ -6,6 +6,88 @@ semantic version tags.
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.12.0] - 2026-08-03
10
+
11
+ ### Changed
12
+
13
+ - `hardest-coding` now runs GPT-5.6 Sol at `xhigh` instead of `max`. On
14
+ Artificial Analysis's per-effort Coding Index, Sol at xhigh scores ahead of
15
+ Sol at max and of every Claude tier, at roughly a third less cost per task:
16
+ past xhigh, more effort buys overthinking on this workload rather than
17
+ accuracy. The lane's Claude candidate is unchanged.
18
+ - `fast-agentic` now runs GPT-5.6 Luna first, with Gemini 3.6 Flash as the
19
+ second candidate. Luna leads Flash on AA's Agentic Index by a wide margin,
20
+ and OpenAI's 2026-07-30 reprice left it costing a fraction as much per task.
21
+ Flash keeps only a throughput advantage, so put it back in front locally if
22
+ your loops are latency-bound. Both models accept image input, so the lane's
23
+ multimodal checks are unaffected either way.
24
+ - Lane comments in `routing.yaml` no longer carry benchmark scores, prices or
25
+ throughput figures. They state why a lane is ordered the way it is, which
26
+ stays true for months; the figures, each with the date it was retrieved, now
27
+ live only in `docs/model-capabilities-2026-07.md`. A number going stale
28
+ should not require a routing-table edit. This refresh found a Coding Agent
29
+ Index figure that had survived two re-bases inside a comment while the docs
30
+ forbade quoting that index at all.
31
+
32
+ ### Added
33
+
34
+ - **`--mode sysops`**, a third dispatch mode: `work` minus the vendor sandbox,
35
+ for service operations the sandbox denies (`launchctl` and similar). Codex
36
+ runs it with `-s danger-full-access`; every other vendor treats it as plain
37
+ `work`. It hands the worker full access to the machine, so it is an explicit
38
+ per-dispatch flag and cannot be set as a lane default — an invalid `--mode`
39
+ still exits 2 rather than falling through to a write-enabled branch. Codex
40
+ under `work` or `sysops` continues to require a git-repo `--workdir`.
41
+ - `routing.local.yaml.example` ships a **value profile**: the same vendors one
42
+ effort notch cheaper, trading about one Intelligence Index point for 30-40%
43
+ off the cost per task, plus a clearly-marked riskier tier for models on the
44
+ cost/intelligence frontier that hallucinate heavily.
45
+ - `docs/model-capabilities-2026-07.md` documents AA's two Capability Indices —
46
+ Coding Index (Terminal-Bench v2.1 + SciCode) and Agentic Index (GDPval-AA v2
47
+ + τ³-Banking) — with the composition, weights and the caveat that neither
48
+ carries a version label, so a re-base would arrive silently.
49
+
50
+ ### Fixed
51
+
52
+ - Corrected the pricing table for OpenAI's 2026-07-30 reprice: GPT-5.6 Terra is
53
+ $2/$12 and Luna is $0.20/$1.20; Sol is unchanged. Subscription quotas are
54
+ unchanged but Terra and Luna now consume fewer credits.
55
+ - Replaced the Intelligence Index table, which quoted a 2026-07-24 article, with
56
+ values retrieved from AA on 2026-08-02. AA re-measures, and most rows had
57
+ moved 10-20% on cost per task in the interim.
58
+ - Documented that AA's **Coding Index is not the Coding Agent Index**. They
59
+ share no components, and their numbers collide: Claude Opus 5 reads 77.98 on
60
+ the former, right on top of the 77/78 figures circulating for the latter's
61
+ v1.3.
62
+
63
+ ## [0.11.0] - 2026-07-27
64
+
65
+ No routing changes. The Live Board is now readable in five languages.
66
+
67
+ ### Added
68
+
69
+ - The Live Board reads in English, Japanese, Korean, Traditional Chinese and
70
+ Simplified Chinese. On first load it follows the browser languages; a switcher
71
+ in the header overrides that and the choice is remembered in `localStorage`.
72
+ Every string is covered, including headings, the search placeholder, filter
73
+ buttons, empty and error states, content markers, and the `aria-label`
74
+ attributes that screen readers announce. `<html lang>` follows the selection.
75
+ - Job states are translated for display. The `state-` CSS classes still carry
76
+ the raw value, so status colours are unchanged, and the search index holds
77
+ both spellings: `running` and its translation both match the same job.
78
+
79
+ ### Changed
80
+
81
+ - Counts use `Intl.PluralRules`, so English distinguishes `1 job` from `2 jobs`
82
+ while languages without that distinction get a single form.
83
+ - The locale tables are embedded in `ui/app.js` rather than fetched as a
84
+ separate asset. `scripts/ui.py` deliberately allow-lists exactly three
85
+ read-only files, and translating the board leaves that surface untouched.
86
+ - The token contract test no longer bans `localStorage` by name, because the
87
+ language preference needs it. The replacement is narrower and stronger: every
88
+ `localStorage` call must reference `LANGUAGE_STORAGE_KEY`, and the session
89
+ token must only ever reach `sessionStorage`.
90
+
9
91
  ## [0.10.4] - 2026-07-26
10
92
 
11
93
  No lane ordering changes. This release corrects documentation that could send
@@ -447,7 +529,9 @@ work to the wrong model, and records the evidence behind the shipped defaults.
447
529
  - Initial shared routing table, cross-vendor dispatcher, runners, installer,
448
530
  and baseline lint fixes.
449
531
 
450
- [Unreleased]: https://github.com/Seraphim0916/omnilane/compare/v0.10.4...HEAD
532
+ [Unreleased]: https://github.com/Seraphim0916/omnilane/compare/v0.12.0...HEAD
533
+ [0.12.0]: https://github.com/Seraphim0916/omnilane/compare/v0.11.0...v0.12.0
534
+ [0.11.0]: https://github.com/Seraphim0916/omnilane/compare/v0.10.4...v0.11.0
451
535
  [0.10.4]: https://github.com/Seraphim0916/omnilane/compare/v0.10.3...v0.10.4
452
536
  [0.10.3]: https://github.com/Seraphim0916/omnilane/compare/v0.10.2...v0.10.3
453
537
  [0.10.2]: https://github.com/Seraphim0916/omnilane/compare/v0.10.1...v0.10.2
package/README.ja.md CHANGED
@@ -112,7 +112,7 @@ flowchart LR
112
112
 
113
113
  | レーン | 第一候補 | バックアップ | 用途 |
114
114
  |---|---|---|---|
115
- | 🔥 hardest-coding | GPT-5.6 Sol (max) | Claude Opus 5 (xhigh) | 最難関の実装、根本原因デバッグ、正確性が要の変更 |
115
+ | 🔥 hardest-coding | GPT-5.6 Sol (xhigh) | Claude Opus 5 (xhigh) | 最難関の実装、根本原因デバッグ、正確性が要の変更 |
116
116
  | 🏗️ bulk-mechanical | GPT-5.6 Terra (max) | Claude Sonnet 5 (high) | リファクタ、移行、テスト、大規模スイープ |
117
117
  | 🧹 triage | GPT-5.6 Luna (medium) | Gemini 3.6 Flash (Low) | 大量の一次スクリーニング |
118
118
  | ⚖️ hard-judgment | Claude Opus 5 (xhigh) | GPT-5.6 Sol (max) | アーキテクチャ裁定、深い推論、セカンドオピニオン |
@@ -120,7 +120,7 @@ flowchart LR
120
120
  | 💬 consult | 明示指定したベンダー/モデル | —(フォールバックなし) | 自然言語で直接相談。`--vendor` を必ず維持 |
121
121
  | 🎨 ui-draft | GPT-5.6 Sol (xhigh) | Claude Opus 5 (high) | デザインシステム/参考画像がある場合の UI ドラフト |
122
122
  | 📚 long-context | Gemini 3.1 Pro (High) | Claude Opus 5 (high) | 100 万トークン級の走査と検索。複数箇所をまたぐ統合には Claude 候補を、高速反復ループは Flash を優先 |
123
- | ⚡ fast-agentic | Gemini 3.6 Flash (High) | GPT-5.6 Luna (high) | 高速なマルチステップ agentic ループ、マルチモーダル確認 |
123
+ | ⚡ fast-agentic | GPT-5.6 Luna (max) | Gemini 3.6 Flash (High) | 高速なマルチステップ agentic ループ、マルチモーダル確認 |
124
124
  | 📡 live-search | Grok 4.5 | —(off) | リアルタイム X/ウェブ検索とソーシャル文脈 |
125
125
  | 🚰 coding-overflow | Grok 4.5 | Kimi K3 → Qwen3 Coder Plus → OpenCode | Codex クォータ逼迫時の中級コーディング逃し弁 |
126
126
  | 🗳️ arbitrate | off(オプトイン) | — | 内蔵オピニオンパネル(重大な判断用)——デフォルト無効。`routing.local.yaml` で有効化;投票者×ラウンドごとに 1 コール消費 |
@@ -197,6 +197,9 @@ omnilane ui stop # 正常に停止
197
197
  のみを表示し、ワーカーや
198
198
  ベンダーの生ログは表示しません。
199
199
 
200
+ 画面は英語・日本語・韓国語・繁体字中国語・簡体字中国語で読めます。初回はブラウザ
201
+ の言語に従い、ヘッダーの切り替えで上書きでき、選んだ言語はローカルに記憶されます。
202
+
200
203
  コアルーティングに Python は不要で、この UI のみ Python 3.9 以降が必要です。
201
204
 
202
205
  ## 📦 インストール
@@ -288,7 +291,7 @@ omnilane ui status # Live UI の稼働状態を表
288
291
  omnilane ui url # 現在の認証済みローカル URL を表示
289
292
  omnilane ui stop # Live UI を停止
290
293
  omnilane doctor [--json] # ルーティングとローカル実行環境を読み取り専用で診断
291
- dispatch.sh [--background] [--dry-run] [--mode advise|work] [--workdir DIR]
294
+ dispatch.sh [--background] [--dry-run] [--mode advise|work|sysops] [--workdir DIR]
292
295
  [--vendor V] [--model M] [--effort E] [--timeout SEC] [--job-timeout SEC]
293
296
  LANE "TASK" # "-" で stdin から読む
294
297
  dispatch.sh [--json] --list [--json]
@@ -323,6 +326,12 @@ configure.sh set|get|unset|list|diff LANE [SPEC] # routing.local.yaml を非
323
326
  workspace-write、Claude は編集自動承認、Gemini は accept-edits モード。
324
327
  `openrouter` vendor は work モードを明確に拒否します——編集はエージェント型
325
328
  CLI ベンダーへ。
329
+ - **sysops** — `work` からベンダーのサンドボックスを外したモード。サンドボックスが
330
+ 拒否するサービス操作(`launchctl` など)向けです。Codex は
331
+ `-s danger-full-access` で実行し、他のベンダーは通常の `work` として扱います。
332
+ マシン全体へのアクセスをワーカーに与えることになるため、ディスパッチごとに
333
+ 明示指定する必要があり、レーンの既定値には決してできません。`work` が
334
+ サンドボックス拒否で失敗するのを実際に確認した場合にのみ使ってください。
326
335
 
327
336
  ## 🔒 安全機構
328
337
 
@@ -475,6 +484,10 @@ scripts/dispatch.sh --dry-run hardest-coding "…" # 解決済みプラン、
475
484
  依頼した場合のみです。ディスパッチの既定は読み取り専用の `advise` で、ベンダーごとに
476
485
  実装されています(読み取り専用サンドボックス、plan モード、あるいは読み取り専用の
477
486
  ツールセット)。編集には `--mode work` と明示的な `--workdir` の両方が必要です。
487
+ 第三のモード `--mode sysops` は `work` からベンダーのサンドボックスを外したもので、
488
+ サンドボックスが拒否するサービス操作(`launchctl` など)向けです。codex は
489
+ `-s danger-full-access` で実行し、他のベンダーは `work` として扱います。
490
+ ディスパッチごとの明示指定のみで、レーンの既定値にはなりません。
478
491
  ワーカー自身は再ディスパッチできません——深度ガードが終了コード 86 で入れ子の
479
492
  ファンアウトを拒否するため、一つのコマンドがエージェントの連鎖に膨らんでクォータを
480
493
  食い潰すことはありません。
@@ -503,6 +516,39 @@ scripts/dispatch.sh --dry-run hardest-coding "…" # 解決済みプラン、
503
516
 
504
517
  ## 📜 リリース履歴
505
518
 
519
+ ## v0.12.0 の新機能
520
+
521
+ - **`hardest-coding` の Sol を `max` から `xhigh` へ** — AA の努力度別 Coding Index
522
+ では、Sol の xhigh が自身の max も Claude の全ティアも上回り、コストは約 3 分の 1
523
+ 少ない。この種の作業では xhigh を超えた努力度は正確さではなく考えすぎを買う。
524
+ - **`fast-agentic` の第一候補が GPT-5.6 Luna に**、Gemini 3.6 Flash は第二候補へ。
525
+ Luna は AA の Agentic Index で Flash を大きく上回り、2026-07-30 の値下げ後は
526
+ タスクあたりコストがごく僅か。Flash に残る優位はスループットのみ — レイテンシ律速の
527
+ ループならローカル設定で先頭に戻すこと。
528
+ - **レーンのコメントから数値を排除。** `routing.yaml` は各順序の「理由」だけを述べ、
529
+ スコア・価格・スループットは取得日とともに `docs/model-capabilities-2026-07.md` に
530
+ 集約。数値が古くなってもルーティング表の編集は不要になった。
531
+ - **value プロファイル**を `routing.local.yaml.example` に追加 — Intelligence Index
532
+ 約 1 ポイントと引き換えに、タスクあたりコストを 30〜40% 削減。
533
+ - **`--mode sysops` を追加** — ベンダーのサンドボックスを外した `work`。サンドボックスが
534
+ 拒否するサービス操作向けです。ワーカーにマシン全体へのアクセスを与えるため、
535
+ ディスパッチごとの指定のみで、レーンの既定値にはできません。
536
+ - **価格とベンチマークを更新**(2026-07-30 の OpenAI 値下げ反映)。あわせて AA の
537
+ Coding Index が Coding Agent Index **ではない**ことを明記 — 構成要素は全く別物だが
538
+ 数値が近接する。
539
+
540
+ ## v0.11.0 の新機能
541
+
542
+ - **Live Board が 5 言語で読めます** — 英語・日本語・韓国語・繁体字中国語・簡体字
543
+ 中国語。初回はブラウザの言語に従い、ヘッダーの切り替えで上書きでき、選択は
544
+ ローカルに記憶されます。見出し、検索プレースホルダー、フィルターボタン、空状態と
545
+ エラー状態、コンテンツマーカー、スクリーンリーダーが読み上げる `aria-label` まで
546
+ 対象で、`<html lang>` も選択に追従します。
547
+ - **ジョブ状態も翻訳しますが、参照側は壊しません** — `state-` の CSS クラスは元の値
548
+ のままなのでステータス色は変わらず、検索インデックスは両方の表記を保持するため、
549
+ `running` でも訳語でも同じジョブに一致します。
550
+ - **ルーティング変更なし。** ディスパッチ動作は v0.10.4 と同一です。
551
+
506
552
  ## v0.10.4 の新機能
507
553
 
508
554
  - **`long-context` がマルチホップ作業を誤ったモデルに向けなくなりました** — この
package/README.ko.md CHANGED
@@ -110,7 +110,7 @@ flowchart LR
110
110
 
111
111
  | 레인 | 1순위 모델 | 백업 | 용도 |
112
112
  |---|---|---|---|
113
- | 🔥 hardest-coding | GPT-5.6 Sol (max) | Claude Opus 5 (xhigh) | 가장 어려운 구현, 근본 원인 디버깅, 정확성이 핵심인 수정 |
113
+ | 🔥 hardest-coding | GPT-5.6 Sol (xhigh) | Claude Opus 5 (xhigh) | 가장 어려운 구현, 근본 원인 디버깅, 정확성이 핵심인 수정 |
114
114
  | 🏗️ bulk-mechanical | GPT-5.6 Terra (max) | Claude Sonnet 5 (high) | 리팩터링, 마이그레이션, 테스트, 대량 스윕 |
115
115
  | 🧹 triage | GPT-5.6 Luna (medium) | Gemini 3.6 Flash (Low) | 대량 1차 선별 |
116
116
  | ⚖️ hard-judgment | Claude Opus 5 (xhigh) | GPT-5.6 Sol (max) | 아키텍처 중재, 깊은 추론, 세컨드 오피니언 |
@@ -118,7 +118,7 @@ flowchart LR
118
118
  | 💬 consult | 명시적으로 지정한 벤더/모델 | —(폴백 없음) | 자연어 직접 상담. `--vendor` 를 반드시 유지 |
119
119
  | 🎨 ui-draft | GPT-5.6 Sol (xhigh) | Claude Opus 5 (high) | 디자인 시스템/참고 이미지가 있을 때의 UI 초안 |
120
120
  | 📚 long-context | Gemini 3.1 Pro (High) | Claude Opus 5 (high) | 100만 토큰급 훑기와 검색. 여러 곳을 잇는 다중 홉 통합은 Claude 후보를, 빠른 반복 루프는 Flash 우선 |
121
- | ⚡ fast-agentic | Gemini 3.6 Flash (High) | GPT-5.6 Luna (high) | 빠른 멀티스텝 agentic 루프, 멀티모달 확인 |
121
+ | ⚡ fast-agentic | GPT-5.6 Luna (max) | Gemini 3.6 Flash (High) | 빠른 멀티스텝 agentic 루프, 멀티모달 확인 |
122
122
  | 📡 live-search | Grok 4.5 | —(off) | 실시간 X/웹 검색과 소셜 맥락 |
123
123
  | 🚰 coding-overflow | Grok 4.5 | Kimi K3 → Qwen3 Coder Plus → OpenCode | Codex 쿼터 소진 시 중급 코딩 안전 밸브 |
124
124
  | 🗳️ arbitrate | off(옵트인) | — | 내장 의견 패널(중대한 결정용)——기본 비활성. `routing.local.yaml` 에서 활성화;투표자×라운드마다 1콜 소모 |
@@ -193,6 +193,9 @@ omnilane ui stop # 정상 중지
193
193
  `127.0.0.1` 에만 바인딩하고 무작위 토큰으로 보호하는 읽기 전용 화면입니다.
194
194
  `task.txt` 와 공개용 `out.txt` 만 표시하며 워커나 벤더 원시 로그는 표시하지 않습니다.
195
195
 
196
+ 화면은 영어, 일본어, 한국어, 번체 중국어, 간체 중국어로 볼 수 있습니다. 처음에는
197
+ 브라우저 언어를 따르고, 헤더의 선택기로 바꿀 수 있으며 선택은 로컬에 기억됩니다.
198
+
196
199
  핵심 라우팅에는 Python 이 필요 없고, 이 UI 에만 Python 3.9 이상이 필요합니다.
197
200
 
198
201
  ## 📦 설치
@@ -280,7 +283,7 @@ omnilane ui status # Live UI 실행 상태 표시
280
283
  omnilane ui url # 현재 인증된 로컬 URL 표시
281
284
  omnilane ui stop # Live UI 중지
282
285
  omnilane doctor [--json] # 라우팅과 로컬 실행 환경을 읽기 전용으로 진단
283
- dispatch.sh [--background] [--dry-run] [--mode advise|work] [--workdir DIR]
286
+ dispatch.sh [--background] [--dry-run] [--mode advise|work|sysops] [--workdir DIR]
284
287
  [--vendor V] [--model M] [--effort E] [--timeout SEC] [--job-timeout SEC]
285
288
  LANE "TASK" # "-" 는 stdin 에서 읽기
286
289
  dispatch.sh [--json] --list [--json]
@@ -313,6 +316,11 @@ CLI 를 사용할 수 없음, `5` 1라운드 성공 투표자 부족, `6` 2라
313
316
  workspace-write, Claude 는 편집 자동 승인, Gemini 는 accept-edits 모드.
314
317
  `openrouter` vendor 는 work 모드를 명확한 오류로 거부합니다——파일 편집은
315
318
  에이전트형 CLI 벤더로 보내세요.
319
+ - **sysops** — `work` 에서 벤더 샌드박스를 뺀 모드. 샌드박스가 거부하는 서비스
320
+ 작업(`launchctl` 등)을 위한 것입니다. Codex 는 `-s danger-full-access` 로
321
+ 실행하고, 다른 벤더는 일반 `work` 로 취급합니다. 워커에게 머신 전체 접근 권한을
322
+ 주는 셈이므로 디스패치마다 명시적으로 지정해야 하며 레인 기본값이 될 수 없습니다.
323
+ `work` 가 샌드박스 거부로 실패하는 것을 직접 확인한 경우에만 쓰세요.
316
324
 
317
325
  ## 🔒 안전 장치
318
326
 
@@ -460,7 +468,11 @@ scripts/dispatch.sh --dry-run hardest-coding "…" # 완전히 해석된 계
460
468
 
461
469
  요청했을 때만 가능합니다. 디스패치의 기본값은 읽기 전용 `advise` 이며 벤더별로
462
470
  구현되어 있습니다(읽기 전용 샌드박스, plan 모드, 또는 읽기 전용 도구 집합).
463
- 수정하려면 `--mode work` 와 명시적인 `--workdir` 가 모두 필요합니다. 워커는 다시
471
+ 수정하려면 `--mode work` 와 명시적인 `--workdir` 가 모두 필요합니다. 번째 모드인
472
+ `--mode sysops` 는 `work` 에서 벤더 샌드박스를 뺀 것으로, 샌드박스가 거부하는 서비스
473
+ 작업(`launchctl` 등)을 위한 것입니다. codex 는 `-s danger-full-access` 로 실행하고
474
+ 다른 벤더는 `work` 로 취급하며, 디스패치마다 명시해야 할 뿐 레인 기본값이 될 수
475
+ 없습니다. 워커는 다시
464
476
  디스패치할 수도 없습니다——깊이 가드가 종료 코드 86 으로 중첩 팬아웃을 거부하므로,
465
477
  명령 하나가 에이전트 연쇄로 번져 할당량을 태우는 일은 없습니다.
466
478
 
@@ -487,6 +499,39 @@ scripts/dispatch.sh --dry-run hardest-coding "…" # 완전히 해석된 계
487
499
 
488
500
  ## 📜 릴리스 기록
489
501
 
502
+ ## v0.12.0 새 기능
503
+
504
+ - **`hardest-coding`의 Sol을 `max`에서 `xhigh`로** — AA의 노력 수준별 Coding Index
505
+ 에서 Sol의 xhigh가 자신의 max와 모든 Claude 티어를 앞서면서 비용은 약 3분의 1
506
+ 적다. 이 작업에서 xhigh를 넘는 노력은 정확도가 아니라 과잉 사고를 산다.
507
+ - **`fast-agentic`의 1순위가 GPT-5.6 Luna로**, Gemini 3.6 Flash는 2순위. Luna는 AA
508
+ Agentic Index에서 Flash를 크게 앞서고, 2026-07-30 가격 인하 후 태스크당 비용이
509
+ 극히 낮다. Flash에 남은 우위는 처리량뿐 — 레이턴시가 병목인 루프라면 로컬 설정에서
510
+ 다시 앞에 두면 된다.
511
+ - **레인 주석에서 수치 제거.** `routing.yaml`은 각 순서가 성립하는 "이유"만 서술하고,
512
+ 점수·가격·처리량은 조회 날짜와 함께 `docs/model-capabilities-2026-07.md`에만 둔다.
513
+ 수치가 낡아도 라우팅 표를 고칠 필요가 없다.
514
+ - **value 프로파일** 추가(`routing.local.yaml.example`) — Intelligence Index 약 1점을
515
+ 내주고 태스크당 비용을 30~40% 절감.
516
+ - **`--mode sysops` 추가** — 벤더 샌드박스를 뺀 `work`. 샌드박스가 거부하는 서비스
517
+ 작업을 위한 것입니다. 워커에게 머신 전체 접근 권한을 주므로 디스패치별 지정만
518
+ 가능하며 레인 기본값이 될 수 없습니다.
519
+ - **가격·벤치마크 갱신**(2026-07-30 OpenAI 인하 반영). 그리고 AA의 Coding Index는
520
+ Coding Agent Index가 **아니라는** 점을 문서화 — 구성 요소가 전혀 다른데 수치가
521
+ 겹친다.
522
+
523
+ ## v0.11.0 새 기능
524
+
525
+ - **Live Board 를 5 개 언어로 읽을 수 있습니다** — 영어, 일본어, 한국어, 번체 중국어,
526
+ 간체 중국어. 처음에는 브라우저 언어를 따르고, 헤더의 선택기로 바꿀 수 있으며 선택은
527
+ 로컬에 기억됩니다. 제목, 검색 자리표시자, 필터 버튼, 빈 상태와 오류 상태, 콘텐츠
528
+ 마커, 스크린 리더가 읽는 `aria-label` 까지 모두 포함하며 `<html lang>` 도 선택을
529
+ 따릅니다.
530
+ - **작업 상태도 번역하지만 이를 읽는 쪽은 그대로입니다** — `state-` CSS 클래스는 원래
531
+ 값을 유지해 상태 색상이 바뀌지 않고, 검색 색인은 두 표기를 모두 담고 있어 `running`
532
+ 으로도 번역어로도 같은 작업이 검색됩니다.
533
+ - **라우팅 변경 없음.** 디스패치 동작은 v0.10.4 와 동일합니다.
534
+
490
535
  ## v0.10.4 새 기능
491
536
 
492
537
  - **`long-context` 가 더 이상 다중 홉 작업을 잘못된 모델로 보내지 않습니다** — 이
package/README.md CHANGED
@@ -115,7 +115,7 @@ actually resolves.
115
115
 
116
116
  | Lane | First choice | Backup | When |
117
117
  |---|---|---|---|
118
- | 🔥 hardest-coding | GPT-5.6 Sol (max) | Claude Opus 5 (xhigh) | Hardest implementation, deep root-cause debug, correctness-critical edits |
118
+ | 🔥 hardest-coding | GPT-5.6 Sol (xhigh) | Claude Opus 5 (xhigh) | Hardest implementation, deep root-cause debug, correctness-critical edits |
119
119
  | 🏗️ bulk-mechanical | GPT-5.6 Terra (max) | Claude Sonnet 5 (high) | Refactors, migrations, tests, review sweeps — mechanical endurance |
120
120
  | 🧹 triage | GPT-5.6 Luna (medium) | Gemini 3.6 Flash (Low) | High-volume scans, first-pass filtering |
121
121
  | ⚖️ hard-judgment | Claude Opus 5 (xhigh) | GPT-5.6 Sol (max) | Architecture arbitration, deep reasoning, second opinions |
@@ -123,7 +123,7 @@ actually resolves.
123
123
  | 💬 consult | Explicit named vendor/model | — (no fallback) | Direct natural-language consultation; always keep `--vendor` |
124
124
  | 🎨 ui-draft | GPT-5.6 Sol (xhigh) | Claude Opus 5 (high) | UI drafts only WITH a design system / reference images |
125
125
  | 📚 long-context | Gemini 3.1 Pro (High) | Claude Opus 5 (high) | 1M-token sweeps and retrieval; for multi-hop synthesis prefer the Claude candidate, and Flash for fast repeated loops |
126
- | ⚡ fast-agentic | Gemini 3.6 Flash (High) | GPT-5.6 Luna (high) | Fast multi-step agentic loops, multimodal checks |
126
+ | ⚡ fast-agentic | GPT-5.6 Luna (max) | Gemini 3.6 Flash (High) | Fast multi-step agentic loops, multimodal checks |
127
127
  | 📡 live-search | Grok 4.5 | — (off) | Realtime X/web search and social context |
128
128
  | 🚰 coding-overflow | Grok 4.5 | Kimi K3 → Qwen3 Coder Plus → OpenCode | Codex-quota relief valve for mid-tier coding |
129
129
  | 🗳️ arbitrate | off (opt-in vote panel) | — | Built-in opinion panel for big calls — disabled by default; enable it in `routing.local.yaml`, one call per voter per round |
@@ -195,6 +195,10 @@ The reference is memory-only and disappears when the page closes. The board
195
195
  binds only to `127.0.0.1`, uses a random token, and is read-only. It shows
196
196
  `task.txt` and the public `out.txt`, but never raw worker or vendor logs.
197
197
 
198
+ The board reads in English, Japanese, Korean, Traditional Chinese and Simplified
199
+ Chinese. It follows the browser language on first load; the switcher in the
200
+ header overrides that and the choice is remembered locally.
201
+
198
202
  Core routing does not need Python; only this UI requires Python 3.9 or newer.
199
203
 
200
204
  ## 📦 Install
@@ -296,7 +300,7 @@ omnilane ui status # report whether the Live UI is r
296
300
  omnilane ui url # print the current authenticated local URL
297
301
  omnilane ui stop # stop the Live UI
298
302
  omnilane doctor [--json] # read-only routing and runtime health report
299
- dispatch.sh [--background] [--dry-run] [--mode advise|work] [--workdir DIR]
303
+ dispatch.sh [--background] [--dry-run] [--mode advise|work|sysops] [--workdir DIR]
300
304
  [--vendor V] [--model M] [--effort E] [--timeout SEC] [--job-timeout SEC]
301
305
  LANE "TASK" # "-" reads task from stdin
302
306
  dispatch.sh [--json] --list [--json]
@@ -345,6 +349,12 @@ code passes through.
345
349
  Codex gets a workspace-write sandbox; Claude auto-accepts edits; Gemini runs
346
350
  in accept-edits mode. The `openrouter` vendor refuses work mode with a clear
347
351
  error — route edits to an agentic CLI vendor instead.
352
+ - **sysops** — `work` minus the vendor sandbox, for service operations the
353
+ sandbox denies (`launchctl` and friends). Codex runs it with
354
+ `-s danger-full-access`; every other vendor treats it as plain `work`. This
355
+ hands the worker full access to the machine, so it is an explicit
356
+ per-dispatch opt-in and can never be a lane default. Reach for it only when
357
+ you have watched `work` fail on a sandbox denial.
348
358
 
349
359
  ## 🔒 Safety rails
350
360
 
@@ -504,7 +514,11 @@ scripts/dispatch.sh --dry-run hardest-coding "…" # fully resolved plan, no p
504
514
 
505
515
  Only if you ask for it. Dispatch defaults to `advise`, a read-only mode enforced
506
516
  per vendor (read-only sandbox, plan mode, or read-only tool set depending on the
507
- CLI). Editing requires both `--mode work` and an explicit `--workdir`. Workers
517
+ CLI). Editing requires both `--mode work` and an explicit `--workdir`. A third
518
+ mode, `--mode sysops`, is `work` minus the vendor sandbox — for service
519
+ operations the sandbox denies (e.g. `launchctl`); codex runs it with
520
+ `-s danger-full-access`, other vendors treat it as `work`, and it is an
521
+ explicit per-dispatch opt-in, never a lane default. Workers
508
522
  also cannot dispatch again — the depth guard refuses nested fan-out with exit 86,
509
523
  so one command can never spiral into a chain of agents spending your quota.
510
524
 
@@ -533,6 +547,44 @@ working notes, including per-benchmark caveats, live in
533
547
 
534
548
  ## 📜 Release history
535
549
 
550
+ ## What's new in v0.12.0
551
+
552
+ - **`hardest-coding` drops Sol from `max` to `xhigh`** — on AA's per-effort
553
+ Coding Index, Sol at xhigh outscores Sol at max and every Claude tier while
554
+ costing about a third less. Past xhigh, effort buys overthinking rather than
555
+ accuracy on this workload.
556
+ - **`fast-agentic` leads with GPT-5.6 Luna**, Gemini 3.6 Flash second. Luna
557
+ leads Flash on AA's Agentic Index by a wide margin and, after OpenAI's
558
+ 2026-07-30 reprice, costs a fraction as much per task. Flash keeps only a
559
+ throughput edge — put it back in front locally if your loops are
560
+ latency-bound.
561
+ - **Lane comments no longer carry numbers.** `routing.yaml` now states why each
562
+ ordering holds; every score, price and throughput figure lives in
563
+ `docs/model-capabilities-2026-07.md` with its retrieval date, so a stale
564
+ figure never requires a routing-table edit.
565
+ - **A value profile** in `routing.local.yaml.example` trades about one
566
+ Intelligence Index point for 30-40% off the cost per task.
567
+ - **New `--mode sysops`** — `work` without the vendor sandbox, for service
568
+ operations the sandbox denies. It gives the worker full machine access, so it
569
+ is a per-dispatch flag only and can never be a lane default.
570
+ - **Refreshed pricing and benchmark data** for the 2026-07-30 OpenAI reprice,
571
+ and documented that AA's Coding Index is *not* the Coding Agent Index — they
572
+ share no components and their numbers collide.
573
+
574
+ ## What's new in v0.11.0
575
+
576
+ - **The Live Board reads in five languages** — English, Japanese, Korean,
577
+ Traditional Chinese and Simplified Chinese. It follows the browser languages
578
+ on first load, the switcher in the header overrides that, and the choice is
579
+ remembered locally. Headings, the search placeholder, filter buttons, empty
580
+ and error states, content markers and the `aria-label` attributes screen
581
+ readers announce are all covered, and `<html lang>` follows the selection.
582
+ - **Job states are translated without breaking anything that reads them** — the
583
+ `state-` CSS classes keep the raw value so status colours are unchanged, and
584
+ the search index holds both spellings, so `running` and its translation match
585
+ the same job.
586
+ - **No routing changes.** Dispatch behaviour is identical to v0.10.4.
587
+
536
588
  ## What's new in v0.10.4
537
589
 
538
590
  - **`long-context` no longer points multi-hop work at the wrong model** — the
package/README.zh-CN.md CHANGED
@@ -103,7 +103,7 @@ flowchart LR
103
103
 
104
104
  | 通道 | 首选模型 | 备选模型 | 用途 |
105
105
  |---|---|---|---|
106
- | 🔥 hardest-coding | GPT-5.6 Sol (max) | Claude Opus 5 (xhigh) | 最难的实现、深度调试、正确性攸关的修改 |
106
+ | 🔥 hardest-coding | GPT-5.6 Sol (xhigh) | Claude Opus 5 (xhigh) | 最难的实现、深度调试、正确性攸关的修改 |
107
107
  | 🏗️ bulk-mechanical | GPT-5.6 Terra (max) | Claude Sonnet 5 (high) | 重构、迁移、测试、大面积扫描——机械耐力活 |
108
108
  | 🧹 triage | GPT-5.6 Luna (medium) | Gemini 3.6 Flash (Low) | 高量初筛、第一轮过滤 |
109
109
  | ⚖️ hard-judgment | Claude Opus 5 (xhigh) | GPT-5.6 Sol (max) | 架构仲裁、深度推理、第二意见 |
@@ -111,7 +111,7 @@ flowchart LR
111
111
  | 💬 consult | 明确指定的厂商/模型 | —(不降级) | 自然语言直接咨询;必须保留 `--vendor` |
112
112
  | 🎨 ui-draft | GPT-5.6 Sol (xhigh) | Claude Opus 5 (high) | 有设计规范/参考图时的 UI 出稿;开放式视觉品味交给 taste-final |
113
113
  | 📚 long-context | Gemini 3.1 Pro (High) | Claude Opus 5 (high) | 百万 token 扫读与检索;要跨段落多跳整合请改用 Claude 候选,高速重复循环仍优先 Flash |
114
- | ⚡ fast-agentic | Gemini 3.6 Flash (High) | GPT-5.6 Luna (high) | 快速多步骤 agentic 循环、多模态检查 |
114
+ | ⚡ fast-agentic | GPT-5.6 Luna (max) | Gemini 3.6 Flash (High) | 快速多步骤 agentic 循环、多模态检查 |
115
115
  | 📡 live-search | Grok 4.5 | —(off) | 实时 X/网络搜索与社群脉络 |
116
116
  | 🚰 coding-overflow | Grok 4.5 | Kimi K3 → Qwen3 Coder Plus → OpenCode | Codex 额度吃紧时的中量级编码溢流道;事实性声明须另行查证 |
117
117
  | 🗳️ arbitrate | off(可选评审团) | — | 内置意见评审团,重大决定用——默认关闭,要用在 `routing.local.yaml` 打开;每评审每轮烧一次额度 |
@@ -178,6 +178,9 @@ Esc。服务器发送事件(SSE)会实时更新,又不会重建当前聚焦的
178
178
  `127.0.0.1`、使用随机令牌保护、全程只读。界面只显示 `task.txt` 和公开的
179
179
  `out.txt`,不会显示工作端或厂商原始日志。
180
180
 
181
+ 界面提供英文、日文、韩文、繁体中文与简体中文。首次加载依浏览器语言决定,可用标题栏
182
+ 的切换器覆盖,选择会记在本地。
183
+
181
184
  核心路由不需要 Python;只有这个界面需要 Python 3.9 或更高版本。
182
185
 
183
186
  ## 📦 安装
@@ -263,7 +266,7 @@ omnilane ui status # 查看 Live UI 是否正在运
263
266
  omnilane ui url # 输出当前通过认证的本地链接
264
267
  omnilane ui stop # 停止 Live UI
265
268
  omnilane doctor [--json] # 只读检查路由与本地运行环境
266
- dispatch.sh [--background] [--dry-run] [--mode advise|work] [--workdir 目录]
269
+ dispatch.sh [--background] [--dry-run] [--mode advise|work|sysops] [--workdir 目录]
267
270
  [--vendor V] [--model M] [--effort E] [--timeout SEC] [--job-timeout SEC]
268
271
  通道 "任务" # "-" 表示从 stdin 读任务
269
272
  dispatch.sh [--json] --list [--json]
@@ -295,6 +298,11 @@ configure.sh set|get|unset|list|diff LANE [SPEC] # 非交互编辑/查看 rou
295
298
  - **work** — 允许改文件,仅限你指定的 `--workdir`。Codex 给
296
299
  workspace-write 沙箱;Claude 自动接受编辑;Gemini 跑 accept-edits 模式。
297
300
  `openrouter` vendor 会明确拒绝 work 模式——改文件请走代理式 CLI vendor。
301
+ - **sysops** — 等于 `work` 拿掉 vendor 沙箱,用于沙箱会挡掉的服务操作
302
+ (`launchctl` 之类)。Codex 以 `-s danger-full-access` 执行;其他 vendor
303
+ 一律当成普通 `work`。这等于把整台机器的访问权交给工作端,因此只能逐次
304
+ 明确指定,永远不能设成 lane 默认值。只有在你亲眼看到 `work` 因沙箱拒绝而
305
+ 失败时才动用它。
298
306
 
299
307
  ## 🔒 内置安全机制
300
308
 
@@ -435,7 +443,10 @@ scripts/dispatch.sh --dry-run hardest-coding "…" # 完整解析后的计划,
435
443
 
436
444
  除非你明说要它改。派工默认是 `advise` 只读模式,而且是逐厂商实现的(只读沙箱、
437
445
  plan 模式,或只给只读工具集)。要改文件必须同时给 `--mode work` 和明确的
438
- `--workdir`。工作端也不能再往外派——深度守卫会用退出码 86 拒绝嵌套派工,一道
446
+ `--workdir`。第三种模式 `--mode sysops` 等于 `work` 拿掉 vendor 沙箱,用于沙箱会
447
+ 挡掉的服务操作(例如 `launchctl`);codex 以 `-s danger-full-access` 执行,其他
448
+ vendor 一律当成 `work`,而且它只能逐次明确指定,永远不是 lane 默认值。
449
+ 工作端也不能再往外派——深度守卫会用退出码 86 拒绝嵌套派工,一道
439
450
  命令不可能失控变成一整串 AI 烧你的额度。
440
451
 
441
452
  </details>
@@ -462,6 +473,34 @@ plan 模式,或只给只读工具集)。要改文件必须同时给 `--mode work
462
473
 
463
474
  ## 📜 版本历程
464
475
 
476
+ ## v0.12.0 新功能
477
+
478
+ - **`hardest-coding` 的 Sol 从 `max` 降到 `xhigh`**——在 AA 分档位的 Coding Index
479
+ 上,Sol 的 xhigh 不但胜过自己的 max,也胜过所有 Claude 档位,成本还少约三分之一。
480
+ 这类工作超过 xhigh 之后,多加的 effort 买到的是过度思考,不是正确率。
481
+ - **`fast-agentic` 改由 GPT-5.6 Luna 领头**,Gemini 3.6 Flash 退居第二。Luna 在 AA
482
+ 的 Agentic Index 上大幅领先 Flash,而且 2026-07-30 降价后每任务成本只剩零头。
483
+ Flash 只剩吞吐量优势——若你的循环受延迟限制,可在本机覆写把它调回第一。
484
+ - **lane 注释不再放数字。**`routing.yaml` 只说明每条排序「为什么」成立;所有分数、
485
+ 价格与吞吐量连同取数日期,一律放在 `docs/model-capabilities-2026-07.md`。数字过期
486
+ 不再需要动路由表。
487
+ - **新增 value profile**(在 `routing.local.yaml.example`):用约一个 Intelligence
488
+ Index 分数,换每任务成本降三到四成。
489
+ - **新增 `--mode sysops`**——等于 `work` 拿掉 vendor 沙箱,用于沙箱会挡掉的服务操作。
490
+ 它会把整台机器的访问权交给工作端,因此只能逐次指定,永远不能设成 lane 默认值。
491
+ - **价格与基准数据刷新**至 2026-07-30 OpenAI 降价后的版本,并记录 AA 的 Coding Index
492
+ **不是** Coding Agent Index——两者成分完全不同,数值却会撞在一起。
493
+
494
+ ## v0.11.0 新功能
495
+
496
+ - **Live Board 提供五种语言** —— 英文、日文、韩文、繁体中文与简体中文。首次加载依
497
+ 浏览器语言决定,可用标题栏的切换器覆盖,选择会记在本地。标题、搜索提示文字、
498
+ 筛选按钮、空状态与错误状态、内容标记,以及屏幕阅读器会朗读的 `aria-label` 全部
499
+ 涵盖,`<html lang>` 也跟着切换。
500
+ - **作业状态有翻译,但读取状态的地方不受影响** —— `state-` 的 CSS class 仍是原始值,
501
+ 状态配色不变;搜索索引同时收录两种写法,输入 `running` 或译文都能找到同一条作业。
502
+ - **路由没有任何变更。** 派发行为与 v0.10.4 相同。
503
+
465
504
  ## v0.10.4 新功能
466
505
 
467
506
  - **`long-context` 不再把多跳任务指向错的模型**——这条通道原本自称长文*整合*,
package/README.zh-TW.md CHANGED
@@ -103,7 +103,7 @@ flowchart LR
103
103
 
104
104
  | 通道 | 首選模型 | 備選模型 | 用途 |
105
105
  |---|---|---|---|
106
- | 🔥 hardest-coding | GPT-5.6 Sol (max) | Claude Opus 5 (xhigh) | 最難的實作、深度除錯、正確性攸關的修改 |
106
+ | 🔥 hardest-coding | GPT-5.6 Sol (xhigh) | Claude Opus 5 (xhigh) | 最難的實作、深度除錯、正確性攸關的修改 |
107
107
  | 🏗️ bulk-mechanical | GPT-5.6 Terra (max) | Claude Sonnet 5 (high) | 重構、搬遷、測試、大面積掃描——機械耐力活 |
108
108
  | 🧹 triage | GPT-5.6 Luna (medium) | Gemini 3.6 Flash (Low) | 高量初篩、第一輪過濾 |
109
109
  | ⚖️ hard-judgment | Claude Opus 5 (xhigh) | GPT-5.6 Sol (max) | 架構仲裁、深度推理、第二意見 |
@@ -111,7 +111,7 @@ flowchart LR
111
111
  | 💬 consult | 明確點名的廠商/模型 | —(不降級) | 自然語言直接諮詢;必須保留 `--vendor` |
112
112
  | 🎨 ui-draft | GPT-5.6 Sol (xhigh) | Claude Opus 5 (high) | 有設計規範/參考圖時的 UI 出稿;開放式視覺品味交給 taste-final |
113
113
  | 📚 long-context | Gemini 3.1 Pro (High) | Claude Opus 5 (high) | 百萬 token 掃讀與檢索;要跨段落多跳整合請改用 Claude 候選,高速重複迴圈仍優先 Flash |
114
- | ⚡ fast-agentic | Gemini 3.6 Flash (High) | GPT-5.6 Luna (high) | 快速多步驟 agentic 迴圈、多模態檢查 |
114
+ | ⚡ fast-agentic | GPT-5.6 Luna (max) | Gemini 3.6 Flash (High) | 快速多步驟 agentic 迴圈、多模態檢查 |
115
115
  | 📡 live-search | Grok 4.5 | —(off) | 即時 X/網路搜尋與社群脈絡 |
116
116
  | 🚰 coding-overflow | Grok 4.5 | Kimi K3 → Qwen3 Coder Plus → OpenCode | Codex 額度吃緊時的中量級編碼溢流道;事實性宣稱須另行查證 |
117
117
  | 🗳️ arbitrate | off(選配評審團) | — | 內建意見評審團,重大決定用——預設關閉,要用在 `routing.local.yaml` 開;每評審每輪燒一次額度 |
@@ -178,6 +178,9 @@ omnilane ui stop # 正常停止
178
178
  `127.0.0.1`、用隨機 token 保護、全程唯讀。畫面只顯示 `task.txt` 與公開的
179
179
  `out.txt`,不顯示工作端或廠商原始 log。
180
180
 
181
+ 畫面提供英文、日文、韓文、繁體中文與簡體中文。首次載入依瀏覽器語言決定,可用標題列
182
+ 的切換器覆寫,選擇會記在本機。
183
+
181
184
  核心路由不需要 Python;只有這個介面需要 Python 3.9 以上。
182
185
 
183
186
  ## 📦 安裝
@@ -264,7 +267,7 @@ omnilane ui status # 查看 Live UI 是否運作中
264
267
  omnilane ui url # 印出目前通過驗證的本機網址
265
268
  omnilane ui stop # 停止 Live UI
266
269
  omnilane doctor [--json] # 唯讀檢查路由與本機執行環境
267
- dispatch.sh [--background] [--dry-run] [--mode advise|work] [--workdir 目錄]
270
+ dispatch.sh [--background] [--dry-run] [--mode advise|work|sysops] [--workdir 目錄]
268
271
  [--vendor V] [--model M] [--effort E] [--timeout SEC] [--job-timeout SEC]
269
272
  通道 "任務" # "-" 表示從 stdin 讀任務
270
273
  dispatch.sh [--json] --list [--json]
@@ -308,6 +311,11 @@ codex/claude/grok/gemini 自選 1-4 個評審。開了之後,同一個問題丟
308
311
  - **work** — 允許改檔案,僅限你指定的 `--workdir`。Codex 給
309
312
  workspace-write 沙箱;Claude 自動接受編輯;Gemini 跑 accept-edits 模式。
310
313
  `openrouter` vendor 會明確拒絕 work 模式——改檔請走代理式 CLI vendor。
314
+ - **sysops** — 等於 `work` 拿掉 vendor 沙箱,用於沙箱會擋掉的服務操作
315
+ (`launchctl` 之類)。Codex 以 `-s danger-full-access` 執行;其他 vendor
316
+ 一律當成一般 `work`。這等於把整台機器的存取權交給工作端,因此只能逐次
317
+ 明確指定,永遠不能設成 lane 預設。只有在你親眼看到 `work` 因沙箱拒絕而
318
+ 失敗時才動用它。
311
319
 
312
320
  ## 🔒 內建安全機制
313
321
 
@@ -448,7 +456,10 @@ scripts/dispatch.sh --dry-run hardest-coding "…" # 完整解析後的計畫,
448
456
 
449
457
  除非你明講要它改。派工預設是 `advise` 唯讀模式,而且是逐廠商實作的(唯讀沙箱、
450
458
  plan 模式,或只給唯讀工具集)。要改檔必須同時給 `--mode work` 和明確的
451
- `--workdir`。工作端也不能再往外派——深度守衛會用退出碼 86 拒絕巢狀派工,一道
459
+ `--workdir`。第三種模式 `--mode sysops` 等於 `work` 拿掉 vendor 沙箱,用於沙箱會
460
+ 擋掉的服務操作(例如 `launchctl`);codex 以 `-s danger-full-access` 執行,其他
461
+ vendor 一律當成 `work`,而且它只能逐次明確指定,永遠不是 lane 預設。
462
+ 工作端也不能再往外派——深度守衛會用退出碼 86 拒絕巢狀派工,一道
452
463
  指令不可能失控變成一整串 AI 燒你的額度。
453
464
 
454
465
  </details>
@@ -472,6 +483,34 @@ plan 模式,或只給唯讀工具集)。要改檔必須同時給 `--mode work`
472
483
 
473
484
  ## 📜 版本歷程
474
485
 
486
+ ## v0.12.0 新功能
487
+
488
+ - **`hardest-coding` 的 Sol 從 `max` 降到 `xhigh`**——在 AA 分檔位的 Coding Index
489
+ 上,Sol 的 xhigh 不但勝過自己的 max,也勝過所有 Claude 檔位,成本還少約三分之一。
490
+ 這種工作超過 xhigh 之後,多加的 effort 買到的是過度思考,不是正確率。
491
+ - **`fast-agentic` 改由 GPT-5.6 Luna 領頭**,Gemini 3.6 Flash 退居第二。Luna 在 AA
492
+ 的 Agentic Index 上大幅領先 Flash,而且 2026-07-30 砍價後每任務成本只剩零頭。
493
+ Flash 只剩吞吐量優勢——若你的迴圈受延遲限制,可在本機覆寫把它調回第一。
494
+ - **lane 註解不再放數字。**`routing.yaml` 只說明每條排序「為什麼」成立;所有分數、
495
+ 價格與吞吐量連同取數日期,一律住在 `docs/model-capabilities-2026-07.md`。數字過期
496
+ 不再需要動路由表。
497
+ - **新增 value profile**(在 `routing.local.yaml.example`):用約一個 Intelligence
498
+ Index 分數,換每任務成本降三到四成。
499
+ - **新增 `--mode sysops`**——等於 `work` 拿掉 vendor 沙箱,用於沙箱會擋掉的服務操作。
500
+ 它會把整台機器的存取權交給工作端,因此只能逐次指定,永遠不能設成 lane 預設。
501
+ - **價格與基準數據刷新**至 2026-07-30 OpenAI 砍價後的版本,並記錄 AA 的 Coding Index
502
+ **不是** Coding Agent Index——兩者成分完全不同,數值卻會撞在一起。
503
+
504
+ ## v0.11.0 新功能
505
+
506
+ - **Live Board 提供五種語言** —— 英文、日文、韓文、繁體中文與簡體中文。首次載入依
507
+ 瀏覽器語言決定,可用標題列的切換器覆寫,選擇會記在本機。標題、搜尋提示文字、
508
+ 篩選按鈕、空狀態與錯誤狀態、內容標記,以及螢幕閱讀器會朗讀的 `aria-label` 全部
509
+ 涵蓋,`<html lang>` 也跟著切換。
510
+ - **工作狀態有翻譯,但讀取狀態的地方不受影響** —— `state-` 的 CSS class 仍是原始值,
511
+ 狀態配色不變;搜尋索引同時收錄兩種寫法,打 `running` 或譯文都找得到同一筆工作。
512
+ - **路由沒有任何變更。** 派工行為與 v0.10.4 相同。
513
+
475
514
  ## v0.10.4 新功能
476
515
 
477
516
  - **`long-context` 不再把多跳任務指向錯的模型**——這條通道原本自稱長文*整合*,
package/VERSION CHANGED
@@ -1 +1 @@
1
- 0.10.4
1
+ 0.12.0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omnilane",
3
- "version": "0.10.4",
3
+ "version": "0.12.0",
4
4
  "description": "One routing table, every harness — classify subtasks into lanes and dispatch each lane to the best vendor's agentic CLI (Codex, Claude, Gemini, Grok) using your existing subscription logins.",
5
5
  "bin": {
6
6
  "omnilane": "bin/omnilane"
@@ -39,3 +39,24 @@
39
39
  # hardest-coding: claude claude-opus-5 xhigh
40
40
  # bulk-mechanical: gemini "Gemini 3.6 Flash (High)" -
41
41
  # triage: gemini "Gemini 3.6 Flash (Low)" -
42
+
43
+ # Profile: value — same vendors, one effort notch cheaper. Each reasoning lane
44
+ # below gives up about one Artificial Analysis Intelligence Index point to save
45
+ # 30-40% of the cost per task; the fast-agentic line gives up nothing but
46
+ # throughput. Figures are in docs/model-capabilities-2026-07.md (AA leaderboard,
47
+ # retrieved 2026-08-02, post the 2026-07-30 OpenAI reprice). Take this when you
48
+ # pay per token and the work is not correctness-critical; the shipped defaults
49
+ # buy that point back.
50
+ # hardest-coding: codex gpt-5.6-sol xhigh # 57.7 pts @ $1.17 vs max 58.9 @ $1.86
51
+ # hard-judgment: claude claude-opus-5 high # 58.9 pts @ $1.23 vs xhigh 60.1 @ $1.80
52
+ # taste-final: claude claude-opus-5 high # already the value tier — unchanged
53
+ # fast-agentic: codex gpt-5.6-luna max # 51.2 pts @ $0.07 vs Gemini 3.6 Flash 50.1 @ $0.56; costs 25% throughput
54
+ # ui-draft: claude claude-opus-5 high
55
+ # bulk-mechanical is already the value pick at Terra (max), 55.0 pts @ $0.73 — leave it.
56
+ #
57
+ # Cheaper still, and correspondingly riskier — these two are the current
58
+ # Intelligence-vs-cost Pareto frontier but both are heavy hallucinators
59
+ # (Grok 4.5 54%, DeepSeek V4 Flash 0731 84%), so route only work whose output
60
+ # is mechanical rather than factual, and verify anything they assert:
61
+ # bulk-mechanical: grok grok-4.5 - # 53.8 pts @ $0.44, but 500K context, not 1M
62
+ # triage: deepseek deepseek-v4-flash - # 49.9 pts @ $0.03, ~60% under post-cut Luna (advise-only: cannot edit files)