omnilane 0.21.0 → 0.32.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.
@@ -6,14 +6,14 @@
6
6
  },
7
7
  "metadata": {
8
8
  "description": "One routing table, cross-vendor dispatch, foreman completion inbox.",
9
- "version": "0.21.0"
9
+ "version": "0.32.0"
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, dispatch it to any vendor CLI, and have finished dispatches report back into the foreman's next prompt.",
16
- "version": "0.21.0",
16
+ "version": "0.32.0",
17
17
  "category": "development",
18
18
  "keywords": [
19
19
  "routing",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omnilane",
3
- "version": "0.21.0",
3
+ "version": "0.32.0",
4
4
  "description": "One routing table, every harness: classify subtasks into lanes and auto-dispatch each lane to the best vendor CLI (Codex, Claude Code, Grok Build, Antigravity) with background jobs, depth guard, and serialized codex dispatch.",
5
5
  "author": {
6
6
  "name": "Seraphim0916"
package/CHANGELOG.md CHANGED
@@ -6,6 +6,50 @@ semantic version tags.
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.32.0] - 2026-09-02
10
+
11
+ ### Changed
12
+
13
+ - Re-evaluated the full routing table against the Artificial Analysis 2026-09 snapshot; the dated figures and method now live in `docs/model-capabilities-2026-09.md`.
14
+ - `hardest-coding`: Claude Fable 5.1 xhigh now leads GPT-5.6 Sol xhigh on coding capability.
15
+ - `bulk-mechanical`: GPT-5.6 Sol high replaces Terra max, followed by Gemini 3.7 Flash High and Claude Sonnet 5 high.
16
+ - `triage`: GPT-5.6 Luna moves from medium to high; Gemini 3.7 Flash Low replaces 3.6 Flash Low.
17
+ - `hard-judgment`: Claude Fable 5.1 xhigh replaces Opus 5 xhigh; GPT-5.6 Sol max remains second and Grok 4.6 joins third.
18
+ - `taste-final`: Claude Fable 5.1 high replaces Opus 5 high ahead of GPT-5.6 Sol max.
19
+ - `consult`: the Claude slot moves to Fable 5.1 high and the Gemini slot to 3.7 Flash High.
20
+ - `ui-draft`: Claude Fable 5.1 high replaces Opus 5 high behind GPT-5.6 Sol xhigh.
21
+ - `long-context`: Gemini 3.7 Flash Medium replaces 3.1 Pro, GPT-5.6 Terra max replaces Sol high, and Claude Opus 5 moves to medium.
22
+ - `fast-agentic`: Gemini 3.7 Flash Medium takes the lead; GPT-5.6 Luna high becomes the fallback.
23
+ - `coding-overflow`: Gemini 3.7 Flash High joins behind Grok 4.6 and ahead of Kimi, Qwen, OpenCode, and off.
24
+ - Synced configurator catalogs with current CLI surfaces: added `claude-fable-5-1` and Gemini 3.7 Flash effort rows, and removed Gemini 3.5 Flash rows.
25
+ - Synced the vote runner's Claude voter to Fable 5.1 high and Gemini voter to 3.7 Flash High.
26
+
27
+ ### Fixed
28
+
29
+ - Routing and the vote runner no longer pin `grok-4.5`, a model id xAI retired. The `consult`, `live-search`, and `coding-overflow` lanes and the arbitrate grok voter now target `grok-4.6`. A dead model id severs the lane instead of falling through it, because the fallback chain tests whether a vendor CLI is installed, not whether the call succeeded.
30
+ - Corrected the `coding-overflow` comment: Artificial Analysis measures Grok 4.6 at the lowest hallucination rate among the frontier rows, the inverse of the previous claim.
31
+
32
+ ## [0.31.0] - 2026-09-01
33
+
34
+ ### Changed
35
+
36
+ - Goal budgets now default to unlimited. `--budget-jobs N` and `--budget-seconds S` opt in to hard caps; the previous implicit 8-job and 900-second caps are gone. The repeat-failure fuse is not a budget and remains enabled by default.
37
+
38
+ ### Fixed
39
+
40
+ - `omnilane goal status` no longer fails when its consumer closes the pipe early. It exits 0 instead of raising `BrokenPipeError`, so `| head` and `| grep -q` work under `pipefail`.
41
+
42
+ ## [0.30.0] - 2026-08-31
43
+
44
+ ### Added
45
+
46
+ - `omnilane goal` — a bounded ledger around dispatch. `goal open` holds job and wall-clock budgets; `goal dispatch` gates each job on the job cap, wall clock, and repeat-failure fuse before it runs. `goal note` records the caller's narrative, `goal status` shows budgets and per-job lines, and `goal close` writes `goals/<id>/report.md`.
47
+ - `omnilane doctor` now includes a read-only goal-orchestrator check.
48
+
49
+ ### Changed
50
+
51
+ - The goal loop lives in the caller. omnilane never runs a planner model; the agent session or human that opened a goal chooses, dispatches, reviews, and closes the work.
52
+
9
53
  ## [0.21.0] - 2026-08-30
10
54
 
11
55
  ### Added
@@ -669,7 +713,12 @@ work to the wrong model, and records the evidence behind the shipped defaults.
669
713
  - Initial shared routing table, cross-vendor dispatcher, runners, installer,
670
714
  and baseline lint fixes.
671
715
 
672
- [Unreleased]: https://github.com/Seraphim0916/omnilane/compare/v0.21.0...HEAD
716
+ [Unreleased]: https://github.com/Seraphim0916/omnilane/compare/v0.32.0...HEAD
717
+ [0.32.0]: https://github.com/Seraphim0916/omnilane/compare/v0.31.0...v0.32.0
718
+
719
+ [0.31.0]: https://github.com/Seraphim0916/omnilane/compare/v0.30.0...v0.31.0
720
+
721
+ [0.30.0]: https://github.com/Seraphim0916/omnilane/compare/v0.21.0...v0.30.0
673
722
 
674
723
  [0.21.0]: https://github.com/Seraphim0916/omnilane/compare/v0.20.0...v0.21.0
675
724
 
package/README.ja.md CHANGED
@@ -78,11 +78,11 @@ omnilane は、**どの** agentic CLI のメインループでも、サブタス
78
78
  ```mermaid
79
79
  flowchart LR
80
80
  M["メインループ<br/><i>任意の CLI</i>"] --> T{{"routing.yaml<br/>一枚の共有テーブル"}}
81
- T -->|hardest-coding| C1["CodexGPT-5.6 Sol"]
82
- T -->|bulk-mechanical| C2["Codex — GPT-5.6 Terra"]
83
- T -->|taste-final| C3["Claude — Opus 5"]
84
- T -->|long-context| C4["Gemini — 3.1 Pro"]
85
- T -->|live-search| C5["Grok — 4.5"]
81
+ T -->|hardest-coding| C1["ClaudeFable 5.1"]
82
+ T -->|bulk-mechanical| C2["Codex — GPT-5.6 Sol"]
83
+ T -->|taste-final| C3["Claude — Fable 5.1"]
84
+ T -->|long-context| C4["Gemini — 3.7 Flash"]
85
+ T -->|live-search| C5["Grok — 4.6"]
86
86
  T -->|"arbitrate(オプトイン)"| C6["vote — 1-4 モデルパネル"]
87
87
  ```
88
88
 
@@ -112,25 +112,24 @@ flowchart LR
112
112
 
113
113
  | レーン | 第一候補 | バックアップ | 用途 |
114
114
  |---|---|---|---|
115
- | 🔥 hardest-coding | GPT-5.6 Sol (xhigh) | Claude Opus 5 (xhigh) | 最難関の実装、根本原因デバッグ、正確性が要の変更 |
116
- | 🏗️ bulk-mechanical | GPT-5.6 Terra (max) | Claude Sonnet 5 (high) | リファクタ、移行、テスト、大規模スイープ |
117
- | 🧹 triage | GPT-5.6 Luna (medium) | Gemini 3.6 Flash (Low) | 大量の一次スクリーニング |
118
- | ⚖️ hard-judgment | Claude Opus 5 (xhigh) | GPT-5.6 Sol (max) | アーキテクチャ裁定、深い推論、セカンドオピニオン |
119
- | ✒️ taste-final | Claude Opus 5 (high) | GPT-5.6 Sol (max) | 対外文章、prompt/ドキュメント推敲、スタイル最終審 |
120
- | 💬 consult | 明示指定したベンダー/モデル | (フォールバックなし) | 自然言語で直接相談。`--vendor` を必ず維持 |
121
- | 🎨 ui-draft | GPT-5.6 Sol (xhigh) | Claude Opus 5 (high) | デザインシステム/参考画像がある場合の UI ドラフト |
122
- | 📚 long-context | Gemini 3.1 Pro (High) | GPT-5.6 Sol (high) | 100 万トークン級の走査・検索と、長文をまたぐ統合。高速反復ループは Flash を優先 |
123
- | ⚡ fast-agentic | GPT-5.6 Luna (max) | Gemini 3.6 Flash (High) | 高速なマルチステップ agentic ループ、マルチモーダル確認 |
124
- | 📡 live-search | Grok 4.5 | —(off) | リアルタイム X/ウェブ検索とソーシャル文脈 |
125
- | 🚰 coding-overflow | Grok 4.5 | Kimi K3 → Qwen3 Coder Plus → OpenCode | Codex クォータ逼迫時の中級コーディング逃し弁 |
126
- | 🗳️ arbitrate | off(オプトイン) | — | 内蔵オピニオンパネル(重大な判断用)——デフォルト無効。`routing.local.yaml` で有効化;投票者×ラウンドごとに 1 コール消費 |
115
+ | 🔥 hardest-coding | Claude Fable 5.1 (xhigh) | GPT-5.6 Sol (xhigh) | 最難関の実装、深い根本原因調査、正確性が重要な修正 |
116
+ | 🏗️ bulk-mechanical | GPT-5.6 Sol (high) | Gemini 3.7 Flash (High) → Claude Sonnet 5 (high) | リファクタリング、移行、テスト、大規模レビュー——機械的な持久作業 |
117
+ | 🧹 triage | GPT-5.6 Luna (high) | Gemini 3.7 Flash (Low) → Claude Haiku 4.5 | 大量スキャン、一次選別 |
118
+ | ⚖️ hard-judgment | Claude Fable 5.1 (xhigh) | GPT-5.6 Sol (max) → Grok 4.6 | アーキテクチャ判断、深い推論、セカンドオピニオン |
119
+ | ✒️ taste-final | Claude Fable 5.1 (high) | GPT-5.6 Sol (max) | ユーザー向け文章、プロンプト/文書の仕上げ、文体判断 |
120
+ | 💬 consult | GPT-5.6 Sol (max) | Claude Fable 5.1 (high) → Grok 4.6 → Gemini 3.7 Flash (High) | 指名モデルへの直接相談。フォールバック防止のため `--vendor` を維持 |
121
+ | 🎨 ui-draft | GPT-5.6 Sol (xhigh) | Claude Fable 5.1 (high) | デザインシステム/参照画像がある場合だけの UI ドラフト |
122
+ | 📚 long-context | Gemini 3.7 Flash (Medium) | GPT-5.6 Terra (max) Claude Opus 5 (medium) | 長文書の抽出と統合。AA-LCR、コスト、スループット順 |
123
+ | ⚡ fast-agentic | Gemini 3.7 Flash (Medium) | GPT-5.6 Luna (high) | 高速なマルチステップ agentic ループ、マルチモーダル確認 |
124
+ | 📡 live-search | Grok 4.6 | — (`off`) | リアルタイム X/Web 検索とソーシャル文脈 |
125
+ | 🚰 coding-overflow | Grok 4.6 | Gemini 3.7 Flash (High) → Kimi K3 → Qwen3 Coder Plus → OpenCode | Codex クォータ不足時の中級コーディング逃がし弁 |
126
+ | 🗳️ arbitrate | `off`(オプトイン) | — | 重大判断用の内蔵意見パネル。デフォルト無効、`routing.local.yaml` で有効化し、投票者・ラウンドごとに 1 コール |
127
127
 
128
128
  **バックアップ**はチェーンの次の候補——第一候補のベンダー CLI が未インストールの
129
129
  ときにディスパッチが降格する先です。どのレーンもこうしたチェーンで、チェーン内に
130
130
  何もインストールされていなければレーンは `off` に降格します。
131
131
 
132
- > **Claude Fable 5 はどこ?** 意図的にデフォルト表に入れていません——理由と
133
- > 実測データは [FAQ](#-faq) にまとめてあります。
132
+ > **Fable 5.1 はデフォルトに入りました——Opus 5 が今も適する場所。** 3 者比較と Opus の override は [FAQ](#-faq) を参照してください。
134
133
 
135
134
  ### 自然言語コンサルテーション
136
135
 
@@ -156,12 +155,12 @@ flowchart LR
156
155
  なので追加コールなし)、どれを**ディスパッチ**するか。CLI の `omnilane` スキルが
157
156
  該当行を自動適用します。これはその人間向けビューです。
158
157
 
159
- - **Claude Code · Fable 5** — 自分で実行:hard-judgment、taste-final、正確性が最重要の難修正。ディスパッチ:機械的コーディング量 → Codex、長文 → Gemini、リアルタイム検索 → Grok。
160
- - **Claude Code · Opus 5** — 自分で実行:hard-judgmenttaste-final。大量のコーディングは Codex レーン、長文 → Gemini、リアルタイム検索 → Grok。
161
- - **Codex · Sol** — 自分で実行:hardest-coding、hard-judgment、ui-draft。ディスパッチ:taste-final → Claude、長文 → Gemini、リアルタイム検索 Grok、大量作業Codex Terra
162
- - **Codex · Terra** 自分で実行:bulk-mechanical。本当に最難関の部分は Sol へエスカレーション;taste → Claude、長文 → Gemini、リアルタイム検索 → Grok。
163
- - **Grok Build · Grok 4.5** — 自分で実行:live-searchcoding-overflow(中級コーディング)。難しい作業は全て Codex/Claude/Gemini へ——先に全 API シグネチャと引用事実を検証。
164
- - **Antigravity · Gemini** — 自分で実行:3.1 Pro で長文と重いコンテキストの agentic 作業、Flash で高速反復ループ。最難関のコーディング/判断/文章は Codex/Claude へ;リアルタイム検索 Grok。
158
+ - **Claude Code · Fable 5.1**——自分で実行:hard-judgment、taste-final、hardest-coding。ディスパッチ:bulk → Codex Sol high、long-context/高速ループ → Gemini 3.7 Flash、live-search → Grok。
159
+ - **Claude Code · Opus 5**——低いハルシネーション率や価格を優先するときは hard-judgmenttaste-final を自分で実行。最難関コーディング Fable 5.1 または Sol、bulk Sol high、long-context/高速ループ → Gemini 3.7 Flash、live-search → Grok。
160
+ - **Codex · Sol**——自分で実行:hardest-coding、bulk-mechanical、hard-judgment、ui-draft。ディスパッチ:taste-final → Claude、long-context/高速ループ → Gemini 3.7 Flash、live-searchGrok
161
+ - **Codex · Terra**——long-context Codex フォールバックを自分で実行。bulk-mechanical のデフォルトは Sol high に移動。最難関は Sol xhigh、taste → Claude、高速ループ → Gemini 3.7 Flash、live-search → Grok。
162
+ - **Grok Build · Grok 4.6**——live-searchcoding-overflow を自分で実行。難しいコーディング/判断/文章は CodexClaudeGemini へ送り、API シグネチャと引用事実は検証します。
163
+ - **Antigravity · Gemini 3.7 Flash**——Medium long-context/高速ループ、High bulk/overflow、Low の triage を自分で実行。最難関のコーディング/判断/文章は CodexClaude、live-search Grok へ。
165
164
 
166
165
  </details>
167
166
 
@@ -382,6 +381,22 @@ scripts/jobs.sh retry "$ID" --background
382
381
 
383
382
  アイドル中は API 呼び出しも料金も発生しません。既定では、新しい受信メッセージまたは結果イベントが 900 秒間なければ worker が自動で終了し、ジョブ全体タイムアウトは外側の上限として残ります。やり取りが終わったら早めに `close` できます。終了済み、またはライブでないジョブへの `jobs.sh send` は明確なエラーで失敗します。送った後に追跡しない作業、ライブ対応していないベンダー、クリーンな状態からの再実行が必要な場合には使わず、新しいディスパッチ(または完了後の `retry`)を使ってください。
384
383
 
384
+ ## 🎯 ゴールオーケストレーション
385
+
386
+ `omnilane goal` は、フォアマンが進行する作業台帳です。ループを担当するのは、ゴールを開いたエージェントセッションまたは端末の利用者です。ジョブをディスパッチし、完了受信箱または `omnilane jobs wait` で結果を受け取り、次のジョブを判断して繰り返します。ジョブ数と経過秒数の予算はデフォルトで無制限です。`--budget-jobs N` または `--budget-seconds S` を指定した場合に限り、対応する上限が有効になります。omnilane は記録だけを担い、各 goal dispatch の前に呼び出し元が指定した上限とデフォルトで有効な同一失敗のヒューズを検査し、フォアマンがゴールを閉じるときにレポートをまとめます。
387
+
388
+ ```bash
389
+ GOAL_ID="$(omnilane goal open "不安定な決済統合を修正する" \
390
+ --budget-jobs 4 --budget-seconds 900 --workdir /path/to/repo)"
391
+ JOB_ID="$(omnilane goal dispatch "$GOAL_ID" --mode work hardest-coding \
392
+ "決済エラーを再現し、最小修正を実装して検証する")"
393
+ omnilane jobs wait "$JOB_ID" --timeout 900
394
+ omnilane goal note "$GOAL_ID" "決済統合テストが成功した"
395
+ omnilane goal close "$GOAL_ID" --summary "決済統合は安定した"
396
+ ```
397
+
398
+ ゴールの状態は `$OMNILANE_HOME/goals/<goal-id>/` に保存されます。`goal status` では、予算使用量、ヒューズ作動回数、各ジョブから順次届くメタデータと終了状態を確認できます。`goal close` は `report.md` を書き、そのパスを表示します。手順が明白な単一タスクは直接ディスパッチしてください。予算フラグを指定した場合、その上限は厳格な制約であり、完了を保証するものではありません。
399
+
385
400
  ## ❓ FAQ
386
401
 
387
402
  <details>
@@ -413,49 +428,30 @@ advise 専用で、ファイルを編集しません。
413
428
  </details>
414
429
 
415
430
  <details>
416
- <summary><b>Claude Fable 5 はどこ?なぜデフォルト表に無いのですか?</b></summary>
431
+ <summary><b>Fable 5.1 はデフォルトに入りました——Opus 5 が今も適する場所</b></summary>
417
432
 
418
433
  <br/>
419
434
 
420
- **Claude の最上位ティアは通常メインループ自身であり、ディスパッチされるワーカー
421
- ではないからです。** レーンは「今あなたが動かしているモデル以外」に作業を送るために
422
- あります。Fable 5 がメインループなら、判断や文章を Fable 5 に戻すのは呼び出しが
423
- 一回増えるだけで得るものがありません——だからこそ上の「メインモデルを選ぶ」一覧では
424
- Fable 5 に**ドライバー**として独立した行があり、hard-judgment、taste-final、
425
- 正確性が要の最難関修正を自分で処理します。
426
-
427
- **計測データもワーカーとしての採用を支持しません。** Artificial Analysis の
428
- Intelligence Index(2026-07-24)では Opus 5(max)が 61、Fable 5(max)が 60 —— AA 自身が
429
- 「実質的に同点」と表現し、Epoch AI の Capability Index は順位が逆です
430
- (Fable 5 161、Opus 5 159)。総合的な知能は引き分けと見てよいでしょう。差が付くのは
431
- エージェント的な専門アウトプットで、その差は小さくありません:
432
-
433
- | ベンチマーク | Claude Opus 5 (max) | Claude Fable 5 | |
434
- |---|---:|---:|---|
435
- | AA-Briefcase(エージェント的知識労働、Elo) | 1720 | 1574 | **+146** |
436
- | GDPval-AA v2(Elo) | 1861 | 1747 | **+114** |
437
- | AA-Briefcase の 1 タスク単価 | $17.79 | $22.30 | **-20%** |
438
- | API 価格、入力/出力 1M あたり | $5 / $25 | $10 / $50 | **半額** |
439
-
440
- Opus 5 の max・xhigh・high の三ティアが AA-Briefcase の上位三席を占め、`high`
441
- ティアですら 1 タスク単価が半分以下で Fable 5 を上回ります。つまり Fable 5 は
442
- 価格が二倍でありながら、レーンが重視するどの軸でも優位を買えていません。
443
-
444
- **Fable 5 が実際に優れている点**:知識の広さです。AA-Omniscience では今も Opus 5 を
445
- 上回っており(モデルのサイズクラスから見て妥当)、一方の Opus 5 は不確かなときでも
446
- 答えがちで、ハルシネーション率は 50%(Opus 4.8 比 +14 ポイント)です。実行より
447
- 想起が中心のタスクなら、明示的に指名してください:
435
+ Fable 5.1 は現在 `hardest-coding`、`hard-judgment`、`taste-final` の
436
+ 第一候補です。同じ xhigh では知能、agentic 作業、コーディングで Opus 5 を
437
+ 上回ります。Sol max は、はるかに安価な別ベンダーの判断用フォールバックです。
448
438
 
449
- ```bash
450
- dispatch.sh --vendor claude --model claude-fable-5 --effort high consult "…"
451
- ```
439
+ | 評価(AA、2026-09-02 取得) | Claude Fable 5.1 (xhigh) | Claude Opus 5 (xhigh) | GPT-5.6 Sol (max) |
440
+ |---|---:|---:|---:|
441
+ | Intelligence | 64.8 | 62.5 | 60.9 |
442
+ | Agentic | 59.8 | 58.4 | 57.8 |
443
+ | Coding | 80.7 | 77.0 | 77.4 |
444
+ | ハルシネーション率(低いほど良い) | .71 | **.60** | .92 |
445
+ | AA $/task | $2.65 | $1.80 | **$0.95** |
452
446
 
453
- **これはコストとメインループの方針上の選択であり、能力評価ではありません。**
454
- Fable 5 は設定メニューのモデル一覧に載っており、`routing.local.yaml` の 1 行で
455
- デフォルトを上書きできます:
447
+ Fable 5.1 は bulk と triage のデフォルトではありません。トークン単価が
448
+ Opus 5 の 2 倍で、Claude Code のサブスクリプションクォータも 1 ターン当たり
449
+ 最も多く消費するためです。Opus 5 は低ハルシネーション・低価格の Claude
450
+ 選択肢として medium で `long-context` に残り、次の
451
+ `~/.omnilane/routing.local.yaml` で任意のレーンへ戻せます。
456
452
 
457
453
  ```yaml
458
- taste-final: claude claude-fable-5 high
454
+ hard-judgment: claude claude-opus-5 xhigh
459
455
  ```
460
456
 
461
457
  </details>
@@ -518,7 +514,7 @@ scripts/dispatch.sh --dry-run hardest-coding "…" # 解決済みプラン、
518
514
  (AA サイトの生レコードと各社公式価格ページで照合済み)と公開の比較レビューに
519
515
  基づきます。これは意見であって法則ではありません——設定メニューと
520
516
  `routing.local.yaml` はそのためにあります。ベンチマークごとの但し書きを含む
521
- 作業ノートは [`docs/model-capabilities-2026-07.md`](docs/model-capabilities-2026-07.md) にあります。
517
+ 作業ノートは [`docs/model-capabilities-2026-09.md`](docs/model-capabilities-2026-09.md) にあります。
522
518
 
523
519
  ## ⚠️ 既知の制限
524
520
 
@@ -534,6 +530,23 @@ scripts/dispatch.sh --dry-run hardest-coding "…" # 解決済みプラン、
534
530
 
535
531
  ## 📜 リリース履歴
536
532
 
533
+ ## v0.32.0 の新機能
534
+
535
+ - **AA 2026-09 スナップショットで全ルーティングを再評価。** Fable 5.1 と Gemini 3.7 Flash がデフォルトに入り、数値は新しい日付付き文書に集約しました。
536
+ - **モデルカタログを現在の CLI に同期。** Fable 5.1 を追加し、agy から消えた Gemini 3.5 Flash を削除し、投票ランナーも更新しました。
537
+ - **Opus 5 は引き続き利用可能。** `long-context` に残り、`routing.local.yaml` で任意のレーンを上書きできます。
538
+
539
+ ## v0.31.0 の新機能
540
+
541
+ - **ゴール予算はデフォルトで無制限。** `budget_jobs` と `budget_seconds` は JSON `null` として保存され、`unlimited` と表示されるようになりました。従来の暗黙的な 8 ジョブと 900 秒の上限は廃止され、`--budget-jobs N` または `--budget-seconds S` を指定した場合にのみ厳格な上限が有効になります。同一失敗のヒューズは予算ではなく、デフォルトで引き続き有効です。
542
+ - **パイプ経由のゴール状態表示を修正。** `omnilane goal status` は、出力先がパイプを早期に閉じた場合でも `BrokenPipeError` を発生させず、終了コード 0 で終了します。これにより、`pipefail` の環境でも `| head` と `| grep -q` が正常に動作します。
543
+
544
+ ## v0.30.0 の新機能
545
+
546
+ - **ゴール台帳。** `omnilane goal open` はジョブ数と経過秒数がデフォルトで無制限のゴール台帳を作成します。`goal dispatch` は各ジョブの実行前に呼び出し元が指定した上限と、デフォルトで有効な繰り返し失敗のヒューズを確認します。`goal note` は呼び出し元の記録を残し、`goal status` は予算とジョブごとの記録を表示し、`goal close` は `goals/<id>/report.md` を書き込みます。
547
+ - **ループは呼び出し元が担当。** ゴールを開いたセッションまたは利用者が選択、ディスパッチ、確認、クローズを行います。omnilane は組み込みの計画モデルを実行しません。
548
+ - **doctor チェック。** `omnilane doctor` はゴールオーケストレーションをチェックします。
549
+
537
550
  ## v0.21.0 の新機能
538
551
 
539
552
  - **セッションモードを明示的に選択。** `dispatch --live` で常駐セッションを必須にするか、`--single-shot` で単発ジョブを強制できます。ライブセッション非対応ベンダーでは `--live` が即時に失敗し、対応ベンダーを表示します。
@@ -607,7 +620,7 @@ scripts/dispatch.sh --dry-run hardest-coding "…" # 解決済みプラン、
607
620
  タスクあたりコストがごく僅か。Flash に残る優位はスループットのみ — レイテンシ律速の
608
621
  ループならローカル設定で先頭に戻すこと。
609
622
  - **レーンのコメントから数値を排除。** `routing.yaml` は各順序の「理由」だけを述べ、
610
- スコア・価格・スループットは取得日とともに `docs/model-capabilities-2026-07.md` に
623
+ スコア・価格・スループットは取得日とともに `docs/model-capabilities-2026-09.md` に
611
624
  集約。数値が古くなってもルーティング表の編集は不要になった。
612
625
  - **value プロファイル**を `routing.local.yaml.example` に追加 — Intelligence Index
613
626
  約 1 ポイントと引き換えに、タスクあたりコストを 30〜40% 削減。
@@ -661,7 +674,7 @@ scripts/dispatch.sh --dry-run hardest-coding "…" # 解決済みプラン、
661
674
  ファイル内の `claude-opus-4-8` をすべて `claude-opus-5`(レーンに応じた努力度付き)
662
675
  に、Gemini 3.5 Flash 候補を 3.6 Flash に更新し、0.10.0 以降のデフォルトと揃えました。
663
676
  - **Intelligence Index の数値を出典に照合して訂正**
664
- (`docs/model-capabilities-2026-07.md`):パーセントではなく指数ポイントです。
677
+ (`docs/model-capabilities-2026-09.md`):パーセントではなく指数ポイントです。
665
678
  AA-Briefcase / GDPval-AA v2 の比較を追加し、デフォルトと逆向きの二つの結果も
666
679
  記録しました:事実知識では Fable 5 が、プレゼン品質では GPT-5.6 Sol が上回ります。
667
680
 
@@ -706,7 +719,7 @@ scripts/dispatch.sh --dry-run hardest-coding "…" # 解決済みプラン、
706
719
  - **OpenAI 互換の direct-API ベンダーを 5 つ追加** — `deepseek`、`zai`(GLM)、
707
720
  `mistral`、`groq`、`cerebras` が `openrouter` と同じく CLI 不要のレーンに
708
721
  (curl と `<VENDOR>_API_KEY` だけ)。`lib/common.sh` のレジストリに 1 行で
709
- 追加でき、モデル能力の比較は [`docs/model-capabilities-2026-07.md`](docs/model-capabilities-2026-07.md) を参照。
722
+ 追加でき、モデル能力の比較は [`docs/model-capabilities-2026-09.md`](docs/model-capabilities-2026-09.md) を参照。
710
723
  - **Fish シェル補完** — `omnilane completion fish | source`。
711
724
 
712
725
  ## v0.8.3 の新機能
package/README.ko.md CHANGED
@@ -77,11 +77,11 @@ API 키 하나로 직접 연결):
77
77
  ```mermaid
78
78
  flowchart LR
79
79
  M["메인 루프<br/><i>아무 CLI</i>"] --> T{{"routing.yaml<br/>공유 테이블 하나"}}
80
- T -->|hardest-coding| C1["CodexGPT-5.6 Sol"]
81
- T -->|bulk-mechanical| C2["Codex — GPT-5.6 Terra"]
82
- T -->|taste-final| C3["Claude — Opus 5"]
83
- T -->|long-context| C4["Gemini — 3.1 Pro"]
84
- T -->|live-search| C5["Grok — 4.5"]
80
+ T -->|hardest-coding| C1["ClaudeFable 5.1"]
81
+ T -->|bulk-mechanical| C2["Codex — GPT-5.6 Sol"]
82
+ T -->|taste-final| C3["Claude — Fable 5.1"]
83
+ T -->|long-context| C4["Gemini — 3.7 Flash"]
84
+ T -->|live-search| C5["Grok — 4.6"]
85
85
  T -->|"arbitrate(옵트인)"| C6["vote — 1-4 모델 패널"]
86
86
  ```
87
87
 
@@ -110,25 +110,24 @@ flowchart LR
110
110
 
111
111
  | 레인 | 1순위 모델 | 백업 | 용도 |
112
112
  |---|---|---|---|
113
- | 🔥 hardest-coding | GPT-5.6 Sol (xhigh) | Claude Opus 5 (xhigh) | 가장 어려운 구현, 근본 원인 디버깅, 정확성이 핵심인 수정 |
114
- | 🏗️ bulk-mechanical | GPT-5.6 Terra (max) | Claude Sonnet 5 (high) | 리팩터링, 마이그레이션, 테스트, 대량 스윕 |
115
- | 🧹 triage | GPT-5.6 Luna (medium) | Gemini 3.6 Flash (Low) | 대량 1차 선별 |
116
- | ⚖️ hard-judgment | Claude Opus 5 (xhigh) | GPT-5.6 Sol (max) | 아키텍처 중재, 깊은 추론, 세컨드 오피니언 |
117
- | ✒️ taste-final | Claude Opus 5 (high) | GPT-5.6 Sol (max) | 대외 문장, prompt/문서 다듬기, 스타일 최종심 |
118
- | 💬 consult | 명시적으로 지정한 벤더/모델 | (폴백 없음) | 자연어 직접 상담. `--vendor` 를 반드시 유지 |
119
- | 🎨 ui-draft | GPT-5.6 Sol (xhigh) | Claude Opus 5 (high) | 디자인 시스템/참고 이미지가 있을 때의 UI 초안 |
120
- | 📚 long-context | Gemini 3.1 Pro (High) | GPT-5.6 Sol (high) | 100만 토큰급 훑기·검색과 문서를 잇는 통합. 빠른 반복 루프는 Flash 우선 |
121
- | ⚡ fast-agentic | GPT-5.6 Luna (max) | Gemini 3.6 Flash (High) | 빠른 멀티스텝 agentic 루프, 멀티모달 확인 |
122
- | 📡 live-search | Grok 4.5 | —(off) | 실시간 X/웹 검색과 소셜 맥락 |
123
- | 🚰 coding-overflow | Grok 4.5 | Kimi K3 → Qwen3 Coder Plus → OpenCode | Codex 쿼터 소진 시 중급 코딩 안전 밸브 |
124
- | 🗳️ arbitrate | off(옵트인) | — | 내장 의견 패널(중대한 결정용)——기본 비활성. `routing.local.yaml` 에서 활성화;투표자×라운드마다 1 소모 |
113
+ | 🔥 hardest-coding | Claude Fable 5.1 (xhigh) | GPT-5.6 Sol (xhigh) | 가장 어려운 구현, 근본 원인 디버깅, 정확성이 핵심인 수정 |
114
+ | 🏗️ bulk-mechanical | GPT-5.6 Sol (high) | Gemini 3.7 Flash (High) → Claude Sonnet 5 (high) | 리팩터링, 마이그레이션, 테스트, 대량 스윕——기계적 지구력 작업 |
115
+ | 🧹 triage | GPT-5.6 Luna (high) | Gemini 3.7 Flash (Low) → Claude Haiku 4.5 | 대량 스캔과 1차 선별 |
116
+ | ⚖️ hard-judgment | Claude Fable 5.1 (xhigh) | GPT-5.6 Sol (max) → Grok 4.6 | 아키텍처 판정, 심층 추론, 2차 의견 |
117
+ | ✒️ taste-final | Claude Fable 5.1 (high) | GPT-5.6 Sol (max) | 사용자 대상 문장, 프롬프트/문서 다듬기, 스타일 판정 |
118
+ | 💬 consult | GPT-5.6 Sol (max) | Claude Fable 5.1 (high) → Grok 4.6 → Gemini 3.7 Flash (High) | 지정 모델 직접 상담. 폴백 방지를 위해 `--vendor` 유지 |
119
+ | 🎨 ui-draft | GPT-5.6 Sol (xhigh) | Claude Fable 5.1 (high) | 디자인 시스템/참조 이미지가 있을 때만 UI 초안 |
120
+ | 📚 long-context | Gemini 3.7 Flash (Medium) | GPT-5.6 Terra (max) Claude Opus 5 (medium) | 장문 추출과 종합. AA-LCR, 비용, 처리량 |
121
+ | ⚡ fast-agentic | Gemini 3.7 Flash (Medium) | GPT-5.6 Luna (high) | 빠른 멀티스텝 agentic 루프, 멀티모달 확인 |
122
+ | 📡 live-search | Grok 4.6 | — (`off`) | 실시간 X/웹 검색과 소셜 맥락 |
123
+ | 🚰 coding-overflow | Grok 4.6 | Gemini 3.7 Flash (High) → Kimi K3 → Qwen3 Coder Plus → OpenCode | Codex 쿼터 소진 시 중급 코딩 안전 밸브 |
124
+ | 🗳️ arbitrate | `off`(옵트인) | — | 중대한 판단을 위한 내장 의견 패널. 기본 비활성, `routing.local.yaml` 에서 활성화하며 투표자·라운드당 1 호출 |
125
125
 
126
126
  **백업**은 체인의 다음 후보입니다——1순위 벤더 CLI 가 설치되지 않았을 때
127
127
  디스패치가 강등되는 대상입니다. 모든 레인이 이런 체인이며, 체인에 아무것도
128
128
  설치되어 있지 않으면 레인은 `off` 로 강등됩니다.
129
129
 
130
- > **Claude Fable 5 어디에?** 의도적으로 기본 테이블에 넣지 않았습니다——
131
- > 이유와 실측 데이터는 [FAQ](#-faq) 에 정리했습니다.
130
+ > **Fable 5.1 기본값에 포함됩니다——그리고 Opus 5 여전히 맞는 자리.** 세 모델 비교와 Opus override 는 [FAQ](#-faq) 에 있습니다.
132
131
 
133
132
  ### 자연어 상담
134
133
 
@@ -154,12 +153,12 @@ flowchart LR
154
153
  추가 호출 없음)와 **디스패치**하는지입니다. CLI 의 `omnilane` 스킬이 해당
155
154
  행을 자동 적용하며, 이것은 사람이 보는 버전입니다.
156
155
 
157
- - **Claude Code · Fable 5** — 직접 실행: hard-judgment, taste-final, 정확성이 최우선인 난이도 높은 수정. 디스패치: 기계적 코딩 물량Codex, 장문 → Gemini, 실시간 검색 → Grok.
158
- - **Claude Code · Opus 5** 직접 실행: hard-judgment, taste-final. 대량 코딩은 Codex 레인, 장문 → Gemini, 실시간 검색 → Grok.
159
- - **Codex · Sol** — 직접 실행: hardest-coding, hard-judgment, ui-draft. 디스패치: taste-final → Claude, 장문 → Gemini, 실시간 검색 → Grok, 대량 작업 Codex Terra.
160
- - **Codex · Terra** 직접 실행: bulk-mechanical. 정말 가장 어려운 부분은 Sol 에스컬레이션; taste → Claude, 장문 → Gemini, 실시간 검색 → Grok.
161
- - **Grok Build · Grok 4.5** — 직접 실행: live-search, coding-overflow(중급 코딩). 어려운 작업은 모두 Codex/Claude/Gemini 로——먼저 모든 API 시그니처와 인용 사실을 검증.
162
- - **Antigravity · Gemini** — 직접 실행: 3.1 Pro 장문과 무거운 컨텍스트의 agentic 작업, Flash 빠른 반복 루프. 가장 어려운 코딩/판단/문장은 Codex/Claude 로; 실시간 검색 Grok.
156
+ - **Claude Code · Fable 5.1**——직접 실행: hard-judgment, taste-final, hardest-coding. 디스패치: bulk Codex Sol high, long-context/빠른 루프Gemini 3.7 Flash, live-search → Grok.
157
+ - **Claude Code · Opus 5**——더 낮은 환각률이나 가격이 중요할 때 hard-judgment taste-final 을 직접 실행. 최고난도 코딩 → Fable 5.1 또는 Sol, bulk Sol high, long-context/빠른 루프 → Gemini 3.7 Flash, live-search → Grok.
158
+ - **Codex · Sol**——직접 실행: hardest-coding, bulk-mechanical, hard-judgment, ui-draft. 디스패치: taste-final → Claude, long-context/빠른 루프 → Gemini 3.7 Flash, live-searchGrok.
159
+ - **Codex · Terra**——long-context Codex 폴백을 직접 실행. bulk-mechanical 기본값은 Sol high 이동했습니다. 최고난도는 Sol xhigh, taste → Claude, 빠른 루프 → Gemini 3.7 Flash, live-search → Grok.
160
+ - **Grok Build · Grok 4.6**——live-search coding-overflow 직접 실행. 어려운 코딩/판단/문장은 Codex, Claude, Gemini 보내고 API 시그니처와 인용 사실을 검증합니다.
161
+ - **Antigravity · Gemini 3.7 Flash**——Medium long-context/빠른 루프, High bulk/overflow, Low triage 직접 실행. 최고난도 코딩/판단/문장은 Codex, Claude 로, live-search Grok 으로 보냅니다.
163
162
 
164
163
  </details>
165
164
 
@@ -369,6 +368,22 @@ scripts/jobs.sh retry "$ID" --background
369
368
 
370
369
  유휴 상태에서는 API 호출이나 비용이 발생하지 않습니다. 기본적으로 새 수신 메시지나 결과 이벤트가 900초 동안 없으면 worker가 자동으로 종료되며, 전체 작업 시간 제한은 바깥쪽 상한으로 유지됩니다. 대화가 끝나면 더 일찍 `close`할 수 있습니다. 끝났거나 라이브가 아닌 작업에 `jobs.sh send`를 실행하면 명확한 오류와 함께 실패합니다. 보낸 뒤 추적하지 않을 작업, 라이브 지원이 없는 벤더, 깨끗한 상태에서 다시 실행해야 하는 경우에는 쓰지 말고 새 dispatch 또는 완료 뒤 `retry`를 사용하세요.
371
370
 
371
+ ## 🎯 목표 오케스트레이션
372
+
373
+ `omnilane goal`은 포어맨이 진행하는 작업 원장입니다. 루프는 목표를 연 에이전트 세션이나 터미널 사용자가 담당합니다. 작업을 디스패치하고 완료 수신함 또는 `omnilane jobs wait`로 결과를 받은 뒤 다음 작업을 판단하여 반복합니다. 작업 수와 경과 시간 예산은 기본적으로 무제한입니다. `--budget-jobs N` 또는 `--budget-seconds S`를 지정한 경우에만 해당 상한이 활성화됩니다. omnilane은 기록만 담당하며, 각 goal dispatch 전에 호출자가 지정한 상한과 기본적으로 활성화된 동일 실패 퓨즈를 검사하고 포어맨이 목표를 닫을 때 보고서를 작성합니다.
374
+
375
+ ```bash
376
+ GOAL_ID="$(omnilane goal open "불안정한 결제 통합 수정" \
377
+ --budget-jobs 4 --budget-seconds 900 --workdir /path/to/repo)"
378
+ JOB_ID="$(omnilane goal dispatch "$GOAL_ID" --mode work hardest-coding \
379
+ "결제 오류를 재현하고 최소 수정 후 검증")"
380
+ omnilane jobs wait "$JOB_ID" --timeout 900
381
+ omnilane goal note "$GOAL_ID" "결제 통합 테스트 통과"
382
+ omnilane goal close "$GOAL_ID" --summary "결제 통합이 안정화됨"
383
+ ```
384
+
385
+ 목표 상태는 `$OMNILANE_HOME/goals/<goal-id>/`에 저장됩니다. `goal status`로 예산 사용량, 퓨즈 작동 횟수, 각 작업에서 순차적으로 도착하는 메타데이터와 종료 상태를 확인할 수 있습니다. `goal close`는 `report.md`를 기록하고 경로를 출력합니다. 절차가 명확한 단일 작업은 바로 디스패치하십시오. 예산 플래그를 지정한 경우 해당 상한은 엄격한 제한이며 완료를 보장하지 않습니다.
386
+
372
387
  ## ❓ FAQ
373
388
 
374
389
  <details>
@@ -399,48 +414,30 @@ Codex 중심, Codex 없음)이 들어 있습니다.
399
414
  </details>
400
415
 
401
416
  <details>
402
- <summary><b>Claude Fable 5 어디에? 기본 테이블에 없나요?</b></summary>
417
+ <summary><b>Fable 5.1 기본값에 포함됩니다——그리고 Opus 5 가 여전히 맞는 자리</b></summary>
403
418
 
404
419
  <br/>
405
420
 
406
- **Claude 최상위 티어는 보통 메인 루프 자신이지 디스패치되는 워커가 아니기
407
- 때문입니다.** 레인은 "지금 당신이 몰고 있는 모델 이외"에 작업을 보내려고 존재합니다.
408
- Fable 5 메인 루프라면 판단과 문장을 다시 Fable 5 로 라우팅하는 것은 호출만 한 번
409
- 늘 뿐 얻는 것이 없습니다——그래서 위의 "메인 모델 고르기" 목록에서 Fable 5 는
410
- **드라이버**로 독립된 줄을 가지며, hard-judgment, taste-final, 정확성이 핵심인
411
- 가장 어려운 수정을 직접 처리합니다.
412
-
413
- **측정 데이터도 워커로 쓰는 쪽을 지지하지 않습니다.** Artificial Analysis
414
- Intelligence Index(2026-07-24)에서 Opus 5(max)는 61점, Fable 5(max)는 60점 ——
415
- AA 자신이 "사실상 동점"이라 표현했고, Epoch AI 의 Capability Index 는 순위가
416
- 반대입니다(Fable 5 161, Opus 5 159). 종합 지능은 무승부로 보면 됩니다. 실제로
417
- 벌어지는 곳은 에이전트형 전문 산출물이며, 그 격차는 작지 않습니다:
418
-
419
- | 벤치마크 | Claude Opus 5 (max) | Claude Fable 5 | |
420
- |---|---:|---:|---|
421
- | AA-Briefcase(에이전트형 지식 노동, Elo) | 1720 | 1574 | **+146** |
422
- | GDPval-AA v2(Elo) | 1861 | 1747 | **+114** |
423
- | AA-Briefcase 작업당 비용 | $17.79 | $22.30 | **-20%** |
424
- | API 가격, 입력/출력 1M 당 | $5 / $25 | $10 / $50 | **절반** |
425
-
426
- Opus 5 의 max, xhigh, high 세 티어가 AA-Briefcase 상위 세 자리를 차지하며,
427
- `high` 티어조차 작업당 비용 절반 이하로 Fable 5 를 이깁니다. 즉 Fable 5 는 가격이
428
- 두 배이면서 레인이 중시하는 어떤 축에서도 우위를 사지 못합니다.
429
-
430
- **Fable 5 가 실제로 더 나은 지점**: 사실 지식의 폭입니다. AA-Omniscience 에서는
431
- 여전히 Opus 5 를 앞서며(두 모델의 규모 차이를 감안하면 당연), 반대로 Opus 5 는
432
- 확신이 없을 때도 답하는 경향이 있어 환각률이 50%(Opus 4.8 대비 +14 포인트)입니다.
433
- 실행보다 회상이 중심인 작업이라면 명시적으로 지목하세요:
421
+ Fable 5.1 이제 `hardest-coding`, `hard-judgment`, `taste-final`의
422
+ 1순위입니다. 같은 xhigh 에서 지능, agentic 작업, 코딩 모두 Opus 5 를
423
+ 앞섭니다. Sol max 훨씬 저렴한 벤더 판단 폴백으로 남습니다.
434
424
 
435
- ```bash
436
- dispatch.sh --vendor claude --model claude-fable-5 --effort high consult "…"
437
- ```
425
+ | 평가(AA, 2026-09-02 수집) | Claude Fable 5.1 (xhigh) | Claude Opus 5 (xhigh) | GPT-5.6 Sol (max) |
426
+ |---|---:|---:|---:|
427
+ | Intelligence | 64.8 | 62.5 | 60.9 |
428
+ | Agentic | 59.8 | 58.4 | 57.8 |
429
+ | Coding | 80.7 | 77.0 | 77.4 |
430
+ | 환각률(낮을수록 좋음) | .71 | **.60** | .92 |
431
+ | AA $/task | $2.65 | $1.80 | **$0.95** |
438
432
 
439
- **이는 비용과 메인 루프 정책의 선택이지 능력 평가가 아닙니다.** Fable 5 는 설정
440
- 메뉴의 모델 목록에 있으며, `routing.local.yaml` 줄로 기본값을 덮어쓸 수 있습니다:
433
+ Fable 5.1 bulk triage 기본값이 아닙니다. 토큰 가격이 Opus 5
434
+ 2배이고 Claude Code 구독 쿼터도 턴당 가장 많이 소비하기 때문입니다.
435
+ Opus 5 는 더 낮은 환각률과 가격의 Claude 선택지로 medium
436
+ `long-context`에 남으며, 다음 `~/.omnilane/routing.local.yaml` 설정으로
437
+ 어느 레인에든 다시 넣을 수 있습니다.
441
438
 
442
439
  ```yaml
443
- taste-final: claude claude-fable-5 high
440
+ hard-judgment: claude claude-opus-5 xhigh
444
441
  ```
445
442
 
446
443
  </details>
@@ -502,7 +499,7 @@ scripts/dispatch.sh --dry-run hardest-coding "…" # 완전히 해석된 계
502
499
  각사 공식 가격 페이지로 교차 검증)과 공개 비교 리뷰에 근거합니다.
503
500
  이는 의견이지 법칙이 아닙니다——설정 메뉴와 `routing.local.yaml` 이
504
501
  그래서 존재합니다. 벤치마크별 단서를 포함한 작업 노트는
505
- [`docs/model-capabilities-2026-07.md`](docs/model-capabilities-2026-07.md) 에 있습니다.
502
+ [`docs/model-capabilities-2026-09.md`](docs/model-capabilities-2026-09.md) 에 있습니다.
506
503
 
507
504
  ## ⚠️ 알려진 제한
508
505
 
@@ -517,6 +514,23 @@ scripts/dispatch.sh --dry-run hardest-coding "…" # 완전히 해석된 계
517
514
 
518
515
  ## 📜 릴리스 기록
519
516
 
517
+ ## v0.32.0 새 기능
518
+
519
+ - **AA 2026-09 스냅샷으로 전체 라우팅을 재평가했습니다.** Fable 5.1 과 Gemini 3.7 Flash 가 기본값에 들어가고 수치는 새 날짜별 문서에 모았습니다.
520
+ - **모델 카탈로그를 현재 CLI 표면과 동기화했습니다.** Fable 5.1 을 추가하고 agy 에서 사라진 Gemini 3.5 Flash 를 제거했으며 투표 러너도 갱신했습니다.
521
+ - **Opus 5 는 계속 사용할 수 있습니다.** `long-context`에 남고 `routing.local.yaml`로 어느 레인이든 덮어쓸 수 있습니다.
522
+
523
+ ## v0.31.0 새 기능
524
+
525
+ - **목표 예산은 기본적으로 무제한입니다.** `budget_jobs`와 `budget_seconds`는 이제 JSON `null`로 저장되고 `unlimited`로 표시됩니다. 이전의 암묵적인 8개 작업 및 900초 상한은 제거되었으며, `--budget-jobs N` 또는 `--budget-seconds S`를 지정할 때만 엄격한 상한이 활성화됩니다. 반복 실패 퓨즈는 예산이 아니며 기본적으로 계속 활성화됩니다.
526
+ - **파이프를 통한 목표 상태 출력을 수정했습니다.** `omnilane goal status`는 출력 소비자가 파이프를 일찍 닫아도 `BrokenPipeError`를 발생시키지 않고 종료 코드 0으로 끝납니다. 따라서 `pipefail` 환경에서도 `| head`와 `| grep -q`가 정상적으로 작동합니다.
527
+
528
+ ## v0.30.0 새 기능
529
+
530
+ - **목표 원장.** `omnilane goal open`은 작업 수와 경과 시간이 기본적으로 무제한인 목표 원장을 만듭니다. `goal dispatch`는 각 작업을 실행하기 전에 호출자가 지정한 상한과 기본적으로 활성화된 반복 실패 퓨즈를 검사합니다. `goal note`는 호출자의 기록을 남기고, `goal status`는 예산과 작업별 기록을 표시하며, `goal close`는 `goals/<id>/report.md`를 작성합니다.
531
+ - **루프는 호출자가 담당합니다.** 목표를 연 세션이나 사용자가 선택, 디스패치, 검토, 종료를 수행합니다. omnilane은 내장 계획 모델을 실행하지 않습니다.
532
+ - **doctor 검사.** `omnilane doctor`가 이제 목표 오케스트레이션 기능을 검사합니다.
533
+
520
534
  ## v0.21.0 새 기능
521
535
 
522
536
  - **세션 모드를 명시적으로 선택.** `dispatch --live`로 상주 세션을 요구하거나 `--single-shot`으로 단발 작업을 강제할 수 있습니다. 라이브 세션을 지원하지 않는 벤더에서는 `--live`가 즉시 실패하고 지원 벤더를 표시합니다.
@@ -588,7 +602,7 @@ scripts/dispatch.sh --dry-run hardest-coding "…" # 완전히 해석된 계
588
602
  극히 낮다. Flash에 남은 우위는 처리량뿐 — 레이턴시가 병목인 루프라면 로컬 설정에서
589
603
  다시 앞에 두면 된다.
590
604
  - **레인 주석에서 수치 제거.** `routing.yaml`은 각 순서가 성립하는 "이유"만 서술하고,
591
- 점수·가격·처리량은 조회 날짜와 함께 `docs/model-capabilities-2026-07.md`에만 둔다.
605
+ 점수·가격·처리량은 조회 날짜와 함께 `docs/model-capabilities-2026-09.md`에만 둔다.
592
606
  수치가 낡아도 라우팅 표를 고칠 필요가 없다.
593
607
  - **value 프로파일** 추가(`routing.local.yaml.example`) — Intelligence Index 약 1점을
594
608
  내주고 태스크당 비용을 30~40% 절감.
@@ -641,7 +655,7 @@ scripts/dispatch.sh --dry-run hardest-coding "…" # 완전히 해석된 계
641
655
  `claude-opus-4-8` 을 모두 `claude-opus-5`(레인에 맞는 노력 수준 포함)로,
642
656
  Gemini 3.5 Flash 후보를 3.6 Flash 로 바꿔 0.10.0 이후 기본값과 맞췄습니다.
643
657
  - **Intelligence Index 수치를 원본과 대조해 정정**
644
- (`docs/model-capabilities-2026-07.md`): 퍼센트가 아니라 지수 점수입니다.
658
+ (`docs/model-capabilities-2026-09.md`): 퍼센트가 아니라 지수 점수입니다.
645
659
  AA-Briefcase / GDPval-AA v2 비교를 추가하고, 기본값과 반대 방향인 두 결과도
646
660
  기록했습니다: 사실 지식은 Fable 5 가, 표현 품질은 GPT-5.6 Sol 이 앞섭니다.
647
661
 
@@ -686,7 +700,7 @@ scripts/dispatch.sh --dry-run hardest-coding "…" # 완전히 해석된 계
686
700
  - **OpenAI 호환 direct-API 벤더 5개 추가** — `deepseek`, `zai` (GLM), `mistral`,
687
701
  `groq`, `cerebras` 가 `openrouter` 처럼 CLI 없는 레인으로 추가(curl 과
688
702
  `<VENDOR>_API_KEY` 만 필요). `lib/common.sh` 레지스트리에 한 줄로 추가되며,
689
- 모델 능력 비교는 [`docs/model-capabilities-2026-07.md`](docs/model-capabilities-2026-07.md) 참고.
703
+ 모델 능력 비교는 [`docs/model-capabilities-2026-09.md`](docs/model-capabilities-2026-09.md) 참고.
690
704
  - **Fish 셸 자동완성** — `omnilane completion fish | source`.
691
705
 
692
706
  ## v0.8.3 새 기능