Skip to content

通過工程の控えを記録のスクリプト自身が積むようにし、控えの取りこぼしと食い違いを根本原因の場所で直す #725

Description

@takemi-ohama

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

修正レイヤー

通過工程の控えを積む責務の置き場所。

  • いまは PreToolUse の hook(plugins/ndf/skills/development-workflow/scripts/workflow-guard.shlib/workflow-common.shwf_is_candidate / wf_parse_sync)が、実行されるコマンドの文字列から「記録のスクリプトが呼ばれた」ことを推測して控えを積む(references/stage-completeness.md
  • 記録を実際に行うスクリプト(plugins/ndf/scripts/progress-record.sh / projects-sync.sh)は、控えを積まない(grep -n stage-check → 0 件)
  • 推測なので、スクリプトの呼び方(並べる・番号を変数で書く・例として文字列に書く・片方だけを呼ぶ)と、hook が動く版(配布済みの版の工程名の一覧)によって、本文と控えが食い違う

採る手

移動(move_responsibility)。記録のスクリプトが、盤面の宣言の有無を見る前(projects-sync.shpj_declaration || exit 0 より前)に stage-check.sh record を自分で呼ぶ。hook がコマンドの文字列から控えを積む形は外す。

マージの関門のように、外部のコマンドを観測するしかない判定は残る。その字句解析は #724 が持つ。

子 issue

子 issue 現象レイヤー 観測
#452 progress-tracking の呼び方(本文の記録と控えの 2 本) 課題の本文と控えが食い違っても、どちらも気づかない
#487 控えを積む hook(wf_parse_sync 1 回の実行につき 1 件しか積まれず、番号を変数で書くと 1 件も積まれない
#580 控えを積む hook(wf_parse_sync ヒアドキュメントやコメントに書いた例が、実行していない工程として積まれる
#459 控えを積む hook(配布済みの版の工程名の一覧) 開発中の版で記録した工程名が、配布済みの版の hook に無く黙って捨てられる

完了条件

  • 記録のスクリプトが自分で控えを積み、hook はコマンドの文字列から控えを積まない
  • 複数の記録を並べる・番号を変数で書く・例として文字列に書く・片方のスクリプトだけを呼ぶ、のどの形でも本文と控えが一致することを検査が確かめる
  • 盤面の宣言が無いリポジトリでも控えが積まれる
  • 各子 issue の再現手順を実行し、現象が出ないことを確かめる(子 issue はその時点の棚卸が「閉じてよい」で閉じる)
  • progress-tracking の「工程の単位と記録する課題」にある「後片付けまでの記録は課題ごとに 1 回の実行にする」の制約を外す(回避が要らなくなるため)

他の課題との関係

判断が要ること

関連

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 本体needs-decision方針の判断を待っているpriority: high実害・安全機構の欠落など、優先して対応する

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions