omnilane 0.12.0 → 0.13.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 +36 -1
- package/README.ja.md +18 -1
- package/README.ko.md +18 -1
- package/README.md +20 -1
- package/README.zh-CN.md +15 -1
- package/README.zh-TW.md +15 -1
- package/VERSION +1 -1
- package/package.json +1 -1
- package/routing.yaml +1 -1
- package/scripts/release-audit.sh +37 -0
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,40 @@ semantic version tags.
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.13.0] - 2026-08-03
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
|
|
13
|
+
- `long-context` now orders on AA-LCR, Artificial Analysis's long-context
|
|
14
|
+
reasoning benchmark, which scores exactly this lane's work: extracting and
|
|
15
|
+
synthesising across long-form documents. Gemini 3.1 Pro leads both fallbacks
|
|
16
|
+
there, so first place is now positively justified rather than merely
|
|
17
|
+
unrevisited. The two fallbacks swapped — GPT-5.6 Sol at `high` precedes
|
|
18
|
+
Claude Opus 5 at `high`.
|
|
19
|
+
- Corrected the advice this lane used to give. It sent multi-hop synthesis to
|
|
20
|
+
the Claude candidate on the strength of second-hand figures for a prior model
|
|
21
|
+
generation; on first-party current-generation data Claude is the weakest of
|
|
22
|
+
the three shipped candidates, not the strongest. The claim is gone from
|
|
23
|
+
`routing.yaml` and from all five lane tables.
|
|
24
|
+
|
|
25
|
+
### Added
|
|
26
|
+
|
|
27
|
+
- `release-audit --require-tag` now reports whether recently pushed tags have a
|
|
28
|
+
matching GitHub release. v0.11.0 shipped a tag with no release and nothing
|
|
29
|
+
noticed for a week. The check warns rather than fails, skips silently when
|
|
30
|
+
`gh` is absent, unauthenticated or offline so the audit still works in CI,
|
|
31
|
+
excludes the target being released (whose release does not exist yet at audit
|
|
32
|
+
time), and looks only at the few most recent tags — a check that stays yellow
|
|
33
|
+
forever is one everyone learns to ignore.
|
|
34
|
+
|
|
35
|
+
### Notes
|
|
36
|
+
|
|
37
|
+
- AA-LCR runs on documents of 10k-100k tokens, so it settles synthesis quality
|
|
38
|
+
across long documents and settles nothing at a full 1M. GPT-5.6 Luna tops
|
|
39
|
+
that table at a fraction of the cost and was deliberately *not* promoted:
|
|
40
|
+
this lane's headline case is the 1M sweep, which the benchmark does not
|
|
41
|
+
reach. See `docs/model-capabilities-2026-07.md`.
|
|
42
|
+
|
|
9
43
|
## [0.12.0] - 2026-08-03
|
|
10
44
|
|
|
11
45
|
### Changed
|
|
@@ -529,7 +563,8 @@ work to the wrong model, and records the evidence behind the shipped defaults.
|
|
|
529
563
|
- Initial shared routing table, cross-vendor dispatcher, runners, installer,
|
|
530
564
|
and baseline lint fixes.
|
|
531
565
|
|
|
532
|
-
[Unreleased]: https://github.com/Seraphim0916/omnilane/compare/v0.
|
|
566
|
+
[Unreleased]: https://github.com/Seraphim0916/omnilane/compare/v0.13.0...HEAD
|
|
567
|
+
[0.13.0]: https://github.com/Seraphim0916/omnilane/compare/v0.12.0...v0.13.0
|
|
533
568
|
[0.12.0]: https://github.com/Seraphim0916/omnilane/compare/v0.11.0...v0.12.0
|
|
534
569
|
[0.11.0]: https://github.com/Seraphim0916/omnilane/compare/v0.10.4...v0.11.0
|
|
535
570
|
[0.10.4]: https://github.com/Seraphim0916/omnilane/compare/v0.10.3...v0.10.4
|
package/README.ja.md
CHANGED
|
@@ -119,7 +119,7 @@ flowchart LR
|
|
|
119
119
|
| ✒️ taste-final | Claude Opus 5 (high) | GPT-5.6 Sol (max) | 対外文章、prompt/ドキュメント推敲、スタイル最終審 |
|
|
120
120
|
| 💬 consult | 明示指定したベンダー/モデル | —(フォールバックなし) | 自然言語で直接相談。`--vendor` を必ず維持 |
|
|
121
121
|
| 🎨 ui-draft | GPT-5.6 Sol (xhigh) | Claude Opus 5 (high) | デザインシステム/参考画像がある場合の UI ドラフト |
|
|
122
|
-
| 📚 long-context | Gemini 3.1 Pro (High) |
|
|
122
|
+
| 📚 long-context | Gemini 3.1 Pro (High) | GPT-5.6 Sol (high) | 100 万トークン級の走査・検索と、長文をまたぐ統合。高速反復ループは Flash を優先 |
|
|
123
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 クォータ逼迫時の中級コーディング逃し弁 |
|
|
@@ -516,6 +516,23 @@ scripts/dispatch.sh --dry-run hardest-coding "…" # 解決済みプラン、
|
|
|
516
516
|
|
|
517
517
|
## 📜 リリース履歴
|
|
518
518
|
|
|
519
|
+
## v0.13.0 の新機能
|
|
520
|
+
|
|
521
|
+
- **`long-context` を AA-LCR で順序付け** — Artificial Analysis の長文脈推論
|
|
522
|
+
ベンチマークで、まさにこのレーンの仕事を測るものです。Gemini 3.1 Pro が両方の
|
|
523
|
+
フォールバックを上回るため、その一番手は「未見直し」から「根拠あり」に変わりました。
|
|
524
|
+
- **このレーンの旧来の助言は逆で、削除しました。** 従来は多段の統合を Claude 候補へ
|
|
525
|
+
回すよう促していましたが、根拠は前世代モデルの二次情報でした。一次情報の現行世代
|
|
526
|
+
データでは Claude が三候補中もっとも弱く、フォールバックを入れ替えて GPT-5.6 Sol
|
|
527
|
+
(high) が Claude Opus 5 (high) の前に来ます。
|
|
528
|
+
- **`release-audit --require-tag` が GitHub リリースのないタグを指摘します。** 失敗
|
|
529
|
+
ではなく警告で、`gh` が無い場合やオフラインではスキップするため CI でも動作し、
|
|
530
|
+
直近のタグのみを見ます。
|
|
531
|
+
- **範囲の注記:** AA-LCR は 10k〜100k トークンの文書で実施されるため、長文の統合品質
|
|
532
|
+
は決まりますが 1M での挙動は何も決まりません。GPT-5.6 Luna は同表の首位でしかも
|
|
533
|
+
はるかに安価ですが、**意図的に昇格させていません** — このレーンの本命は 1M の走査で、
|
|
534
|
+
ベンチマークがそこまで届かないからです。
|
|
535
|
+
|
|
519
536
|
## v0.12.0 の新機能
|
|
520
537
|
|
|
521
538
|
- **`hardest-coding` の Sol を `max` から `xhigh` へ** — AA の努力度別 Coding Index
|
package/README.ko.md
CHANGED
|
@@ -117,7 +117,7 @@ flowchart LR
|
|
|
117
117
|
| ✒️ taste-final | Claude Opus 5 (high) | GPT-5.6 Sol (max) | 대외 문장, prompt/문서 다듬기, 스타일 최종심 |
|
|
118
118
|
| 💬 consult | 명시적으로 지정한 벤더/모델 | —(폴백 없음) | 자연어 직접 상담. `--vendor` 를 반드시 유지 |
|
|
119
119
|
| 🎨 ui-draft | GPT-5.6 Sol (xhigh) | Claude Opus 5 (high) | 디자인 시스템/참고 이미지가 있을 때의 UI 초안 |
|
|
120
|
-
| 📚 long-context | Gemini 3.1 Pro (High) |
|
|
120
|
+
| 📚 long-context | Gemini 3.1 Pro (High) | GPT-5.6 Sol (high) | 100만 토큰급 훑기·검색과 긴 문서를 잇는 통합. 빠른 반복 루프는 Flash 우선 |
|
|
121
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 쿼터 소진 시 중급 코딩 안전 밸브 |
|
|
@@ -499,6 +499,23 @@ scripts/dispatch.sh --dry-run hardest-coding "…" # 완전히 해석된 계
|
|
|
499
499
|
|
|
500
500
|
## 📜 릴리스 기록
|
|
501
501
|
|
|
502
|
+
## v0.13.0 새 기능
|
|
503
|
+
|
|
504
|
+
- **`long-context` 를 AA-LCR 기준으로 정렬** — Artificial Analysis 의 장문맥 추론
|
|
505
|
+
벤치마크로, 바로 이 레인의 일을 측정합니다. Gemini 3.1 Pro 가 두 폴백을 모두
|
|
506
|
+
앞서므로 1순위가 "미검토" 에서 "근거 있음" 으로 바뀌었습니다.
|
|
507
|
+
- **이 레인의 기존 조언은 반대였고 제거했습니다.** 예전에는 다중 홉 통합을 Claude
|
|
508
|
+
후보로 보내라고 했지만 근거는 이전 세대 모델의 2차 자료였습니다. 1차 현세대
|
|
509
|
+
데이터에서는 Claude 가 세 후보 중 가장 약해, 폴백을 바꿔 GPT-5.6 Sol (high) 가
|
|
510
|
+
Claude Opus 5 (high) 앞에 옵니다.
|
|
511
|
+
- **`release-audit --require-tag` 가 GitHub 릴리스 없는 태그를 표시합니다.** 실패가
|
|
512
|
+
아니라 경고이며, `gh` 가 없거나 오프라인이면 건너뛰어 CI 에서도 동작하고, 최근
|
|
513
|
+
태그만 봅니다.
|
|
514
|
+
- **범위 참고:** AA-LCR 은 10k~100k 토큰 문서로 수행되므로 긴 문서 통합 품질은
|
|
515
|
+
가려지지만 1M 에서의 동작은 전혀 가려지지 않습니다. GPT-5.6 Luna 가 이 표의
|
|
516
|
+
1위이고 훨씬 저렴하지만 **의도적으로 승격하지 않았습니다** — 이 레인의 본령은
|
|
517
|
+
벤치마크가 닿지 않는 1M 훑기이기 때문입니다.
|
|
518
|
+
|
|
502
519
|
## v0.12.0 새 기능
|
|
503
520
|
|
|
504
521
|
- **`hardest-coding`의 Sol을 `max`에서 `xhigh`로** — AA의 노력 수준별 Coding Index
|
package/README.md
CHANGED
|
@@ -122,7 +122,7 @@ actually resolves.
|
|
|
122
122
|
| ✒️ taste-final | Claude Opus 5 (high) | GPT-5.6 Sol (max) | User-facing prose, prompt/doc polish, style arbitration |
|
|
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
|
-
| 📚 long-context | Gemini 3.1 Pro (High) |
|
|
125
|
+
| 📚 long-context | Gemini 3.1 Pro (High) | GPT-5.6 Sol (high) | 1M-token sweeps, retrieval, and synthesis across long documents; Flash for fast repeated loops |
|
|
126
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 |
|
|
@@ -547,6 +547,25 @@ working notes, including per-benchmark caveats, live in
|
|
|
547
547
|
|
|
548
548
|
## 📜 Release history
|
|
549
549
|
|
|
550
|
+
## What's new in v0.13.0
|
|
551
|
+
|
|
552
|
+
- **`long-context` is ordered on AA-LCR** — Artificial Analysis's long-context
|
|
553
|
+
reasoning benchmark, which scores exactly this lane's work. Gemini 3.1 Pro
|
|
554
|
+
leads both fallbacks there, so its first place is now positively justified
|
|
555
|
+
rather than merely unrevisited.
|
|
556
|
+
- **The lane's old advice was backwards and is gone.** It used to send
|
|
557
|
+
multi-hop synthesis to the Claude candidate on second-hand figures for a
|
|
558
|
+
prior model generation; on first-party current-generation data Claude is the
|
|
559
|
+
weakest of the three shipped candidates. The fallbacks swapped, so GPT-5.6
|
|
560
|
+
Sol (high) now precedes Claude Opus 5 (high).
|
|
561
|
+
- **`release-audit --require-tag` flags tags with no GitHub release.** It warns
|
|
562
|
+
rather than fails, skips when `gh` is absent or offline so the audit still
|
|
563
|
+
runs in CI, and looks only at recent tags.
|
|
564
|
+
- **Scope note:** AA-LCR runs on 10k-100k-token documents, so it settles
|
|
565
|
+
synthesis across long documents and nothing at a full 1M. GPT-5.6 Luna tops
|
|
566
|
+
that table far more cheaply and was deliberately *not* promoted, because this
|
|
567
|
+
lane exists for the 1M sweep the benchmark does not reach.
|
|
568
|
+
|
|
550
569
|
## What's new in v0.12.0
|
|
551
570
|
|
|
552
571
|
- **`hardest-coding` drops Sol from `max` to `xhigh`** — on AA's per-effort
|
package/README.zh-CN.md
CHANGED
|
@@ -110,7 +110,7 @@ flowchart LR
|
|
|
110
110
|
| ✒️ taste-final | Claude Opus 5 (high) | GPT-5.6 Sol (max) | 对外文字、prompt 与文档打磨、风格终审 |
|
|
111
111
|
| 💬 consult | 明确指定的厂商/模型 | —(不降级) | 自然语言直接咨询;必须保留 `--vendor` |
|
|
112
112
|
| 🎨 ui-draft | GPT-5.6 Sol (xhigh) | Claude Opus 5 (high) | 有设计规范/参考图时的 UI 出稿;开放式视觉品味交给 taste-final |
|
|
113
|
-
| 📚 long-context | Gemini 3.1 Pro (High) |
|
|
113
|
+
| 📚 long-context | Gemini 3.1 Pro (High) | GPT-5.6 Sol (high) | 百万 token 扫读、检索与长文跨段整合;高速重复循环仍优先 Flash |
|
|
114
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 额度吃紧时的中量级编码溢流道;事实性声明须另行查证 |
|
|
@@ -473,6 +473,20 @@ vendor 一律当成 `work`,而且它只能逐次明确指定,永远不是 lane
|
|
|
473
473
|
|
|
474
474
|
## 📜 版本历程
|
|
475
475
|
|
|
476
|
+
## v0.13.0 新功能
|
|
477
|
+
|
|
478
|
+
- **`long-context` 改用 AA-LCR 排序**——那是 Artificial Analysis 的长脉络推理基准,
|
|
479
|
+
量的正是这条通道的工作。Gemini 3.1 Pro 在该榜领先两个备援,因此它的第一顺位
|
|
480
|
+
从「未复审」升格为「有据」。
|
|
481
|
+
- **这条通道原本的建议是反的,已移除。** 它原先要人把多跳整合改派给 Claude 候选,
|
|
482
|
+
依据是上一代模型的二手数字;以第一手当代数据看,Claude 反而是三个候选里最弱的。
|
|
483
|
+
备援因此换位,GPT-5.6 Sol (high) 排在 Claude Opus 5 (high) 前面。
|
|
484
|
+
- **`release-audit --require-tag` 会标出没有 GitHub release 的 tag。** 只警告不中断,
|
|
485
|
+
`gh` 缺席或离线时自动跳过(CI 仍可跑),且只看最近几个 tag。
|
|
486
|
+
- **范围注记:** AA-LCR 测的是 10k–100k token 的文件,所以它能定「长文整合谁强」,
|
|
487
|
+
定不了 1M 的行为。GPT-5.6 Luna 在该榜居首且便宜得多,**刻意不升**——这条通道的
|
|
488
|
+
招牌工作是 1M 扫读,而该基准涵盖不到。
|
|
489
|
+
|
|
476
490
|
## v0.12.0 新功能
|
|
477
491
|
|
|
478
492
|
- **`hardest-coding` 的 Sol 从 `max` 降到 `xhigh`**——在 AA 分档位的 Coding Index
|
package/README.zh-TW.md
CHANGED
|
@@ -110,7 +110,7 @@ flowchart LR
|
|
|
110
110
|
| ✒️ taste-final | Claude Opus 5 (high) | GPT-5.6 Sol (max) | 對外文字、prompt 與文件打磨、風格終審 |
|
|
111
111
|
| 💬 consult | 明確點名的廠商/模型 | —(不降級) | 自然語言直接諮詢;必須保留 `--vendor` |
|
|
112
112
|
| 🎨 ui-draft | GPT-5.6 Sol (xhigh) | Claude Opus 5 (high) | 有設計規範/參考圖時的 UI 出稿;開放式視覺品味交給 taste-final |
|
|
113
|
-
| 📚 long-context | Gemini 3.1 Pro (High) |
|
|
113
|
+
| 📚 long-context | Gemini 3.1 Pro (High) | GPT-5.6 Sol (high) | 百萬 token 掃讀、檢索與長文跨段整合;高速重複迴圈仍優先 Flash |
|
|
114
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 額度吃緊時的中量級編碼溢流道;事實性宣稱須另行查證 |
|
|
@@ -483,6 +483,20 @@ vendor 一律當成 `work`,而且它只能逐次明確指定,永遠不是 lane
|
|
|
483
483
|
|
|
484
484
|
## 📜 版本歷程
|
|
485
485
|
|
|
486
|
+
## v0.13.0 新功能
|
|
487
|
+
|
|
488
|
+
- **`long-context` 改用 AA-LCR 排序**——那是 Artificial Analysis 的長脈絡推理基準,
|
|
489
|
+
量的正是這條通道的工作。Gemini 3.1 Pro 在該榜領先兩個備援,因此它的第一順位
|
|
490
|
+
從「未複審」升格為「有據」。
|
|
491
|
+
- **這條通道原本的建議是反的,已移除。** 它原先要人把多跳整合改派給 Claude 候選,
|
|
492
|
+
依據是上一代模型的二手數字;以第一手當代數據看,Claude 反而是三個候選裡最弱的。
|
|
493
|
+
備援因此換位,GPT-5.6 Sol (high) 排在 Claude Opus 5 (high) 前面。
|
|
494
|
+
- **`release-audit --require-tag` 會標出沒有 GitHub release 的 tag。** 只警告不中斷,
|
|
495
|
+
`gh` 缺席或離線時自動跳過(CI 仍可跑),且只看最近幾個 tag。
|
|
496
|
+
- **範圍註記:** AA-LCR 測的是 10k–100k token 的文件,所以它能定「長文整合誰強」,
|
|
497
|
+
定不了 1M 的行為。GPT-5.6 Luna 在該榜居首且便宜得多,**刻意不升**——這條通道的
|
|
498
|
+
招牌工作是 1M 掃讀,而該基準涵蓋不到。
|
|
499
|
+
|
|
486
500
|
## v0.12.0 新功能
|
|
487
501
|
|
|
488
502
|
- **`hardest-coding` 的 Sol 從 `max` 降到 `xhigh`**——在 AA 分檔位的 Coding Index
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.13.0
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "omnilane",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.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"
|
package/routing.yaml
CHANGED
|
@@ -27,7 +27,7 @@ hard-judgment: claude claude-opus-5 xhigh | codex gpt-5.6-sol max # ordered
|
|
|
27
27
|
taste-final: claude claude-opus-5 high | codex gpt-5.6-sol max # user-facing prose, prompt/doc polish, Chinese phrasing, style arbitration
|
|
28
28
|
consult: codex gpt-5.6-sol max | claude claude-opus-5 high | grok grok-4.5 - | gemini "Gemini 3.1 Pro (High)" - # direct named-model consultation; use --vendor to prevent fallback
|
|
29
29
|
ui-draft: codex gpt-5.6-sol xhigh | claude claude-opus-5 high # only with a design system / reference images; open-ended visual taste -> taste-final
|
|
30
|
-
long-context: gemini "Gemini 3.1 Pro (High)" - |
|
|
30
|
+
long-context: gemini "Gemini 3.1 Pro (High)" - | codex gpt-5.6-sol high | claude claude-opus-5 high # all have 1M context; ordered on AA-LCR, which scores exactly this lane's work — extracting and synthesising across long documents — and where Gemini leads both fallbacks. Corrected 2026-08-03: this comment used to send multi-hop synthesis to the Claude candidate on second-hand prior-generation figures, and current first-party per-effort data reverses that, so the two fallbacks swapped. Caveat in docs: AA-LCR runs at 10k-100k tokens, so nothing here settles behaviour at a full 1M
|
|
31
31
|
fast-agentic: codex gpt-5.6-luna max | gemini "Gemini 3.6 Flash (High)" - # fast multi-step tool loops. Reordered 2026-08-03: Luna leads Flash on agentic benchmarks AND costs a fraction as much per task, so Flash's remaining edge is raw throughput alone. Keep Flash first only if your loops are latency-bound. Both take image input, so the lane's multimodal checks are unaffected
|
|
32
32
|
live-search: grok grok-4.5 - | off # native X/web search lane; no real substitute
|
|
33
33
|
coding-overflow: grok grok-4.5 - | kimi kimi-k3 - | qwen qwen3-coder-plus - | opencode - - | off # codex-quota relief valve: mid-tier coding; Grok 4.5 is a capable mid-tier coder but AA measures a high hallucination rate — verify every factual claim it ships. qwen3-coder-plus = 2025-09-23 snapshot alias (Qwen 3.6 Plus exists; re-evaluate before swapping). kimi/qwen model fields are CLI aliases — adjust to your login. opencode "-" model = its own configured default.
|
package/scripts/release-audit.sh
CHANGED
|
@@ -285,6 +285,43 @@ if [[ "$require_tag" -eq 1 ]]; then
|
|
|
285
285
|
else
|
|
286
286
|
fail annotated-release-tag
|
|
287
287
|
fi
|
|
288
|
+
|
|
289
|
+
# A pushed tag with no GitHub release is invisible to anyone browsing the
|
|
290
|
+
# releases page, and nothing else in this audit notices: v0.11.0 sat that way
|
|
291
|
+
# for a week. Warn rather than fail — this audit must work offline and in CI,
|
|
292
|
+
# and the target's own release legitimately does not exist yet at audit time,
|
|
293
|
+
# so the target tag is excluded and only older tags are checked.
|
|
294
|
+
release_gap_checked=0
|
|
295
|
+
if command -v gh >/dev/null 2>&1 &&
|
|
296
|
+
git -C "$ROOT" remote get-url origin 2>/dev/null | grep -q 'github\.com' &&
|
|
297
|
+
gh auth status >/dev/null 2>&1; then
|
|
298
|
+
remote_tags="$(git -C "$ROOT" ls-remote --tags origin 2>/dev/null |
|
|
299
|
+
grep -v '\^{}$' | sed -n 's#.*refs/tags/##p' | sort -u)"
|
|
300
|
+
if [[ -n "$remote_tags" ]]; then
|
|
301
|
+
released_tags="$(gh release list --limit 200 --json tagName --jq '.[].tagName' 2>/dev/null || true)"
|
|
302
|
+
if [[ -n "$released_tags" ]]; then
|
|
303
|
+
release_gap_checked=1
|
|
304
|
+
missing_releases=""
|
|
305
|
+
# Only the few most recent tags. Older gaps are real but historical, and
|
|
306
|
+
# a check that stays yellow forever is a check everyone learns to ignore;
|
|
307
|
+
# this one exists to catch the release you just forgot.
|
|
308
|
+
while IFS= read -r remote_tag; do
|
|
309
|
+
[[ -n "$remote_tag" ]] || continue
|
|
310
|
+
[[ "$remote_tag" == "v$target" ]] && continue
|
|
311
|
+
printf '%s\n' "$remote_tags" | grep -Fxq "$remote_tag" || continue
|
|
312
|
+
if ! printf '%s\n' "$released_tags" | grep -Fxq "$remote_tag"; then
|
|
313
|
+
missing_releases="$missing_releases $remote_tag"
|
|
314
|
+
fi
|
|
315
|
+
done <<<"$(git -C "$ROOT" tag -l --sort=-creatordate | head -6)"
|
|
316
|
+
if [[ -n "$missing_releases" ]]; then
|
|
317
|
+
warn "github-release-missing:${missing_releases# }"
|
|
318
|
+
else
|
|
319
|
+
pass github-release-coverage
|
|
320
|
+
fi
|
|
321
|
+
fi
|
|
322
|
+
fi
|
|
323
|
+
fi
|
|
324
|
+
[[ "$release_gap_checked" -eq 1 ]] || warn github-release-check-skipped
|
|
288
325
|
else
|
|
289
326
|
warn release-tag-not-required
|
|
290
327
|
fi
|