门禁不覆盖 feature matrix(no-default-features)→ feature-gating 缺陷合入后才被 CI 检出(#94 实例)
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 65/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- rust, yaml
- Área
- developer-experience, tooling
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
场景 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:16unused import +factory.rs:37unused 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 分钟。
- Lenguaje dominante
- Python
- Estrellas
- 0
- Forks
- 0
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de jeffkit/issue-keeper
-
Dificultad 4/5 3-5 días Aptitud para principiantes 15/100
jeffkit/issue-keeper#22 · 3 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
jeffkit/issue-keeper#21 · 3 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 58/100
jeffkit/issue-keeper#19 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
jeffkit/issue-keeper#17 · 6 comentarios ·
-
keeper-ignore
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
jeffkit/issue-keeper#16 · 2 comentarios ·
Todos los issues de jeffkit/issue-keeper
Issues similares
-
[yugabyted] xcluster set_up and add_to_replication fail for database names containing - . or (Abiertokind/bug priority/medium qa_automation
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
yugabyte/yugabyte-db#37324 ·
Los mantenedores suelen responder en 1 día
-
good first issue
Dificultad 1/5 Menos de una hora Aptitud para principiantes 87/100
btclib-org/btclib-node#2260 ·
Los mantenedores suelen responder en 1 día
-
ChatBedrockConverse changes the keys of JSON tool results to camelCase (`order_id` becomes `orderId`)Posiblemente ocupada @geyazheng la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
langchain-ai/langchain-aws#1469 ·
Los mantenedores suelen responder en 1 día
-
GCToggler leaves collection enabled if the body re-enables itPosiblemente ocupada @Gambit-Checkmate la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 7 días
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
EESSI/docs#949 · 1 comentario ·
Los mantenedores suelen responder en 1 día