同じ根本原因を持つ課題(子 issue)を、現れている場所ではなく根本原因の場所で直すための親 issue である(issue-upkeep の判定「ルートコーズ」)。再現手順と観測は各子 issue にある。
修正レイヤー
通過工程の控えを積む責務の置き場所。
- いまは PreToolUse の hook(
plugins/ndf/skills/development-workflow/scripts/workflow-guard.sh → lib/workflow-common.sh の wf_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.sh の pj_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 回の実行にする」の制約を外す(回避が要らなくなるため)
他の課題との関係
判断が要ること
関連
同じ根本原因を持つ課題(子 issue)を、現れている場所ではなく根本原因の場所で直すための親 issue である(
issue-upkeepの判定「ルートコーズ」)。再現手順と観測は各子 issue にある。修正レイヤー
通過工程の控えを積む責務の置き場所。
plugins/ndf/skills/development-workflow/scripts/workflow-guard.sh→lib/workflow-common.shのwf_is_candidate/wf_parse_sync)が、実行されるコマンドの文字列から「記録のスクリプトが呼ばれた」ことを推測して控えを積む(references/stage-completeness.md)plugins/ndf/scripts/progress-record.sh/projects-sync.sh)は、控えを積まない(grep -n stage-check→ 0 件)採る手
移動(
move_responsibility)。記録のスクリプトが、盤面の宣言の有無を見る前(projects-sync.shのpj_declaration || exit 0より前)にstage-check.sh recordを自分で呼ぶ。hook がコマンドの文字列から控えを積む形は外す。マージの関門のように、外部のコマンドを観測するしかない判定は残る。その字句解析は #724 が持つ。
子 issue
progress-trackingの呼び方(本文の記録と控えの 2 本)wf_parse_sync)wf_parse_sync)完了条件
progress-trackingの「工程の単位と記録する課題」にある「後片付けまでの記録は課題ごとに 1 回の実行にする」の制約を外す(回避が要らなくなるため)他の課題との関係
issues/issue-829-830-design.md235 行はstage-check.sh report <番号>を「本文と食い違えば控えを正とする」として読む。控えの取りこぼしが、待ちの問い合わせと長い conductor の工程の起動を hook で止める(#829 #830) #844 の新しい hook の判定にも波及する判断が要ること
関連