Skip to content

cross-refactoring: docs が SKILL.md にあるとする rf / rf_eval の定義が無く、自作すると中断が効かない形を踏みうる #1659

Open

Description

@takemi-ohama

何を見つけたか

docs/01-state-and-propose.md:8 は「副コマンドを呼ぶ rf / rf_eval の定義は SKILL.md の『実行』の先頭にある」と書くが、SKILL.md に rf / rf_eval の定義は無い(git grep で 0 件)。SKILL.md:27 はその docs/01 を「初期化・再開・提案」として指す。docs/01・02・04 は rf_eval があることを前提に手順を書いている。

読み手が定義を自分で書くと、docs/01:8-12 が警告している誤り(eval "$(rf ...)" と書くとコマンド置換のサブシェルで exit 4 が効かず、中断したはずの進行がそのまま続く)を踏みうる。

どこで見つけたか

  • plugins/ndf/skills/cross-refactoring/SKILL.md 27(docs/01 への参照)。SKILL.md 全体に rf / rf_eval の定義が無い
  • plugins/ndf/skills/cross-refactoring/docs/01-state-and-propose.md:8-12(定義の場所の参照と警告)、274
  • plugins/ndf/skills/cross-refactoring/docs/02-plan-and-implement.md:11,17,210,236,308
  • plugins/ndf/skills/cross-refactoring/docs/04-verify-and-report.md:9,11,310

なぜこの変更の範囲外なのか

スプリント m725(#725・#1289・#842・#824)の受け入れ条件に含まれない。 定義を SKILL.md へ戻すか、docs の手順を drive.py が回す前提へ書き換えるか(駆動がスクリプトへ移った後で docs の手順を誰が読むか)の判断が要り、即時修正の 4 条件のうち「既存の方針の範囲」を満たさない。根拠: Value 7(正本は 1 か所に置き、写さずに指す。指す先が無い参照は正本を失っている)。

直さないと何が起きるか

docs を読んで手で回す(再開・調査の)読み手が rf_eval を自作し、中断の終了コードを握り潰す形で書くおそれがある。そうなると検証を通っていない変更のまま進行が続く。

由来

issue #725(スプリント m725。cross-refactoring の SKILL.md の点検、2026-10-03 利用者の依頼)

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: ndf-skillNDF の Skill 本体bugSomething isn't workingpriority: low文書のみ・低頻度など、余力があれば対応する

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions