Skip to content

開発中に直した hook は配布まで効かず、直している間ずっと同じ実害を踏む(規則として書かれた場所が無い) #658

Closed as not planned

Description

@takemi-ohama

親: #715

何を見つけたか

このリポジトリ自身の開発では、直した hook / スクリプトはリリースされるまで効かない。 そのため、その不具合を直している間も同じ実害を踏み続ける。影響と、その間の回避を書く場所がどこにも無い。

マイルストーン「04 worktree 運用の残課題」では #610(worktree-session.sh の追従が並列のエージェントの開始・再開のたびにメインディレクトリの HEAD を動かす)を直したが、直している間にメインディレクトリの HEAD が 3 回動いた。 オーケストレーターが都度 develop へ戻した。リリース(v10.12.0)の後も、走っているセッションの NDF はインストール済みの版のままである。

$ ls -d ~/.claude/plugins/cache/ai-plugins/ndf/10.1[12]* 2>/dev/null; echo "exit=$?"
exit=2
(10.12.0 をリリースした後も、このセッションが読むのは 10.10.1)

版数はこの観測をした 2026-09-15 時点(v10.12.0 のリリース直後)の値である。

同じ形の課題

課題 状態 形
#459 open 開発中の版で工程名を記録すると、hook が使うリリース済みの版に無い名前は黙って捨てられる
#534 closed(#847) 開発中のリポジトリで cross-refactoring を回すと、スケルトンが指すのはリリース済みの版である
#590 closed(#847) Claude Code で $SCRIPTS を決めると、参照ファイルの ${CLAUDE_PLUGIN_ROOT} が置き換わらず Codex の古い控えを採る
これ open 開発中に直した hook はリリースまで効かず、直している間ずっと同じ実害を踏む

Skill から呼ぶスクリプトの系統は #847 で 1 本のコマンドになった。hook の系統には規則として書かれた場所が無い
(git grep -n -i '配布まで効かない\|配布済みの版\|開発中の版\|導入済みの版' origin/develop -- plugins/ndf/skills docs AGENTS.md CLAUDE.md は、docs/specifications/ndf-issue-upkeep-root-cause.md のクラスタの表の 1 行だけに当たる)。

直さないと何が起きる

修正レイヤー

実行する版を解決する層の hook の系統(#715)。hook の frontmatter と hooks/claude.json がプラグインの実体を選ぶ規則で、
開発中の版へ向ける手段と、向けられない間の回避は、その規則と同じ場所に書く。

直し方の候補

  1. 実行する版を解決する層を 1 つにし、開発中の版と配布済みの版の食い違いを根本原因の場所で直す #715 の規則と同じ場所へ 1 節を足す。開発中のリポジトリで NDF 自身を直すときにリリース済みの版が動く対象(hook・scripts/・Skill の本文)と、リリースまで効かないこと、その間の回避(HEAD を戻す・状態ファイルから読む・PLUGIN_ROOT を開発中の版へ向ける等、実測できたものだけ)を書く
  2. 書いた後、開発中の版で工程名を記録すると、hook が使う配布済みの版に無い名前は黙って捨てられる #459 の本文から重複する説明を削り、この節を指す形にする
  3. 開発中の版を実行へ向ける手立てが取れるなら、その手順を同じ節に書く(取れないなら、取れないことを書く)

#1142 の決定 20(ミッション 2b の移行ステップ D5)は hook を 1 本の Python のエントリポイントへまとめ、hooks/*.json を触る。
hook の実体を選ぶ規則はこの置き換えの後の形で書く。

由来

マイルストーン「04 worktree 運用の残課題」の振り返り。#610 の直しの最中にメインディレクトリの HEAD が 3 回動いた。

やらないと判断した(2026-09-26)

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: docs説明文書とリポジトリ運用area: ndf-skillNDF の Skill 本体priority: medium保守性・設計一貫性など、計画的に対応するwontfixThis will not be worked on

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions