fix(flow): guard 的 `.github/` 禁改名单会拦下合法 CI 修复单——需要显式人工通道或策略例外
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Start in issue-keeper/flows/issue_pipeline_flow.py at the guard node: find where the sensitive-path blocklist hardcodes .github/ and how a plan's allowed paths are compared with the produced diff. Then read the triage stage that would route a ci-fix label or allow-paths: .github/workflows/ header, because the issue lists three options and none is chosen yet. Done means an issue touching .github/workflows/* closes end to end while an undeclared .github change still ends guarded — cover both as tests.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
场景 gap 单(okguitar 提报)· 优先级 P2 · 依赖:无 · 来源:ilink-hub #39 实战实证
基线:issue-pipeline v2.1.1(issue-keeper/flows/issue_pipeline_flow.py guard 节点)。
Summary
- guard 的敏感路径禁改名单硬编码含
.github/(防注入 agent 篡改 CI 绕门禁,动机正当)——但CI 类修复单的修复对象恰恰是.github/workflows/*。 - 实证:ilink-hub #39(CI 加
RUST_TEST_THREADS=1)的 run 以guarded收尾:"越界文件为.github/workflows/ci.yml,该文件不在本次计划允许修改的范围内,因此未被推送"(oversized=False,纯路径拦截)——实现已完成、测试全绿,只因目标文件在名单里而被拦。 - 结果:这类单只能由值守手工落地(本次即如此),管线无法闭环;同时值守手工落地绕过了管线的三门评审(值不值得另说,但流程上不对称)。
影响
任何 CI/工作流类 issue(今天 ilink-hub 就出了两条:Deploy Docs 的 pnpm 修复、#39 的串行化)都无法由管线完成;值守能力之外无人能处理。
建议(选一)
- 显式通道:issue 侧支持标签/头部声明
ci-fix(或allow-paths: .github/workflows/),guard 对其放行*.github/workflows/**——其余.github/**仍拦; - 或文档化"CI 单不再进管线、由值守手工处理"(现状转正),并在 triage 段直接路由;
- 折中:guard 拦下时自动把 diff 落成 patch 附在回评里,值守一句话即可应用。
验收
- 构造一条需改
.github/workflows/*的 issue,按选定方案可被管线或值守通道闭环,且绕门禁的注入场景仍被拦截(负向用例:未声明的.github修改依旧 guarded)。
- Lingua principale
- Python
- Stelle
- 0
- Fork
- 0
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di jeffkit/issue-keeper
-
needs-human
Difficoltà 4/5 3-5 giorni Idoneità per principianti 15/100
jeffkit/issue-keeper#22 · 1 commento ·
-
needs-human
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
jeffkit/issue-keeper#21 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 58/100
jeffkit/issue-keeper#19 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
jeffkit/issue-keeper#17 · 6 commenti ·
-
keeper-ignore
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
jeffkit/issue-keeper#16 · 2 commenti ·
Tutte le issue di jeffkit/issue-keeper
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
mishraprafful/multihull#150 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
python-caldav/caldav#735 ·
I maintainer di solito rispondono entro 1 giorno
-
bug triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
mealie-recipes/mealie#8682 ·
I maintainer di solito rispondono entro 1 giorno
-
good first issue lane:repo
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100