設計: 待つ間の問い合わせを hook で止め、conductor の会話を工程の切れ目で切る(#829 #830) - #843
Conversation
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0188ycp9tV288qHTswhMxQ7K
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 1 | codex | REQUEST_CHANGES
Bash の sleep 検出をシェル構文に即した契約へ改め、文脈上限の一度だけの回避を同一 Skill の直後の再試行だけに限定してください。連続 Read の変更検知は秒未満の更新も識別できるようにしてください。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 1 | kiro | REQUEST_CHANGES
hook(AC5・決定 3)が前景の until/while + sleep ループを拒否する一方、この PR で書き換えないと宣言した既存 Skill 文書(external-ai / qa-security-scan)にその形のループが残る。拒否と文書修正の間に順序保証がないため、配布順によっては Claude Code で既存手順が壊れる窓が開く。この PR で該当文書へ案内行を足すか、#731 を先行依存として宣言するか、AC8 のテスト母集団に該当ループを加えて回避案内が実際に辿れることを確かめるとよい。
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0188ycp9tV288qHTswhMxQ7K
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 2 | codex | REQUEST_CHANGES
sleep 判定が実際に実行される引用内のシェルを見逃さない契約へ修正し、文脈上限の一度だけの迂回は「直後」を判定できる状態遷移とテストへ改めてください。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 2 | kiro | REQUEST_CHANGES
受け入れ条件とテスト設計の対応に 2 点の抜けがある。AC10 の閾値変更(NDF_SLEEP_MAX_SEC / NDF_READ_REPEAT_LIMIT)と、決定 3 で新設したヒアドキュメント除去のどちらも、テスト設計の対応行に検証ケースが無い。要求で定めた振る舞い・設計で新設した除去規則が、テストで一度も通らないまま通過する。
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0188ycp9tV288qHTswhMxQ7K
🔧 /ndf:fix サマリ | round 2 | commit 1bc421b対応件数: critical=0 / major=3 / minor=1(合計 4 件) |
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 3 | codex | REQUEST_CHANGES
引き継ぎを発生させる境界と、再開時に対象 Pull Request を特定する契約を一意にしてください。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 3 | kiro | REQUEST_CHANGES
設計文書と要求文書の内部整合(AC15 の再定義と決定 7、決定 3 の -c 展開)はラウンド 2 で解消されており、既存の hook・skill-stats・stage-check・bg-wait など参照先の実体とも一致していた。残る修正点は、通過工程の控えの置き場所を hook がハードコードで参照している 1 件で、実装前に置き場所の解決順を実体(wf_state_dir)へ合わせる必要がある。
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0188ycp9tV288qHTswhMxQ7K
🔧 /ndf:fix サマリ | round 3 | commit bdb8871対応件数: critical=0 / major=3 / minor=1(合計 4 件) |
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 4 | codex | REQUEST_CHANGES
文脈超過時の引き継ぎ先を、並行中の別課題から誤推定しない契約へ修正してください。あわせて、sleep guard が拒否する while/until と sleep の構造的な対応関係を定義し、対象外の短い sleep を止めないテストを追加してください。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 4 | kiro | REQUEST_CHANGES
F4(文脈量の hook)が実際にどの Skill ツール呼び出しを捕まえるかが、既存の 3 層設計(agent-layers.md)と食い違う。conductor は工程 Skill を直接起動しない(development-workflow/issue-plan-strategy だけ)ため、AC12 が想定する skill: ndf:design の起動が top-level では発生しない懸念がある。この 1 点を詰めれば設計は通せる見込み。
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0188ycp9tV288qHTswhMxQ7K
🔧 /ndf:fix サマリ | round 4 | commit 747f191対応件数: critical=0 / major=2 / minor=1(合計 3 件) |
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0188ycp9tV288qHTswhMxQ7K
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 5 | codex | REQUEST_CHANGES
3 層経路の引き継ぎを、既存の関門処理と同じ時系列にそろえてください。また、Agent 起動を拒否した後の 1 回限りの再試行を受け入れ条件とテストで固定してください。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 5 | kiro | REQUEST_CHANGES
設計・要求の内部整合は概ね取れており、既存の claude.json / worktree-guard.sh / workflow-common.sh / context-window.md / agent-layers.md / SKILL.md の前提(PreToolUse の fail-open 契約、wf_state_dir の解決順、context-window.md の :41-42 と :46-47、持ち場の語彙、対話では 3 層へ出さない)と一致することを確認した。ただし『工程 Skill の一覧』の定義と AC14 のテスト設計に、実装時に判定が割れうる 2 点の穴がある。token-guard-stages.txt が何を含むかを SKILL.md 工程表のどのセルから機械的に導くかを設計側で確定させることを提案する。
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0188ycp9tV288qHTswhMxQ7K
🔧 /ndf:fix サマリ | round 5 | commit 0ee39c1対応件数: critical=0 / major=4 / minor=0(合計 4 件) |
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 6 | codex | REQUEST_CHANGES
会話単位の状態更新に排他を追加し、並列 PreToolUse でも連続 Read の上限と文脈案内の一度だけ通す契約を保てる設計・テストへ修正してください。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 6 | kiro | REQUEST_CHANGES
設計・要求とも内部整合は高く、rounds 1-5 の指摘は反映済み。実装前に潰しておくと安全な点として、(1) 連続 Read 判定の inode 取得が GNU stat 形しか示されておらず macOS/BSD で壊れる(mtime は BSD 形を示しているのに inode だけ欠ける)、(2) guards/ の場所を得るためだけに workflow-common.sh 全体を毎ツール呼び出しで source すると merge/lock 層まで巻き込む、の 2 点を挙げる。いずれも実装時に決着させれば足りる。
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0188ycp9tV288qHTswhMxQ7K
🔧 /ndf:fix サマリ | round 6 | commit 9f9daa5対応件数: critical=0 / major=1 / minor=2(合計 3 件) |
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 7 | codex | REQUEST_CHANGES
hook の最悪実行時間が非機能要件を満たすよう、ロック待ち時間とタイムアウト設計を整合させてください。
takemi-ohama
left a comment
There was a problem hiding this comment.
🤖 cross-review | round 7 | kiro | REQUEST_CHANGES
設計の内部整合と既存コード・文書との整合は概ね取れている(wf_state_dir の 4 段解決順・_input_total の足し方・DEFAULT_WINDOW_LIMIT=200000・ndf_lock_acquire の第2引数・context-window.md の :41-42 / :46-47 の行引用・13 個の工程 Skill の実在と claude-skills.txt 収録・agent-layers.md の持ち場語彙をいずれも実測で確認)。残る修正提案は sleep 判定のテスト設計で while/until ループ本体の while/until と for の判別、および do/done の入れ子照合を確かめるケースが無い点のみ。
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0188ycp9tV288qHTswhMxQ7K
🔧 /ndf:fix サマリ | commit 3882e11対応件数: critical=0 / major=0 / minor=0(合計 0 件) |
Summary
issues/issue-829-830-requirements.mdissues/issue-829-830-design.md(決定の記録はissues/issue-829-830-design-decisions.md)決めたこと
issues/issue-829-830-design-decisions.mddevelopment-workflow/references/waiting.mdの新しいファイルに置くwhile/untilのループの本体にあるか、5 秒を超えるsleep」を拒否するdevelopment-workflowを起動する形にするskill-statsの既定と同じ値にするMonitorではなくrun_in_backgroundの until ループにするTest plan
python3 scripts/check-doc-line-limit.py --root .→ exit=0sleepの形ごとの費用、同じ Read の連続の長さ)sleep 12が本体に止められないことを実測(要求の前提 2)verify-sweepexit=0)関連: #829 #830
🤖 Generated with Claude Code
https://claude.ai/code/session_0188ycp9tV288qHTswhMxQ7K