Skip to content

長い待ちを区切る道具を共通層へ移し、サブエージェントで止まる待ちと上限の無い待ちを根本原因の場所で直す #731

Description

@takemi-ohama

同じ根本原因を持つ課題(子 issue)を、現れている場所ではなく根本原因の場所で直すための親 issue である(issue-upkeep の判定「ルートコーズ」)。再現手順と観測は各子 issue にある。

修正レイヤー

600 秒を超える外部プロセスの待ちの道具。

  • 背景起動と区切った待ちを持つ bg-wait.shplugins/ndf/skills/cross-review/scripts/ にあり、他の Skill から使えない(冒頭のコメントも「いま使うのは cross-review だけ」と書く)
  • cross-refactoring の骨組みは monitor.py を前面で呼ぶ(plugins/ndf/skills/cross-refactoring/SKILL.md:322 / :331 / :343 / :365

外部 CLI の待ちと配布の照会ループは、この親の範囲から外して送る。

待ち 送り先
external-ai / qa-security-scan / agents/corder.md の上限の無い until のループ(5 か所) #869#852external-ai.sh run が上限つきの monitor.py で待つ)
release/references/completion-check.mdsleep 5 の照会ループ #862release.py verify-published

#829 の設計の記録(issues/issue-829-830-design-decisions.md:55-62)は、この 4 文書のループの書き換えを #731 へ送っている。その書き換えは #869(3 文書)と #862completion-check.md)が持つ。

採る手

bg-wait.sh を移す PR は #844#829 の実装)のマージの後に作る。waiting.md の「600 秒を超えるなら bg-wait.sh」に移動先を書くためである。

「区切りで応答を終えない」の規則は、plugins/ndf/skills/development-workflow/references/agent-layers.md の supervisor の規則 4(「待ちで応答を終えない。待ちの道具から戻った後、同じ応答の中で次の段へ進む」)と「報告が無いまま終わったとき」(v10.15.0)に置かれた。#829 の実装(PR #844)は待ち方の規約を development-workflow/references/waiting.md に置く。この親で残るのは道具の移動と、2 つの収束ループの待ち方の統合である。各 Skill は規則を写さず、waiting.mdagent-layers.md を指す。

子 issue

子 issue 現象レイヤー 観測
#656 cross-review / cross-refactoring を委ねたサブエージェント ラウンドの待ちで応答を終えて止まる

#345(external-ai と qa-security-scan の上限の無い待ち)は #869 の重複(→ #869)。#656 には、#844waiting.md が送った「他の作業が無いまま待つときの手」も残る。

完了条件

  • bg-wait.sh が共通層 plugins/ndf/scripts/lib/ にあり、cross-review と cross-refactoring の 2 つの収束ループが使う
  • cross-refactoring/SKILL.md の骨組みが monitor.py を前面で呼ばない(grep -n 'monitor.py' plugins/ndf/skills/cross-refactoring/SKILL.md の当たりが bg-wait.sh run の中だけになる)
  • until のループが残らないことの確認(grep -rn "until " plugins/ndf/skills --include=*.md)は external-ai / corder / qa-security-scan: 外部 CLI の起動と待ちを external-ai.sh run の 1 行にする #869 の受け入れ条件が持つ
  • 各子 issue の再現手順を実行し、現象が出ないことを確かめる(子 issue はその時点の棚卸が「閉じてよい」で閉じる)

関連

#560(最初の読み手)、#869 / #852(外部 CLI の待ち)、#862(配布の照会)、#870(drive。bg-wait.sh を共通層への残りの移行に数える)、#829(PR #844waiting.md

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: ndf-skillNDF の Skill 本体priority: medium保守性・設計一貫性など、計画的に対応する

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions