门禁不覆盖 feature matrix(no-default-features)→ feature-gating 缺陷合入后才被 CI 检出(#94 实例)

クローズ
#14 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
65/100
issue の種類
機能追加
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
rust, yaml

調査の方向性

Start by reading the gate configuration and command handling for ~/.issue-keeper/config.yaml, then compare the recursive gate with .github/workflows/ci.yml:64-86. Add the bare cargo clippy --lib --no-default-features -- -D warnings check with the paths and timeout described in the issue. Done means the restored #94 lines are caught, normal gates pass, and the added runtime is no more than about two minutes.

索引モデルが issue の本文から書いたものです。

説明

场景 gap 单(okguitar 提报)· 优先级 P2 · 依赖:无

基线 HEAD = 16fa769(jeffkit/issue-keeper)

Summary

管线本地门禁(~/.issue-keeper/config.yaml 各仓 gates)只跑 --all-features 组合,不覆盖无默认特性 / 单特性隔离构建;而 recursive 的 CI 有 feature matrix(8 变体:bare + mcp/http/cli/web_fetch/anthropic/skill-hub/web_search)。机制上:feature-gating 编译错误在本地门禁永远是盲区,只能等合入后由 CI 首红暴露。

今日实例(同型第二次):#94(recursive a9e8a6f5)新文件 src/llm/factory.rs 在无 anthropic feature 下 clippy -D warnings 两处报错——use std::time::Duration 未使用(仅 anthropic 臂使用)、thinking_budget 参数未使用(仅转发给 anthropic 臂)。本地门禁(fmt/clippy --all-features/test)全绿放行 → CI run 37319059193 feature matrix 8 变体红 7;值守止血 9a4efb27(cfg 门控)后转绿(run 37322090026 matrix 8/8)。先例:#100 时代 clippy 未入门禁 → CI 拦截,后以"门禁补 clippy"解决——本次是同一"门禁覆盖 ≠ CI 覆盖"类的残留面。

影响

  • main CI 红只能合入后暴露:需值守止血或二次 run,成本高且打断验收节奏;
  • CI 连续红会掩盖后续真实回归(区分红因需人工读日志);
  • 所有 Rust 仓(recursive/agentproc/im-agentproc/ilink-hub)同型档位均可能踩(机制存在但本地从未构建过该组合)。

证据(亲读)

  • ~/.issue-keeper/config.yaml(recursive 档)gates clippy:cargo clippy --workspace --all-targets --all-features -- -D warnings —— 无 --no-default-features;另一 Rust 档(同文件 115 行附近)同型。
  • recursive .github/workflows/ci.yml:64-86:feature matrix 跑 cargo check --lib --no-default-features + cargo clippy --lib --no-default-features [--features X] -- -D warnings(8 变体)。
  • 红 run 日志原文(退出 101,factory.rs:16 unused import + factory.rs:37 unused variable)。

建议

在 recursive 档 gates 增加一条 bare 检查(增量缓存下约 1 分钟,不必跑全 8 变体):

- name: feature-matrix-bare
  command: cargo clippy --lib --no-default-features -- -D warnings
  timeout_secs: 600
  paths: ['src/**', 'Cargo.toml', 'Cargo.lock']

agentproc / im-agentproc / ilink-hub 如果有 no-default-features 构建矩阵(各自 CI 已证有),同型各加一行。

验收

合成提交(如把 #94 的 factory.rs 原始两行还原到分支)跑下发前门禁:bare 检查能报错拦截;同时正常提交门禁全绿不误报、耗时增量 ≤ ~2 分钟。

主要言語
Python
スター
0
フォーク
0
PR マージ指標
30日以内にマージされた PR はありません

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

jeffkit/issue-keeper のほかの issue

jeffkit/issue-keeper の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。