## 何を見つけたか 再起動の方針の集計(`context-policy.py report`)で、同じ課題の判定の記録と引継ぎの印が別々の作業として数えられる。`record --work` が受け取った識別子をそのまま書き、hook が書く識別子の形(`#<番号>`)にそろえないためである。 - 状態: ndf v10.27.15 を導入した利用者の環境。判定の記録 `~/.local/state/ndf/context/decisions/devbasex__ai-plugins.decisions.jsonl` は 73 件(2026-11-02 12:27〜2026-11-04 06:01 UTC) - 入力: `python3 <導入先>/scripts/context-policy.py report --all --format json`(2026-11-04 15:08 JST に実行、exit=0) - 観測した結果(課題 #2436 の作業): | 作業の識別子 | 書いた側 | conductor の呼び出し | 引継ぎの作成の呼び出し | | --- | --- | ---: | ---: | | `#2436` | hook の判定(`source: hook`) | 680 | 0 | | `2436` | 引継ぎ開始の印(`source: record`、2 件) | 0 | 84 | | `sprint-p2436` | 引継ぎ開始の印(`source: record`、1 件) | 0 | 0 | - 「復元完了」の印は 73 件中 0 件だった。`#2436` の行は `unknown_parts.restore` が 9 で、復元の区間は 1 つも区切られていない ## どこで見つけたか - 配布の記録の Pull Request #2426 でのスプリント lflow-1 のリリース後テスト(課題 #2262 の受け入れ条件 12) - 書き手: `plugins/ndf/scripts/context-policy.py` の `record` の副命令(`--work` を受けてそのまま書く) - 識別子の形を決める手順書: `plugins/ndf/skills/development-workflow/references/context-window.md` の「判定と再起動を記録する」と `references/relay.md`(`--work "<課題番号の並び>"`)。conductor は `2436` や `sprint-p2436` を渡していた ## なぜこの変更の範囲外なのか リリース後テストは不合格を見つけて記録する工程で、その場では直さない(`release-verification` の「不合格を即時修正しない」)。原因は識別子を正規化する場所の設計(`record` が直すか、hook と同じ関数を通すか、渡す形を検査して断るか)にあり、即時修正の 4 条件のうち「方針が決まっている」を満たさない。根拠: Value 1(見つけた不具合は 4 条件を満たせばその場で直す)、Value 7(根本原因の場所で直す)、Value 3(利用者へ届いた不具合なので起票する)(MVV 版 5) ## 直さないと何が起きるか 課題ごとの集計で、引継ぎの作成と復元の費用・秒が conductor の分と同じ作業に乗らない。試行方式と現行方式の比較実験(#2262 の受け入れ条件 17・18)は「引継ぎと復元の費用」を比べる量にしているため、この集計からは正しい値が出ない。費用の見込みの較正(`calibrate`)も同じ記録を読むため、引継ぎの費用を少なく見積もるおそれがある。 ## 起票者の推定 - 識別子は hook と同じ `#<番号>` の形(空白区切りの並び)へ正規化するのが正しい(推した出所: hook の記録の `work` の値と、手順書の例 `--work "#829 #830"`) - 「復元完了」が 0 件なのは、conductor が再開の後に印を打っていないためで、手順書の位置か書き方に原因がある(推した出所: 判定の記録の `event` の集計。conductor の書き起こしは見ていない) ## 由来 PR #2426
Activity