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 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.12.0...HEAD
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) | Claude Opus 5 (high) | 100 万トークン級の走査と検索。複数箇所をまたぐ統合には Claude 候補を、高速反復ループは Flash を優先 |
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) | Claude Opus 5 (high) | 100만 토큰급 훑기와 검색. 여러 곳을 잇는 다중 홉 통합은 Claude 후보를, 빠른 반복 루프는 Flash 우선 |
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) | Claude Opus 5 (high) | 1M-token sweeps and retrieval; for multi-hop synthesis prefer the Claude candidate, and Flash for fast repeated loops |
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) | Claude Opus 5 (high) | 百万 token 扫读与检索;要跨段落多跳整合请改用 Claude 候选,高速重复循环仍优先 Flash |
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) | Claude Opus 5 (high) | 百萬 token 掃讀與檢索;要跨段落多跳整合請改用 Claude 候選,高速重複迴圈仍優先 Flash |
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.12.0
1
+ 0.13.0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omnilane",
3
- "version": "0.12.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)" - | claude claude-opus-5 high | codex gpt-5.6-sol high # all have 1M context; Gemini leads single-needle retrieval at full length and is the cheapest way to sweep volume, Flash for fast loops. For multi-hop synthesis across a large corpus prefer the claude candidate: published multi-needle scores at 1M favour Claude by a wide margin (see docs/model-capabilities-2026-07.md)
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.
@@ -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