omnilane 0.41.1 → 0.42.1

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.
@@ -5,15 +5,15 @@
5
5
  "url": "https://github.com/Seraphim0916/omnilane"
6
6
  },
7
7
  "metadata": {
8
- "description": "One routing table, cross-vendor dispatch, foreman completion inbox.",
9
- "version": "0.41.1"
8
+ "description": "One routing table, native-first or CLI delegation, supervised completion workflows.",
9
+ "version": "0.42.1"
10
10
  },
11
11
  "plugins": [
12
12
  {
13
13
  "name": "omnilane",
14
14
  "source": "./",
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.41.1",
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.1",
17
17
  "category": "development",
18
18
  "keywords": [
19
19
  "routing",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "omnilane",
3
- "version": "0.41.1",
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.",
3
+ "version": "0.42.1",
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"
7
7
  },
package/CHANGELOG.md CHANGED
@@ -6,6 +6,28 @@ semantic version tags.
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.42.1] - 2026-09-07
10
+
11
+ ### Fixed
12
+
13
+ - Make legacy routing and Grok-readiness fixtures explicitly synthetic-human so the frozen exact-AA gate still fails closed for real missing model identity without pre-empting the behavior those fixtures test.
14
+ - Make the cross-vendor encoded-effort lineage spy portable across CI hosts and assert the exact `--model gemini-3.8-flash-high` selector pair delivered to the provider fixture.
15
+ - Package the current 0.42.1 release notes while retaining the immutable 0.42.0 release history. The AA registry remains 78 scored targets, one scored reference-only entry, and 10 unknown configurations.
16
+
17
+ ## [0.42.0] - 2026-09-07
18
+
19
+ ### Added
20
+
21
+ - Add native-first execution for caller-owned agent tools. `--executor auto` uses only an explicitly compatible capability context and otherwise preserves the exact resolved vendor/model/effort on the CLI path; forced native rejects incompatible contexts. Native handoffs remain pending until the caller runs the declared new/reuse strategy and records an independently checked completion.
22
+ - Add a frozen exact-AA downward-delegation gate backed by `config/aa-model-policy.json`. Every provider attempt checks the exact current caller and inherited ceiling; child contexts record the selected target, retries intersect the current caller with the original authorizer ceiling, and model retries do not inherit a human exemption.
23
+ - Add the Codex completion-wakeup protocol and `scripts/completion-wakeup.py` lifecycle: prepare, registration receipt, poll, delivered acknowledgement, acceptance acknowledgement, pause, and close. The integration is scheduled heartbeat polling bound to a caller-owned thread, not an instant push channel.
24
+ - Document native handoff/completion/reuse and completion-wakeup protocols in `docs/native-executor.md` and `docs/completion-wakeup.md`.
25
+
26
+ ### Changed
27
+
28
+ - Package the AA policy registry and both public protocol documents. The package already includes `scripts/`, which carries `native.py`, `aa_policy.py`, `aa_retry.py`, and `completion-wakeup.py`.
29
+ - Synchronize all five README release summaries with the 0.42.0 feature boundary. The AA snapshot contains 78 scored configurations, but catalog coverage is not a claim that every configuration is runnable; completion attestation does not certify upstream model identity, native capacity is not a cold-start guarantee, and heartbeat delivery is not instantaneous.
30
+
9
31
  ## [0.41.1] - 2026-09-06
10
32
 
11
33
  ### Changed
@@ -815,7 +837,9 @@ work to the wrong model, and records the evidence behind the shipped defaults.
815
837
  - Initial shared routing table, cross-vendor dispatcher, runners, installer,
816
838
  and baseline lint fixes.
817
839
 
818
- [Unreleased]: https://github.com/Seraphim0916/omnilane/compare/v0.41.1...HEAD
840
+ [Unreleased]: https://github.com/Seraphim0916/omnilane/compare/v0.42.1...HEAD
841
+ [0.42.1]: https://github.com/Seraphim0916/omnilane/compare/v0.42.0...v0.42.1
842
+ [0.42.0]: https://github.com/Seraphim0916/omnilane/compare/v0.41.1...v0.42.0
819
843
  [0.41.1]: https://github.com/Seraphim0916/omnilane/compare/v0.40.0...v0.41.1
820
844
  [0.40.0]: https://github.com/Seraphim0916/omnilane/compare/v0.34.0...v0.40.0
821
845
  [0.34.0]: https://github.com/Seraphim0916/omnilane/compare/v0.33.0...v0.34.0
package/README.ja.md CHANGED
@@ -112,10 +112,10 @@ flowchart LR
112
112
 
113
113
  | レーン | 第一候補 | バックアップ | 用途 |
114
114
  |---|---|---|---|
115
- | 🔥 hardest-coding | Claude Fable 5.1 (max) | GPT-6 Astra (max) → Grok 4.6 → Gemini 3.8 Flash (High) | 最難関の実装、深い根本原因調査、正確性が重要な修正 |
115
+ | 🔥 hardest-coding | Claude Fable 5.1 (max) | GPT-6 Astra (xhigh) → Grok 4.6 → Gemini 3.8 Flash (High) | 最難関の実装、深い根本原因調査、正確性が重要な修正 |
116
116
  | 🏗️ bulk-mechanical | GPT-5.6 Sol (high) | Gemini 3.8 Flash (High) → Claude Sonnet 5 (high) | リファクタリング、移行、テスト、大規模レビュー——機械的な持久作業 |
117
117
  | 🧹 triage | GPT-5.6 Luna (high) | Gemini 3.8 Flash (Low) → Claude Haiku 4.5 | 大量スキャン、一次選別 |
118
- | ⚖️ hard-judgment | Claude Fable 5.1 (xhigh) | GPT-6 Astra (max) → Grok 4.6 | アーキテクチャ判断、深い推論、セカンドオピニオン |
118
+ | ⚖️ hard-judgment | Claude Fable 5.1 (xhigh) | GPT-6 Astra (xhigh) → Grok 4.6 | アーキテクチャ判断、深い推論、セカンドオピニオン |
119
119
  | ✒️ taste-final | Claude Fable 5.1 (xhigh) | GPT-6 Astra (xhigh) → Grok 4.6 → Gemini 3.8 Flash (High) | ユーザー向け文章、プロンプト/文書の仕上げ、文体判断 |
120
120
  | 💬 consult | GPT-6 Astra (xhigh) | Claude Fable 5.1 (xhigh) → Grok 4.6 → Gemini 3.8 Flash (Medium) | 指名モデルへの直接相談。フォールバック防止のため `--vendor` を維持 |
121
121
  | 🎨 ui-draft | GPT-5.6 Sol (high) | Claude Fable 5.1 (xhigh) → Gemini 3.8 Flash (High) | デザインシステム/参照画像がある場合だけの UI ドラフト |
@@ -533,10 +533,29 @@ work の別名ではありません。サービス管理など、work の境界
533
533
 
534
534
  ## 📜 リリース履歴
535
535
 
536
+ ## v0.42.1 の新機能
537
+
538
+ - **CI フィクスチャの修復。** 完全な Python discovery では、旧 routing/Grok readiness テストに synthetic-human caller を明示します。production の missing-identity 拒否、承認済み registry SHA、下方向スコア検査、retry lineage、skip assertion は変更しません。
539
+ - **移植可能な lineage 証拠。** encoded-effort Gemini spy は移植可能な Python インタープリター選択を使い、正確な `--model gemini-3.8-flash-high` の組を検証します。AA の内訳は scored target 78、scored reference-only 1、unknown configuration 10 のままです。
540
+ - **パッチ版への更新。** npm 公開後は `npm i -g omnilane@0.42.1` を実行できます。既存の repo-symlink インストールでは checkout を更新して `omnilane --version` を確認し、意図的に再配線する場合以外は `./install.sh` を再実行しません。GitHub release と npm 公開は別です。
541
+
542
+ ## v0.42.0 の新機能
543
+
544
+ - **ネイティブ優先実行。** `--executor auto` は、ホストが完全一致する互換 capability context を渡した場合だけ caller 所有のネイティブエージェントを使い、それ以外は同じ vendor/model/effort の CLI 経路を維持します。ネイティブ handoff は未完了の作業であり、完了結果ではありません。
545
+ - **凍結 exact-AA 下方委任。** 同梱の AA v4.2 policy は provider 試行ごとに現在の caller と継承 ceiling を検査し、正確な child context を作り、retry 時も再検証します。78 個の採点済み構成は policy 入力であり、すべてが実行可能という意味ではありません。
546
+ - **明示的なネイティブ再利用。** 既存 Codex エージェントの再利用には caller が確認した idle 状態、context 保持への同意、runtime の完全一致が必要です。容量不足時に new-agent 要求を暗黙に再利用へ変更しません。完了記録は上流モデル identity の認証や cold-start 容量保証でもありません。
547
+ - **Codex 完了継続確認。** `scripts/completion-wakeup.py` は controller thread と job allowlist を結び、scheduler 登録、終端イベントの poll、delivery と acceptance を別々に記録します。これは定期 heartbeat polling であり、即時 push ではありません。
548
+ - **パッケージと更新。** npm tarball は AA policy、native/AA/wakeup helper、公開 protocol 文書を含みます。npm 公開後は `npm i -g omnilane@0.42.0` を実行できますが、GitHub release だけでは npm 公開済みとは限りません。
549
+
536
550
  ## v0.41.1 の新機能
537
551
 
552
+ - **Astra の既定値を xhigh に変更。** `hardest-coding` と `hard-judgment` の Astra は `xhigh` が既定値です。必要な場合は `--vendor codex --effort max` を明示できます。プロバイダーの順序と他モデルの推論強度は変更しません。CLI サブスクリプション枠の節約を実測したという主張ではありません。
553
+
538
554
  - **Python 3.9 互換性。** Agy のワークスペースポリシーの準備・終了処理で `Path.lstat()` を使い、シンボリックリンク、inode、同時置換の保護を維持します。
539
555
  - **隔離した CI テスト設定。** strict doctor の検証にプラグイン有効化とディレクトリソース設定を追加します。設定の欠落、無効化、パス不一致は引き続き失敗します。
556
+ - **移植可能なオフライン CI テスト設定。** 操作者の HOME への依存をなくし、移植可能な権限モード検査を使い、実際のプラットフォームに合わせて Linux/macOS のライブ実行制限を検証します。
557
+ - **Bash 3.2 での Gemini スレッド。** 空のスレッド引数の展開を保護し、`set -u`、値がある場合の再開引数、既存のモードと権限ポリシーを維持します。
558
+ - **時間制限付きの Codex ライブ終了。** FIFO のバックプレッシャーや部分書き込みでもバイト順序と未送信の末尾を保持し、終了時に制限時間内で転送します。実行プロセスが先に終了した場合も、受理済みで未転送の入力は保持して失敗を報告し、黙って破棄しません。他のプロバイダーの転送経路は変更しません。
540
559
  - **npm 公開後の更新。** `npm i -g omnilane@0.41.1`、または checkout 更新後に `./install.sh` を実行してください。npm は別途公開され、GitHub リリースは npm での提供開始を意味しません。
541
560
 
542
561
  ## v0.40.0 の新機能
package/README.ko.md CHANGED
@@ -110,10 +110,10 @@ flowchart LR
110
110
 
111
111
  | 레인 | 1순위 모델 | 백업 | 용도 |
112
112
  |---|---|---|---|
113
- | 🔥 hardest-coding | Claude Fable 5.1 (max) | GPT-6 Astra (max) → Grok 4.6 → Gemini 3.8 Flash (High) | 가장 어려운 구현, 근본 원인 디버깅, 정확성이 핵심인 수정 |
113
+ | 🔥 hardest-coding | Claude Fable 5.1 (max) | GPT-6 Astra (xhigh) → Grok 4.6 → Gemini 3.8 Flash (High) | 가장 어려운 구현, 근본 원인 디버깅, 정확성이 핵심인 수정 |
114
114
  | 🏗️ bulk-mechanical | GPT-5.6 Sol (high) | Gemini 3.8 Flash (High) → Claude Sonnet 5 (high) | 리팩터링, 마이그레이션, 테스트, 대량 스윕——기계적 지구력 작업 |
115
115
  | 🧹 triage | GPT-5.6 Luna (high) | Gemini 3.8 Flash (Low) → Claude Haiku 4.5 | 대량 스캔과 1차 선별 |
116
- | ⚖️ hard-judgment | Claude Fable 5.1 (xhigh) | GPT-6 Astra (max) → Grok 4.6 | 아키텍처 판정, 심층 추론, 2차 의견 |
116
+ | ⚖️ hard-judgment | Claude Fable 5.1 (xhigh) | GPT-6 Astra (xhigh) → Grok 4.6 | 아키텍처 판정, 심층 추론, 2차 의견 |
117
117
  | ✒️ taste-final | Claude Fable 5.1 (xhigh) | GPT-6 Astra (xhigh) → Grok 4.6 → Gemini 3.8 Flash (High) | 사용자 대상 문장, 프롬프트/문서 다듬기, 스타일 판정 |
118
118
  | 💬 consult | GPT-6 Astra (xhigh) | Claude Fable 5.1 (xhigh) → Grok 4.6 → Gemini 3.8 Flash (Medium) | 지정 모델 직접 상담. 폴백 방지를 위해 `--vendor` 유지 |
119
119
  | 🎨 ui-draft | GPT-5.6 Sol (high) | Claude Fable 5.1 (xhigh) → Gemini 3.8 Flash (High) | 디자인 시스템/참조 이미지가 있을 때만 UI 초안 |
@@ -518,10 +518,29 @@ work 는 지정한 디렉터리 안의 변경만 허용하며 모델 연결은
518
518
 
519
519
  ## 📜 릴리스 기록
520
520
 
521
+ ## v0.42.1 새 기능
522
+
523
+ - **CI 픽스처 복구.** 전체 Python discovery는 기존 routing 및 Grok readiness 테스트에 synthetic-human caller를 명시합니다. production의 missing-identity 거부, 승인된 registry SHA, 하향 점수 검사, retry lineage, skip assertion은 변경하지 않습니다.
524
+ - **이식 가능한 lineage 증거.** encoded-effort Gemini spy는 이식 가능한 Python 인터프리터 선택을 사용하고 정확한 `--model gemini-3.8-flash-high` 인수 쌍을 검증합니다. AA 구성 수는 scored target 78개, scored reference-only 1개, unknown configuration 10개로 유지됩니다.
525
+ - **패치 버전 업그레이드.** npm 게시 후 `npm i -g omnilane@0.42.1`을 실행할 수 있습니다. 기존 repo-symlink 설치는 checkout을 업데이트하고 `omnilane --version`만 확인하며, 의도적으로 다시 연결할 때가 아니면 `./install.sh`를 재실행하지 않습니다. GitHub release와 npm 게시는 별개입니다.
526
+
527
+ ## v0.42.0 새 기능
528
+
529
+ - **네이티브 우선 실행.** `--executor auto`는 호스트가 정확히 호환되는 capability context를 제공할 때만 호출자 소유 네이티브 에이전트를 사용하며, 그 외에는 같은 vendor/model/effort의 CLI 경로를 유지합니다. 네이티브 handoff는 대기 중 작업이지 완료 결과가 아닙니다.
530
+ - **고정 exact-AA 하향 위임.** 포함된 AA v4.2 policy는 각 provider 시도 전에 현재 caller와 상속 ceiling을 검사하고 정확한 child context를 만들며 retry에서도 다시 검증합니다. 점수가 있는 78개 구성은 policy 입력일 뿐, 전부 실행 가능하다는 의미가 아닙니다.
531
+ - **명시적 네이티브 재사용.** 기존 Codex 에이전트를 재사용하려면 호출자가 확인한 idle 상태, context 보존 동의, 정확한 runtime 일치가 필요합니다. 용량 부족 시 new-agent 요청을 몰래 재사용으로 바꾸지 않습니다. 완료 기록도 상위 모델 identity 인증이나 cold-start 용량 보장이 아닙니다.
532
+ - **Codex 완료 후속 검증.** `scripts/completion-wakeup.py`는 controller thread와 job allowlist를 연결하고 scheduler 등록, 종료 이벤트 poll, delivery와 acceptance를 분리해 기록합니다. 이는 주기적인 heartbeat polling이며 즉시 push가 아닙니다.
533
+ - **패키지와 업그레이드.** npm tarball에는 AA policy, native/AA/wakeup helper, 공개 protocol 문서가 포함됩니다. npm 게시 후 `npm i -g omnilane@0.42.0`을 사용할 수 있으며, GitHub release만으로 npm 게시가 보장되지는 않습니다.
534
+
521
535
  ## v0.41.1 새 기능
522
536
 
537
+ - **Astra 기본값을 xhigh로 변경.** `hardest-coding`과 `hard-judgment`의 Astra는 기본적으로 `xhigh`를 사용하며, 필요하면 `--vendor codex --effort max`를 명시할 수 있습니다. 공급자 순서와 다른 모델의 추론 강도는 그대로 유지합니다. CLI 구독 할당량 절감을 실측했다는 주장은 아닙니다.
538
+
523
539
  - **Python 3.9 호환성.** Agy 작업 영역 정책 준비와 정리에 `Path.lstat()`을 사용하며 심볼릭 링크, inode 및 동시 교체 보호를 유지합니다.
524
540
  - **격리된 CI 테스트 설정.** strict doctor 검증에 플러그인 활성화와 디렉터리 소스 설정을 추가합니다. 설정 누락, 비활성화 또는 경로 불일치는 계속 실패합니다.
541
+ - **이식 가능한 오프라인 CI 테스트 설정.** 작업자 HOME 의존성을 제거하고 이식 가능한 권한 모드 검사를 사용하며, 실제 플랫폼에 맞춰 Linux/macOS 라이브 실행 제한을 검증합니다.
542
+ - **Bash 3.2의 Gemini 스레드.** 빈 스레드 인수 확장을 보호하면서 `set -u`, 값이 있는 재개 인수, 기존 모드와 권한 정책을 유지합니다.
543
+ - **시간 제한이 있는 Codex 라이브 종료.** FIFO 역압과 부분 쓰기에서도 바이트 순서와 미전송 뒷부분을 보존하여 종료 제한 시간 안에 전송합니다. 실행기가 먼저 종료되면 이미 수락했지만 전달하지 못한 대기 입력을 보존하고 실패를 보고하며 조용히 버리지 않습니다. 다른 공급자의 전달 경로는 그대로 유지합니다.
525
544
  - **npm 게시 후 업그레이드.** `npm i -g omnilane@0.41.1`을 실행하거나 checkout 업데이트 후 `./install.sh`를 실행하십시오. npm은 별도로 게시되며 GitHub 릴리스가 npm 제공을 뜻하지 않습니다.
526
545
 
527
546
  ## v0.40.0 새 기능
package/README.md CHANGED
@@ -32,8 +32,8 @@ architecture question runs on whatever you happened to open.
32
32
  **What omnilane does.** It gives your assistant a routing table. Work gets
33
33
  sorted into **lanes** — hardest coding, bulk mechanical, triage, hard judgment,
34
34
  final polish — and each lane names the model that is best (and cheapest) for
35
- it. Your assistant keeps the lanes it is already good at and hands the rest to
36
- another vendor's CLI in the background, using the logins you already have.
35
+ it. The assistant delegates each lane through a compatible caller-owned native
36
+ agent or the existing vendor CLI, even when the worker uses the same model.
37
37
 
38
38
  **What it is not.** Not a proxy, not a new subscription, not another service to
39
39
  keep alive. It is a table plus a dispatch script that runs behind the tool you
@@ -95,7 +95,7 @@ flowchart LR
95
95
  and shells out to the vendor's CLI headlessly. `--vendor` selects one named
96
96
  vendor without fallback.
97
97
  - **`skills/omnilane/SKILL.md`** — a single skill every harness can load:
98
- identify your own model, self-execute your lane, dispatch the rest.
98
+ identify the lane's model and delegate through a compatible native agent or CLI.
99
99
  - **`omnilane mcp`** — the same routing surface as an MCP stdio server,
100
100
  for hosts that integrate via MCP instead of skills.
101
101
 
@@ -115,10 +115,10 @@ actually resolves.
115
115
 
116
116
  | Lane | First choice | Backup | When |
117
117
  |---|---|---|---|
118
- | 🔥 hardest-coding | Claude Fable 5.1 (max) | GPT-6 Astra (max) → Grok 4.6 → Gemini 3.8 Flash (High) | Hardest implementation, deep root-cause debug, correctness-critical edits |
118
+ | 🔥 hardest-coding | Claude Fable 5.1 (max) | GPT-6 Astra (xhigh) → Grok 4.6 → Gemini 3.8 Flash (High) | Hardest implementation, deep root-cause debug, correctness-critical edits |
119
119
  | 🏗️ bulk-mechanical | GPT-5.6 Sol (high) | Gemini 3.8 Flash (High) → Claude Sonnet 5 (high) | Refactors, migrations, tests, review sweeps — mechanical endurance |
120
120
  | 🧹 triage | GPT-5.6 Luna (high) | Gemini 3.8 Flash (Low) → Claude Haiku 4.5 | High-volume scans, first-pass filtering |
121
- | ⚖️ hard-judgment | Claude Fable 5.1 (xhigh) | GPT-6 Astra (max) → Grok 4.6 | Architecture arbitration, deep reasoning, second opinions |
121
+ | ⚖️ hard-judgment | Claude Fable 5.1 (xhigh) | GPT-6 Astra (xhigh) → Grok 4.6 | Architecture arbitration, deep reasoning, second opinions |
122
122
  | ✒️ taste-final | Claude Fable 5.1 (xhigh) | GPT-6 Astra (xhigh) → Grok 4.6 → Gemini 3.8 Flash (High) | User-facing prose and style arbitration; benchmarks do not prove visual or editorial taste |
123
123
  | 💬 consult | GPT-6 Astra (xhigh) | Claude Fable 5.1 (xhigh) → Grok 4.6 → Gemini 3.8 Flash (Medium) | Direct named-model consultation; keep `--vendor` to prevent fallback |
124
124
  | 🎨 ui-draft | GPT-5.6 Sol (high) | Claude Fable 5.1 (xhigh) → Gemini 3.8 Flash (High) | UI drafts only with a design system or reference images; no aesthetic benchmark claim |
@@ -147,23 +147,71 @@ request; this is not a free-form shell parser in `dispatch.sh`.
147
147
  table. If an explicit target is absent or unavailable, the command fails
148
148
  clearly instead of falling back to another vendor or family.
149
149
 
150
+ ## Native-first delegation, terminal-compatible
151
+
152
+ Model routing and execution are separate. `--executor auto` (default) selects
153
+ a caller-owned native tool only from explicit structured capabilities. Without
154
+ that context a standalone terminal uses legacy CLI. `--executor cli` forces
155
+ the old behavior; `--executor native` rejects missing/incompatible capability.
156
+ Same vendor is not same model; explicit model/vendor/effort are preserved.
157
+ On native rejection, auto reports a CLI reason and keeps the exact resolved
158
+ target rather than substituting another vendor/model.
159
+
160
+ ```sh
161
+ # Standalone terminal: CLI dry run, no jobs or provider calls.
162
+ omnilane route --executor auto --dry-run hardest-coding "Review this change"
163
+
164
+ # Host supplies honest shared/inherited capability JSON; inspect the linked schema.
165
+ omnilane route --executor native --native-context /absolute/capability.json --workdir /absolute/repo hardest-coding "Review this change"
166
+ # The host now spawns its native agent tool, waits and writes actual evidence.
167
+ omnilane jobs --json complete-native JOB_ID /absolute/completion.json
168
+ omnilane jobs --json status JOB_ID
169
+ omnilane jobs --json result JOB_ID
170
+ omnilane jobs --json list --status pending
171
+ ```
172
+
173
+ Native route emits **pending handoff JSON**, not a shell-native invocation or
174
+ completed job. Codex `collaboration.spawn_agent` has no sandbox/tool/workdir
175
+ restriction parameters and inherits parent tools/filesystem. Its honest request
176
+ and matching capability row explicitly use `shared-inherited` with empty tool
177
+ arrays; `advise`/`work` and workdir are task intent, not an OS boundary. Hard
178
+ isolation remains same-model CLI in auto and rejects forced native.
179
+
180
+ The caller spawns the real agent with the exact resolved model/effort, then
181
+ ingests the actual agent ID, runtime model/effort/vendor/harness/backend,
182
+ outcome, public result, and evidence. An explicit model override uses
183
+ `fork_turns: "none"` or bounded positive history, never `fork_turns: "all"`.
184
+ Unknown caller current model may be omitted when the route explicitly selects
185
+ an exact model declared by the matching capability row. Duplicate completion is
186
+ rejected. Native cancellation never signals PIDs; the caller separately stops
187
+ any spawned agent.
188
+
189
+ Background/durable/live/named CLI sessions, sysops, unsupported isolation,
190
+ vote/arbitration and multi-round paths remain CLI-only. Native integration is
191
+ limited to list/status/result/cancel/completion, not CLI wait/retry/mailbox or
192
+ goal-loop. Protocol handling needs Python 3.9+; legacy terminal CLI remains
193
+ compatible. Tests are fixtures, not live native acceptance. The parent alone
194
+ syncs the host AGENTS managed block after review.
195
+ See [schemas, complete examples and limitations](docs/native-executor.md).
196
+
150
197
  <details>
151
- <summary><b>👉 Which lanes do you run yourself? Pick your main model</b></summary>
198
+ <summary><b>Model-role guidance (delegation still required)</b></summary>
152
199
 
153
200
  <br/>
154
201
 
155
- The table above is vendor-neutral — the *best* model for a lane doesn't change
156
- with who is driving. What changes is which lanes you **self-execute** (you
157
- already are that model, so no second call) versus **dispatch**. Your harness's
158
- `omnilane` skill applies the right row automatically; this is the human view.
202
+ The best model for a lane does not change with the commander. These are role
203
+ hints, not self-execution exemptions: even a same-model task is delegated.
204
+ A native agent is eligible only when the caller explicitly confirms the exact
205
+ model, effort, mode, workdir, tools, isolation and lifecycle. Otherwise use CLI.
206
+ The commander orchestrates and validates; workers do not delegate again.
159
207
 
160
- - **Claude Code · Fable 5.1** — recommended prompt-level controller for quality-sensitive work; this is a role, not a lane or automatic selector. Self-execute hardest-coding at max and judgment/taste at xhigh; use Astra for an independent Codex review, Sol for bulk, Gemini 3.8 Flash for long/fast work, and Grok for live search.
208
+ - **Claude Code · Fable 5.1** — recommended prompt-level controller for quality-sensitive work; this is a role, not a lane or automatic selector. Delegate hardest-coding at max and judgment/taste at xhigh; use Astra for an independent Codex review, Sol for bulk, Gemini 3.8 Flash for long/fast work, and Grok for live search.
161
209
  - **Claude Code · Opus 5** — balanced prompt-level controller and independent reviewer when explicitly selected (`high`, or `xhigh` for deeper review), plus long-context fallback. This is an opt-in role, not a new lane or the default hard-judgment route.
162
- - **Codex · Sol** — self-execute bulk-mechanical and constrained ui-draft at high. Escalate hardest coding and judgment to Fable/Astra; route long/fast work to Gemini 3.8 Flash and live search to Grok.
163
- - **Codex · Astra** — prompt-level controller backup and independent reviewer. Use max for hardest coding/judgment and xhigh for consult/taste; explicit model/effort always win.
164
- - **Codex · Terra** — self-execute the Codex long-context fallback at max. Bulk stays on Sol high; escalate hard work to Fable/Astra.
165
- - **Grok Build · Grok 4.6** — self-execute: live-search and coding-overflow, plus fallback duty in hardest-coding, hard-judgment, and taste-final. Dispatch primary hard coding/judgment/taste work to Codex/Claude/Gemini when available; verify API signatures and cited facts.
166
- - **Antigravity · Gemini 3.8 Flash** — self-execute long-context Medium, fast-agentic/triage Low, and bulk/overflow/web fallbacks High. Do not infer visual taste or controller authority from agent/coding benchmarks.
210
+ - **Codex · Sol** — delegate bulk-mechanical and constrained ui-draft at high. Escalate hardest coding and judgment to Fable/Astra; route long/fast work to Gemini 3.8 Flash and live search to Grok.
211
+ - **Codex · Astra** — prompt-level controller backup and independent reviewer. Use xhigh by default for hardest coding/judgment and consult/taste; explicitly select `--vendor codex --effort max` when needed. Explicit model/effort always win.
212
+ - **Codex · Terra** — delegate the Codex long-context fallback at max. Bulk stays on Sol high; escalate hard work to Fable/Astra.
213
+ - **Grok Build · Grok 4.6** — delegate live-search and coding-overflow, plus fallback duty in hardest-coding, hard-judgment, and taste-final. Dispatch primary hard coding/judgment/taste work to Codex/Claude/Gemini when available; verify API signatures and cited facts.
214
+ - **Antigravity · Gemini 3.8 Flash** — delegate long-context Medium, fast-agentic/triage Low, and bulk/overflow/web fallbacks High. Do not infer visual taste or controller authority from agent/coding benchmarks.
167
215
 
168
216
  </details>
169
217
 
@@ -579,10 +627,29 @@ working notes, including per-benchmark caveats, live in
579
627
 
580
628
  ## 📜 Release history
581
629
 
630
+ ## What's new in v0.42.1
631
+
632
+ - **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.
633
+ - **Portable lineage evidence.** The encoded-effort Gemini spy uses a portable Python interpreter selector and verifies the exact `--model gemini-3.8-flash-high` pair. AA coverage remains 78 scored targets, one scored reference-only entry, and 10 unknown configurations.
634
+ - **Patch upgrade.** After npm publication, run `npm i -g omnilane@0.42.1`. For an existing repo-symlink installation, update the checkout and run `omnilane --version`; do not rerun `./install.sh` unless deliberately rewiring integrations. GitHub release and npm publication remain separate.
635
+
636
+ ## What's new in v0.42.0
637
+
638
+ - **Native-first execution.** Routing and execution are separate: `--executor auto` uses a caller-owned native agent only when the host supplies an exact compatible capability context, and otherwise keeps the same vendor/model/effort on the CLI path. A native handoff is pending work, not a completed job; the caller executes it and records verified completion separately.
639
+ - **Frozen exact-AA downward delegation.** The checked-in AA v4.2 policy gates every provider attempt against the current caller and inherited ceiling, carries an exact child context, and revalidates retries without inheriting a model's earlier human exemption. Its 78 scored configurations are policy inputs, not a claim that all 78 are runnable.
640
+ - **Explicit native reuse.** Reusing an existing Codex agent requires caller-observed idle state, preserved-context consent, and an exact runtime match; capacity exhaustion never silently changes a new-agent request into reuse. Completion is caller-attested evidence, not independent certification of upstream model identity or a cold-start guarantee.
641
+ - **Codex completion wakeup.** `scripts/completion-wakeup.py` binds a run to a controller thread and job allowlist, records scheduler registration, polls terminal events, and separates delivery from acceptance before closing. This is scheduled heartbeat polling, not instant push; without a supported callback the controller keeps waiting directly.
642
+ - **Package and upgrade.** The npm tarball now carries the AA policy, native/AA/wakeup helpers, and both public protocol documents. After npm publication, run `npm i -g omnilane@0.42.0`. Existing repo-symlink installations only need the checkout updated to the released revision and `omnilane --version` verified; review `./install.sh` only for first installation or required rewiring. A GitHub release alone does not establish npm availability.
643
+
582
644
  ## What's new in v0.41.1
583
645
 
646
+ - **Astra defaults to xhigh.** In `hardest-coding` and `hard-judgment`, Astra now defaults to `xhigh`; explicitly select `--vendor codex --effort max` when needed. Provider order and other model efforts are unchanged. This is not a claim of measured CLI subscription-quota savings.
647
+
584
648
  - **Python 3.9 compatibility.** Agy workspace-policy staging and cleanup now use `Path.lstat()` without weakening symlink, inode, or concurrent-replacement protections.
585
649
  - **Isolated CI fixture.** Strict doctor acceptance now supplies explicit plugin-enabled and directory-marketplace settings; missing, disabled, or mismatched settings still fail.
650
+ - **Portable offline CI fixtures.** Tests no longer depend on the operator HOME, use portable permission-mode checks, and verify Linux/macOS live restrictions for the actual platform.
651
+ - **Gemini threads on Bash 3.2.** Empty thread-argument expansion is guarded while preserving `set -u`, populated resume arguments, and existing mode and permission policies.
652
+ - **Bounded Codex live close.** FIFO backpressure and partial writes preserve byte ordering and unsent suffixes for the bounded close drain. If the runner exits before forwarding accepted queued input, that input is retained and the failure is reported rather than silently discarded. Other providers keep their existing forwarding paths.
586
653
  - **Upgrade after npm publication.** Run `npm i -g omnilane@0.41.1`, or update your checkout and rerun `./install.sh`. npm publication is handled separately; a GitHub release does not establish npm availability.
587
654
 
588
655
  ## What's new in v0.40.0
package/README.zh-CN.md CHANGED
@@ -103,10 +103,10 @@ flowchart LR
103
103
 
104
104
  | 通道 | 首选模型 | 备选模型 | 用途 |
105
105
  |---|---|---|---|
106
- | 🔥 hardest-coding | Claude Fable 5.1 (max) | GPT-6 Astra (max) → Grok 4.6 → Gemini 3.8 Flash (High) | 最难的实现、深度调试、正确性关键的修改 |
106
+ | 🔥 hardest-coding | Claude Fable 5.1 (max) | GPT-6 Astra (xhigh) → Grok 4.6 → Gemini 3.8 Flash (High) | 最难的实现、深度调试、正确性关键的修改 |
107
107
  | 🏗️ bulk-mechanical | GPT-5.6 Sol (high) | Gemini 3.8 Flash (High) → Claude Sonnet 5 (high) | 重构、迁移、测试、大范围扫描——机械耐力活 |
108
108
  | 🧹 triage | GPT-5.6 Luna (high) | Gemini 3.8 Flash (Low) → Claude Haiku 4.5 | 大量扫描、第一轮筛选 |
109
- | ⚖️ hard-judgment | Claude Fable 5.1 (xhigh) | GPT-6 Astra (max) → Grok 4.6 | 架构裁决、深度推理、第二意见 |
109
+ | ⚖️ hard-judgment | Claude Fable 5.1 (xhigh) | GPT-6 Astra (xhigh) → Grok 4.6 | 架构裁决、深度推理、第二意见 |
110
110
  | ✒️ taste-final | Claude Fable 5.1 (xhigh) | GPT-6 Astra (xhigh) → Grok 4.6 → Gemini 3.8 Flash (High) | 对外文字、提示词/文档润色、风格裁决 |
111
111
  | 💬 consult | GPT-6 Astra (xhigh) | Claude Fable 5.1 (xhigh) → Grok 4.6 → Gemini 3.8 Flash (Medium) | 直接指定模型咨询;保留 `--vendor` 避免降级 |
112
112
  | 🎨 ui-draft | GPT-5.6 Sol (high) | Claude Fable 5.1 (xhigh) → Gemini 3.8 Flash (High) | 仅在提供设计系统/参考图时生成 UI 草稿 |
@@ -493,10 +493,29 @@ scripts/dispatch.sh --dry-run hardest-coding "…" # 完整解析后的计划,
493
493
 
494
494
  ## 📜 版本历程
495
495
 
496
+ ## v0.42.1 新功能
497
+
498
+ - **修复 CI 测试夹具。** 完整 Python discovery 现在会为旧 routing 与 Grok readiness 测试显式指定 synthetic-human caller;production 的缺失身份拒绝、获准 registry SHA、向下分数闸、重试 lineage 与 skip 断言均保持不变。
499
+ - **可移植的 lineage 证据。** encoded-effort Gemini spy 改用可移植的 Python 解释器选择,并验证精确的 `--model gemini-3.8-flash-high` 参数对。AA 覆盖仍为 78 个 scored target、1 个 scored reference-only 项目和 10 个 unknown configuration。
500
+ - **补丁版升级。** npm 发布后可运行 `npm i -g omnilane@0.42.1`。现有 repo-symlink 安装只需更新 checkout 并运行 `omnilane --version`;除非有意重新接线,否则不要再次运行 `./install.sh`。GitHub release 与 npm 发布仍相互独立。
501
+
502
+ ## v0.42.0 新功能
503
+
504
+ - **原生优先执行。** `--executor auto` 只在主机提供精确兼容的能力上下文时使用调用方持有的原生代理;否则保持同一供应商、模型和推理强度走 CLI。原生 handoff 仍是待执行任务,并不代表已经完成。
505
+ - **冻结的 exact-AA 向下委派。** 内置 AA v4.2 策略在每次供应商调用前检查当前 caller 与继承上限,生成精确子上下文,并在重试时重新验证。78 个评分配置是策略输入,不表示 78 个配置都可运行。
506
+ - **明确的原生复用边界。** 复用现有 Codex 代理要求调用方已确认空闲、允许保留上下文且运行身份完全匹配;容量不足不会把新代理请求静默改成复用。完成记录也不是上游模型身份认证或冷启动容量保证。
507
+ - **Codex 完成续验。** `scripts/completion-wakeup.py` 绑定控制线程与任务白名单,记录排程注册,并区分送达和验收。这是定时 heartbeat 轮询,而不是即时推送。
508
+ - **封装与升级。** npm 包现在包含 AA 策略、原生/AA/wakeup 辅助脚本以及公开协议文档。npm 发布后可运行 `npm i -g omnilane@0.42.0`;GitHub release 本身不代表 npm 已上架。
509
+
496
510
  ## v0.41.1 新功能
497
511
 
512
+ - **Astra 默认 xhigh。** `hardest-coding` 与 `hard-judgment` 的 Astra 默认改用 `xhigh`;需要时可明确指定 `--vendor codex --effort max`。供应商顺序与其他模型的推理强度保持不变;这不代表已实测节省 CLI 订阅额度。
513
+
498
514
  - **Python 3.9 兼容性。** Agy 工作目录策略的建立与清理改用 `Path.lstat()`,保留符号链接、inode 和并发替换保护。
499
515
  - **隔离 CI 测试数据。** 严格 doctor 验收补齐明确启用插件与目录来源设置;设置缺失、停用或路径不匹配时仍会失败。
516
+ - **可移植的离线 CI 测试数据。** 测试移除对操作者 HOME 的依赖,采用跨平台权限模式检查,并按实际平台验证 Linux/macOS 的实时任务限制。
517
+ - **Bash 3.2 的 Gemini 任务。** 保护空任务参数展开,同时保留 `set -u`、非空续接参数以及现有模式与权限策略。
518
+ - **有时间上限的 Codex 实时关闭。** FIFO 背压与部分写入会保留字节顺序及未发送尾段,供限时关闭排空处理;若执行器提前退出,已接受但尚未转发的排队输入仍会保留并报告失败,不会静默丢弃。其他供应商沿用原有转发路径。
500
519
  - **npm 上架后升级。** 运行 `npm i -g omnilane@0.41.1`,或更新 checkout 后再次运行 `./install.sh`。npm 单独发布,GitHub 发布不代表 npm 已上架。
501
520
 
502
521
  ## v0.40.0 新功能
package/README.zh-TW.md CHANGED
@@ -30,7 +30,7 @@ Gemini CLI** 之類。每一個都只接一個模型家族,所以你交代的每
30
30
 
31
31
  **omnilane 做什麼。** 它給你的助手一張路由表。工作被分進**通道**——最難的實作、
32
32
  機械粗活、初篩、硬判斷、文字終審——每條通道指名對那件事最強(也最省)的模型。
33
- 助手保留自己本來就擅長的通道,其餘用你既有的登入,在背景丟給別家廠商的 CLI。
33
+ 助手依通道解析目標模型,再委派給能力相符的原生子代理或既有 CLI;同模型也仍須派工。
34
34
 
35
35
  **它不是什麼。** 不是 proxy、不是另一筆訂閱、不是又一個要顧的服務。它就是一張表
36
36
  加一支派工腳本,躲在你現有工具背後跑。`./install.sh --uninstall` 可完全清除。
@@ -86,7 +86,7 @@ flowchart LR
86
86
  - **`scripts/dispatch.sh [--vendor V] <通道> "<任務>"`** — 查表後以無頭方式
87
87
  呼叫對應廠商的 CLI。`--vendor` 會鎖定點名廠商,不做降級。
88
88
  - **`skills/omnilane/SKILL.md`** — 一份技能四個框架都能載入:
89
- 先認出自己是哪個模型,自己通道的活自己做,其餘派出去。
89
+ 先解析通道的目標模型,再透過相符的原生子代理或 CLI 派工。
90
90
  - **`omnilane mcp`** — 同一套路由改以 MCP stdio server 提供,
91
91
  給走 MCP 而非 skill 整合的宿主。
92
92
 
@@ -103,10 +103,10 @@ flowchart LR
103
103
 
104
104
  | 通道 | 首選模型 | 備選模型 | 用途 |
105
105
  |---|---|---|---|
106
- | 🔥 hardest-coding | Claude Fable 5.1(max) | GPT-6 Astra(max)→ Grok 4.6 → Gemini 3.8 Flash(High) | 最難的實作、深度除錯、正確性攸關的修改 |
106
+ | 🔥 hardest-coding | Claude Fable 5.1(max) | GPT-6 Astra(xhigh)→ Grok 4.6 → Gemini 3.8 Flash(High) | 最難的實作、深度除錯、正確性攸關的修改 |
107
107
  | 🏗️ bulk-mechanical | GPT-5.6 Sol(high) | Gemini 3.8 Flash(High)→ Claude Sonnet 5(high) | 重構、搬遷、測試、大面積掃描等耐力工作 |
108
108
  | 🧹 triage | GPT-5.6 Luna(high) | Gemini 3.8 Flash(Low)→ Claude Haiku 4.5 | 大量掃描、第一輪篩選 |
109
- | ⚖️ hard-judgment | Claude Fable 5.1(xhigh) | GPT-6 Astra(max)→ Grok 4.6 | 架構裁決、深度推理、第二意見 |
109
+ | ⚖️ hard-judgment | Claude Fable 5.1(xhigh) | GPT-6 Astra(xhigh)→ Grok 4.6 | 架構裁決、深度推理、第二意見 |
110
110
  | ✒️ taste-final | Claude Fable 5.1(xhigh) | GPT-6 Astra(xhigh)→ Grok 4.6 → Gemini 3.8 Flash(High) | 對外文字與風格裁決;評測不等於審美證明 |
111
111
  | 💬 consult | GPT-6 Astra(xhigh) | Claude Fable 5.1(xhigh)→ Grok 4.6 → Gemini 3.8 Flash(Medium) | 直接點名模型諮詢;保留 `--vendor` 避免降級 |
112
112
  | 🎨 ui-draft | GPT-5.6 Sol(high) | Claude Fable 5.1(xhigh)→ Gemini 3.8 Flash(High) | 只有附設計系統/參考圖時做 UI 草稿;不把評測誇大成審美證明 |
@@ -131,21 +131,54 @@ flowchart LR
131
131
  - 點標準模型別名(例如 Opus)時,會鎖定技能表裡的確切模型家族。明確目標
132
132
  不存在或 CLI 不可用時會清楚失敗,不會暗中換廠商或模型家族。
133
133
 
134
+ ## 原生優先派工,保留終端相容性
135
+
136
+ 模型路由與執行器(executor)分開判定。`--executor auto` 是預設:只有呼叫端明示的
137
+ 結構化能力全部相符,才選原生子代理(native agent);一般終端沒有能力脈絡,
138
+ 就保留既有 CLI。`--executor cli` 強制原流程;`--executor native` 遇到能力缺漏或不符就報錯。
139
+ 同廠商不代表同模型;明確指定的廠商、模型及推理強度都保留。原生不符時,
140
+ 自動模式會說明 CLI 原因,只使用同一個已解析目標,不換廠商或模型。
141
+
142
+ ```sh
143
+ # 一般終端的預覽:不建立工作,也不呼叫供應商。
144
+ omnilane route --executor auto --dry-run hardest-coding "檢查這次變更"
145
+
146
+ # 呼叫端依工具契約準備共享繼承能力 JSON;完整格式見下方文件。
147
+ omnilane route --executor native --native-context /absolute/capability.json --workdir /absolute/repo hardest-coding "檢查這次變更"
148
+ # 接著由呼叫端啟動原生代理、等待結果,再登錄真實證據。
149
+ omnilane jobs --json complete-native JOB_ID /absolute/completion.json
150
+ omnilane jobs --json status JOB_ID
151
+ omnilane jobs --json result JOB_ID
152
+ omnilane jobs --json list --status pending
153
+ ```
154
+
155
+ 原生路由輸出的是「等待執行」交接 JSON,不會從 shell 啟動原生代理,也不代表任務成功。
156
+ Codex `collaboration.spawn_agent` 沒有沙箱、工具或工作目錄限制參數,會繼承父代理的工具與檔案系統權限。要求與同一能力列都必須明示 `shared-inherited`,工具陣列留空;`advise`/`work` 與工作目錄只是任務意圖,不是作業系統隔離。要求硬隔離時,自動模式保留同模型 CLI,強制原生則失敗。
157
+
158
+ 呼叫端以精確模型與推理強度啟動工作,最後登錄實際代理 ID、模型/推理強度/廠商/框架/後端、成敗、公開結果與證據。明示模型覆寫時使用 `fork_turns: "none"` 或有限的正整數歷史,不得搭配 `fork_turns: "all"`。路由已明示選中能力列中的精確模型時,可省略未知的呼叫端目前模型。重複登錄會被擋下;原生取消只改工作狀態,不發程序訊號,已啟動的代理由呼叫端另外停止。
159
+
160
+ 背景、持久、即時、具名 CLI 工作階段、sysops、不支援的隔離、投票/仲裁及多輪路徑
161
+ 仍走 CLI。原生只整合清單、狀態、結果、取消與完成登錄,未接 CLI 等待、重試、
162
+ 信箱或目標迴圈。原生協定需要 Python 3.9+;一般終端 CLI 保留相容。
163
+ 測試替身不等於真實原生驗收;主機 AGENTS 管理區塊只由父代理審查後同步。
164
+ 詳見[能力與完成格式、完整範例及限制](docs/native-executor.md)。
165
+
134
166
  <details>
135
- <summary><b>👉 哪些通道你自己跑?選你的主控模型</b></summary>
167
+ <summary><b>模型角色指引:仍須派工</b></summary>
136
168
 
137
169
  <br/>
138
170
 
139
- 上面那張表跟廠商無關——一條通道的*最佳*模型不會因為誰在主控而改變。會變的是
140
- 你哪些通道**自己做**(你本來就是那個模型,省一次呼叫)、哪些**派出去**。你 CLI 裡
141
- 的 `omnilane` 技能會自動套對的那一列,這裡是給人看的版本。
171
+ 通道的最佳模型不因主控是誰而改變。以下是角色指引,不是親自執行的豁免:
172
+ 即使模型相同,也要委派給子代理。呼叫端明示模型、推理強度、任務模式與工作目錄,
173
+ 並以空工具陣列及 `shared-inherited` 隔離和生命週期能力同列相符時,才採原生代理;否則走 CLI。
174
+ 主控負責編排與驗收,工作代理執行任務且不得再派工。
142
175
 
143
176
  - **Claude Code · Fable 5.1**——品質敏感工作建議的提示詞層主控;這是角色,不是新通道或自動選模器。最難編碼用 max,判斷/文字用 xhigh;獨立 Codex 複核用 Astra,bulk 用 Sol,長文/高速工作用 Gemini 3.8 Flash,即時搜尋用 Grok。
144
177
  - **Claude Code · Opus 5**——顯式點名時可做均衡型提示詞層主控與獨立複核(一般用 `high`,更深複核可選 `xhigh`),也保留為 long-context 備援;這是選配角色,不是新通道或 hard-judgment 預設。
145
- - **Codex · Sol**——bulk-mechanical 與有參考限制的 ui-draft 用 high 自己做;最難編碼/判斷升級 Fable 或 Astra,長文/高速工作交 Gemini 3.8 Flash,即時搜尋交 Grok。
146
- - **Codex · Astra**——提示詞層主控備位與獨立複核者;最難編碼/判斷用 max,consult/taste 用 xhigh,顯式 model/effort 永遠優先。
178
+ - **Codex · Sol**——bulk-mechanical 與有參考限制的 ui-draft 委派並使用 high;最難編碼/判斷升級 Fable 或 Astra,長文/高速工作交 Gemini 3.8 Flash,即時搜尋交 Grok。
179
+ - **Codex · Astra**——提示詞層主控備位與獨立複核者;最難編碼/判斷與 consult/taste 預設用 xhigh,需要時可明確指定 `--vendor codex --effort max`;顯式 model/effort 永遠優先。
147
180
  - **Codex · Terra**——用 max 接 Codex 的 long-context 備援;bulk 留給 Sol high,困難工作升級 Fable/Astra。
148
- - **Grok Build · Grok 4.6**——自己做 live-search、coding-overflow,並兼任 hardest-coding、hard-judgment、taste-final 的備援。首選人手在的話,最難的編碼/判斷/文字交給 Codex、Claude、Gemini;仍要驗證 API 簽章與引用事實。
181
+ - **Grok Build · Grok 4.6**——委派 live-search、coding-overflow,並兼任 hardest-coding、hard-judgment、taste-final 的備援。首選人手在的話,最難的編碼/判斷/文字交給 Codex、Claude、Gemini;仍要驗證 API 簽章與引用事實。
149
182
  - **Antigravity · Gemini 3.8 Flash**——long-context 用 Medium,fast-agentic/triage 用 Low,bulk/overflow/網搜備援用 High。不要把代理/編碼評測推論成審美或主控權。
150
183
 
151
184
  </details>
@@ -501,10 +534,29 @@ scripts/dispatch.sh --dry-run hardest-coding "…" # 完整解析後的計畫,
501
534
 
502
535
  ## 📜 版本歷程
503
536
 
537
+ ## v0.42.1 新功能
538
+
539
+ - **修復 CI 測試資料。** 完整 Python discovery 現在會讓舊 routing 與 Grok readiness 測試明示 synthetic-human caller;production 的缺少身分拒絕、核准 registry SHA、向下分數閘、重試 lineage 與 skip 斷言都維持不變。
540
+ - **可攜式 lineage 證據。** encoded-effort Gemini spy 改用可攜式 Python 解譯器選擇,並驗證精確的 `--model gemini-3.8-flash-high` 參數組。AA 涵蓋仍是 78 個 scored target、1 個 scored reference-only 項目與 10 個 unknown configuration。
541
+ - **修補版升級。** npm 上架後可執行 `npm i -g omnilane@0.42.1`。既有 repo-symlink 安裝只要更新 checkout 並執行 `omnilane --version`;除非刻意重新接線,否則不要重跑 `./install.sh`。GitHub release 與 npm 上架仍是兩件事。
542
+
543
+ ## v0.42.0 新功能
544
+
545
+ - **原生優先執行。** 路由與執行已拆開:`--executor auto` 只在主機提供精確且相容的能力內容時使用呼叫端擁有的原生代理,否則維持同一組供應商/模型/努力程度走 CLI。原生 handoff 只是待辦工作,不代表任務完成;呼叫端仍須實際執行並另行寫入已驗證結果。
546
+ - **凍結的 exact-AA 向下派工。** 內附的 AA v4.2 政策會在每次供應商嘗試前,以目前 caller 與繼承上限進行閘控,產生精確子 caller 內容,並在重試時重新驗證,不繼承模型先前取得的人類豁免。78 個評分配置是政策輸入,不代表 78 個配置都能實際執行。
547
+ - **明示原生重用。** 重用既有 Codex 代理需要呼叫端已觀察到閒置、同意保留內容,且 runtime 身分完全相符;新代理容量耗盡時不會偷偷改成重用。完成紀錄是 caller attestation,不是上游模型身分認證,也不保證 cold start 一定有容量。
548
+ - **Codex 完成續驗。** `scripts/completion-wakeup.py` 將 run 綁定主控 thread 與 job 白名單,記錄排程器登錄、輪詢終態事件,並把送達與驗收分開後再關閉。這是定期 heartbeat 輪詢,不是即時 push;沒有支援的 callback 時,主控會直接持續等待。
549
+ - **封裝與升級。** npm 套件現在包含 AA 政策、原生/AA/喚醒輔助程式及兩份公開協定文件。npm 發布後可執行 `npm i -g omnilane@0.42.0`;既有程式庫連結式安裝只需更新至已發布版本並核對 `omnilane --version`,首次安裝或需要重新接線時才審核及執行 `./install.sh`。只有 GitHub 發布不代表 npm 已可下載。
550
+
504
551
  ## v0.41.1 新功能
505
552
 
553
+ - **Astra 預設 xhigh。** `hardest-coding` 與 `hard-judgment` 的 Astra 預設改用 `xhigh`;需要時可明確指定 `--vendor codex --effort max`。供應商順序與其他模型的努力程度維持原樣;這不代表已實測節省 CLI 訂閱額度。
554
+
506
555
  - **Python 3.9 相容性。** Agy 工作目錄政策的建立與清理改用 `Path.lstat()`,保留符號連結、inode 與並行替換保護。
507
556
  - **隔離 CI 測試資料。** 嚴格 doctor 驗收補齊明示啟用外掛與目錄來源設定;設定缺少、停用或路徑不符仍會失敗。
557
+ - **可攜式離線 CI 測試資料。** 測試移除對操作者 HOME 的依賴,採用跨平台權限模式檢查,並依實際平台驗證 Linux/macOS 的即時工作限制。
558
+ - **Bash 3.2 的 Gemini 任務。** 保護空任務參數展開,同時保留 `set -u`、有值時的續接參數,以及既有模式與權限政策。
559
+ - **有時間上限的 Codex 即時關閉。** FIFO 背壓與部分寫入會保留位元組順序及未送出尾段,供限時關閉排空處理;若執行器提前退出,已接受但尚未轉送的排隊輸入仍會保留並回報失敗,不會靜默丟棄。其他供應商沿用原有轉送路徑。
508
560
  - **npm 上架後升級。** 執行 `npm i -g omnilane@0.41.1`,或更新 checkout 後再跑 `./install.sh`。npm 另行發布,GitHub 發布不代表 npm 已上架。
509
561
 
510
562
  ## v0.40.0 新功能
package/VERSION CHANGED
@@ -1 +1 @@
1
- 0.41.1
1
+ 0.42.1