Short Answer

CodeQL は GitHub の静的解析エンジンで、コードを解析して脆弱性や security quality 上の問題を見つけるためのもの。kouchou-ai では PR #817 の文脈を見る限り、最初から強い計画性を持って導入したというより、PR #813 で誤って入った設定を「せっかくなので適切に整えて残す」形で導入された と読むのが正確。codeql-docsより pr-813-817-codeql-coderabbit-observation-2026-05-18より

What CodeQL Is

  • CodeQL は GitHub の code scanning を支える静的解析エンジンで、push / PR / schedule / manual run に載せて継続的に security scan を回せる。codeql-docsより
  • github/codeql-action を workflow に置くと、対象言語のコードを解析してセキュリティ上の問題候補を GitHub 上の alert として扱える。codeql-docsより

Why It Was Introduced Here

直接のきっかけ

PR #813 の主題は空コメントのフィルタ修正で、CodeQL / CodeRabbit は scope 外の混入だった。PR 本文でも「主題とは無関係」「別PRに分離すべきか検討」と書かれている。pr-813-817-codeql-coderabbit-observation-2026-05-18より

実際の導入判断

PR #817 では、その accidental な設定追加を撤回するのではなく、以下のように運用しやすい形へ調整している。pr-813-817-codeql-coderabbit-observation-2026-05-18より

  • main push と main 向け PR で実行
  • weekly schedule を追加
  • 手動実行を許可
  • concurrency で重複実行を抑制
  • docs-only 変更では走らないよう paths-ignore を追加

この調整内容から逆算すると、導入理由は「コード変更に対して継続的な security scan を掛けたいが、無駄実行は減らしたい」という実務的なものだったと言える。pr-813-817-codeql-coderabbit-observation-2026-05-18より

Interpretation

PR #817 の文脈では、CodeQL 導入は「セキュリティスキャンを新規企画した」というより、混入した CI 設定を棚卸しした結果、残す価値があると判断して最小限の常設 scan として整えた もの。したがって、「なぜ導入したか」への短い答えは、脆弱性検出の自動化のためだが、導入の発火点自体は accidental inclusion だったcodeql-docsより pr-813-817-codeql-coderabbit-observation-2026-05-18より

2026-06-01 定例では、tokoroten から Actions に node20 / CodeQL deprecated 系の警告が出ていること、Dependabot にも警告があることが共有され、nishio は「これは最優先でやるべき」と反応した。現時点では具体 issue / PR 番号まではこの wiki に固定していないが、CodeQL は一度入れて終わりではなく、action runtime や security alert の保守が必要な運用物として扱うべき状態になっている。meeting-minutesより

Dependabot alerts は GitHub Security 側の live state であり、main / open PR / issue の観測だけでは取りこぼす。したがって security / dependency 保守では https://github.com/digitaldemocracy2030/kouchou-ai/security/dependabot を定期的に確認する。ただし alert の具体的な脆弱性詳細は公開 wiki に転記せず、対応 issue / PR / 優先度判断だけを残すのがよい。

2026-06-02 00:29 JST 時点では、Dependabot alerts に対応する PR #889 を admin merge した。変更は root pnpm.overridespnpm-lock.yaml の dependency-only PR で、audit / test / build の確認も通している。open PR #888 / #863 は package.json / pnpm-lock.yaml を触っていなかったため、差分上の干渉は小さかった。merge 後の Dependabot open alerts は 19 件から 6 件へ減った。alert の具体的な脆弱性詳細は公開 wiki / PR 本文には転記していない。

Open Questions

  • #815 の議論で誰がどの論点を出したか
  • merge 後の main に schedule / concurrency / paths-ignore がどのタイミングで入ったか
  • PR #889 merge 後に残った Dependabot alerts 6 件の扱いをどう分けるか
  • Dependabot alerts の確認頻度と担当を、週次確認として固定するか

Updates

  • 2026-05-18: 初版作成
  • 2026-06-01: 定例で Actions / CodeQL / Dependabot 警告が最優先扱いになったことを追記。CodeQL を CI に入れた経緯だけでなく、継続保守対象として見る必要が出ている
  • 2026-06-01: Dependabot alerts ページを定期観測対象として明記し、公開 wiki には脆弱性詳細を転記しない方針を追記
  • 2026-06-02: Dependabot alerts に対応する PR #889 を admin merge し、open alerts が 19 件から 6 件へ減ったことを追記