未完の plan が 65 本あるリポジトリで、自作の docsweep が「開いている作業 0 件」と返してきました。エラーも警告も出ません。原因は、作業ログの置き場をリポジトリの外へ逃がしたときのプロジェクト判定のずれでした。黙って正しくない答えを返す道具をどう直したのか、v0.4.0 で入れたものとあわせて書いています。
道具が例外を投げて止まるなら、使う側は気づけます。やっかいなのは、正常に見える顔で誤った答えを返す場合です。今回は「開いている作業 0 件」がそれでした。作業ログの実体をジャンクションでリポジトリの外へ置いていたため、パス解決の時点で境界の外へ抜け、そのファイルがどのプロジェクトのものか判定できなくなっていました。同じ配置の 20 リポジトリすべてが該当していました。
v0.4.0 では、設定として宣言済みの作業キューを正として実体パスから引き戻すようにし、あわせて親子 plan の締め検査、非公開キューと秘密情報の保護、グラフ画面のオフライン化を入れています。共通しているのは「黙って挙動を変えない」方向の変更で、落とした検査結果は警告として残し、無効化できるのは明示指定したときだけにしました。
置き場をリポジトリの外へ出した時点から、パス解決・プロジェクト判定・返答まで一本道でつながっている
記事の要約(AI 生成のインフォグラフィック)