Repository navigation
relay の統括役の結合テスト: tmux を使う 4 件が手元と CI で毎回走り、落ちたときに原因を読める(#2346) - #2524
Conversation
2026-11-04 に記録された結合テストの失敗は、2026-11-05 に develop の先頭とタグ ndf--v10.27.14 のどちらでも再現しない(単独 5 回・ファイル 48 件・全体 5,780 件が通過)。 tmux を使う 4 件は tmux の無い環境で黙って飛ばされるため、根の conftest.py の外部コマンドの 一覧で失敗にし、CI で走らせることを要求にした。課題の本文の写しを issues/ に置く。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
受け入れ条件 28〜32 の設計。tmux を使う 4 件をテストのクラスにまとめ、根の conftest.py の 前提のコマンドの一覧のキーをパスに :: でつないだ形まで広げて tmux を課す。テストの側の skipif は消す。 CI は tmux が無いときだけ apt で入れ、分割ごとの JUnit XML を成果物に残す。待ちが切れたときは Term の失敗の文に作業ディレクトリごとの区間の起動の引数とファイルの一覧を載せる。 CI の実行 41945018391 の分割 0 で skipped が 0 件だったため、今の runner には tmux がある。 受け入れ条件 32 の一覧に無い scripts/tests/test_root_conftest.py へテストを足すかは、 承認ゲート 1 で確かめる。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
章の並びは設計の雛形の固定の順のまま変えず、内容は足していない。 最長文を 188 字から 136 字へ、平均文長を 41.8 字から 37.7 字へ縮めた。 行数の増加 6 行は、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
このラウンドの対象範囲に修正指摘はありません。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 1 | kiro | APPROVE
ドメインモデルの節と用語集の差分を確認した。コンテキストは repo-dev-checks の 1 つで、2 コンテキストにまたがる関係の宣言漏れは無い。集約 4 つはいずれも持ち主が 1 つに決まっている。不変条件 I1〜I7 に相互の矛盾は無く、ドメインイベント E13〜E16 は要求の番号をそのまま引き継ぎ、各イベントに受け手がある。用語『前提のコマンドの一覧』は design の用語表・glossary.md・glossary/glossary.json の 3 者で意味が一致し、識別子 required_commands とコンテキスト repo-dev-checks も揃っている。この範囲で critical / major の修正アクションは見つからなかった。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 2 | claude | REQUEST_CHANGES
CI の tmux の用意の手順の書き方と、受け入れ条件 28・I2 のテストの子プロセスの範囲の 2 点を直す。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 2 | kiro | REQUEST_CHANGES
受け入れ条件 28〜32 の設計を、根の conftest.py・Term・test_relay_hub.py・pytest.yml の実体と突き合わせて確認した。照合をパス前方一致から項目の識別子(nodeid)へ広げる案(決定 1・I3)、skipif を消して一覧に一本化する案(決定 2・I4)、Term の wait/finish の失敗の文に区間とファイルの段落を足す案(決定 5・I5)は、いずれも現在のコード(_bundle_of・Term.relay_dirs/starts、既存の『記録:』行)と整合している。tmux を使うのは hubenv を使う 4 件のみで、設計の 44/4 の内訳と一致する。1 点、CI で tmux を apt から入れる経路に、設計内で手順と所要時間の見積が食い違う箇所がある(下記)。
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
🔧 /ndf:fix サマリ | round 2 | commit fbe6f31対応件数: critical=0 / major=3 / minor=0(合計 3 件) |
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 3 | claude | APPROVE
このラウンドの対象範囲(CI の tmux の用意の手順への apt-get update の明記、I2 のテストの子プロセスの対象の絞り込み)に修正指摘はありません。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 3 | codex | APPROVE
このラウンドの対象差分に修正指摘はありません。判断の根拠: Value 3・Value 4(重複指摘と不要な再実行を避け、変更された手順を既存コードと照合)。
🔧 /ndf:fix サマリ | commit (なし)対応件数: critical=0 / major=0 / minor=0(合計 0 件) |
#2346 の要求と設計を文書にまとめました。tmux を使う結合テストを毎回走らせるための受け入れ条件と設計を書き、用語集に 1 語を足しています。変更は文書だけで、コードは含みません。
利用者向けの変化
移行の手順
変更の要点
scripts/tests/test_root_conftest.pyを加えることを、利用者が設計の承認で認めました(設計文書は書き換えていません)。issues/issue-2346-requirements.mdissues/issue-2346-design.mddocs/glossary/glossary.jsondocs/glossary.mdテスト
supervise.py の run のステップの結果は次のとおりです。
issues/issue-2346-requirements.mdは #2346 の本文と一致する(17 節)要求の検査は、初回は要求の文書を読めずに exit 2 で止まりました。このブランチで再検査し、exit 0 で通りました。要求の文書は #2346 の本文と 17 節すべてで一致しています。
モード: standard / 通した工程: 設計 → 要求と受け入れ条件 → ドキュメント再構成 → ドキュメントレビュー
🤖 Generated with Claude Code
決めたこと
issues/issue-2346-design.md::でつないだ形まで広げるskipif(needs_tmux)を消すTermの共通の処理に足す