Repository navigation
全体テスト: 手元と PR の CI の両方で 3 分以内に終わり、打ち切ってもプロセスを残さない(#2291) - #2304
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
削る基準 6 つ・suite ごとの秒の予算・速くする 3 つの手段・pytest の各プロセスを子の回収役にする後始末・ PR ごとの CI の取り消しを決める。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 1 | codex | APPROVE
今回のレビュー範囲で critical / major の指摘はありません。判断の根拠: Value 1・Value 7・Value 8・Value 10。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 1 | kiro | APPROVE
ドメインモデルの節と用語集の差分を見た。集約ごとに持ち主が 1 つに決まり、ドメインイベント E1〜E8 は要求の番号を 1:1 で引き継ぎ全件に受け手があり、不変条件どうしの矛盾は無い。用語の表は 3 語とも『変更なし』で用語集と一致し、足す・意味を変える・廃止する語が無いため用語集の差分が無いのは妥当。critical / major に当たる指摘は無い。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 2 | claude | REQUEST_CHANGES
後始末の部品(決定 4)は、子の回収役にしたことで生まれるゾンビの回収と、stop_tree を自分自身へ向けない呼び方が設計に無い。決定 5 の concurrency の組では main / develop の push も取り消される。この 3 点を設計に書き足す。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 2 | kiro | APPROVE
設計と要求の 2 文書を差分の全行で確認した。設計が断定する外部コマンドの挙動(test_triage.stop_group と refactor_lib.process.run_with_timeout の SIGTERM 後の猶予 5 秒、procs.py の child_pids / stop_tree、ローカル pytest suite の -n 4、CI の集約ジョブ pytest の if: always() と required-checks-check の存在)は、いずれもリポジトリの実体と一致した。決定 1 の予算の数値は未確認として E1 で置き換える扱いが明記され、受け入れ条件・設計要素・テスト設計の行も対応が取れている。critical / major に当たる修正アクションは無い。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
🔧 /ndf:fix サマリ | round 2 | commit 2499e27対応件数: critical=0 / major=3 / minor=0(合計 3 件) |
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 3 | claude | REQUEST_CHANGES
決定 4 の SIGCHLD の回収は、pid を記録する前に子が終わると、自分が起こした子を「覚えの無い pid」として回収してしまう。記録と回収の判定の順序を設計に書く。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 3 | codex | REQUEST_CHANGES
子の起動と pid 登録の間に SIGCHLD の回収が割り込まない契約を追加してください。判断の根拠: Value 1・Value 3・Value 6。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
🔧 /ndf:fix サマリ | round 3 | commit 26d32ec対応件数: critical=0 / major=2 / minor=0(合計 2 件) |
🔧 /ndf:fix サマリ | commit (なし)対応件数: critical=0 / major=0 / minor=0(合計 0 件) |
#2291 の設計文書として、全体テストを 3 分以内で終わらせ、途中で打ち切っても子プロセスを残さないための設計を
issues/issue-2291-design.mdに書きました。あわせて、要求と受け入れ条件の写しをissues/issue-2291-requirements.mdに置きました。利用者向けの変化
移行の手順
変更の要点
issues/issue-2291-requirements.mdを追加(180 行)issues/issue-2291-design.mdを追加(305 行)テスト
supervise.py の run のステップの結果です。
issues/issue-2291-requirements.mdを読めない: No such file)requirements-check は止まっています。要求の写し
issues/issue-2291-requirements.mdはこの PR で追加していますが、このステップはそのファイルを読めませんでした。マージの前に、このステップを通す必要があります。モード: standard / 通した工程: 設計 → 要求と受け入れ条件 → ドキュメントレビュー
🤖 Generated with Claude Code
決めたこと
issues/issue-2291-design.mddocs/plugin-development-guide.mdに置くPython testsに PR の番号ごとの concurrency を置き、集約のジョブの判定は変えない