## 何を見つけたか 止めた supervise.py のキュー(スプリントの検査のプラン)を頭から流し直すため `<プラン>-state/` を退避しても、`~/.local/state/ndf/dbos/` の `queue-*`・`review-*` の `.sqlite` と `.lock` が残っていると、途中の記録から続き、止まったステップから再開した。頭から流すには、この 2 種類も手で退避する必要があった。 ## どこで見つけたか takemi-ohama/novel のスプリント pipeline(PR takemi-ohama/novel#35)の検査のフェーズ。退避した記録は `5-check-state.stopped-20261001T1330/` と `~/.local/state/ndf/dbos/stopped-20261001T1330/`。 ## なぜこの変更の範囲外なのか 開発対象リポジトリ(小説の仕組み)の変更ではなく、supervise.py の耐久の記録の置き場と、流し直す手順の問題である。開発対象リポジトリでは直せない(MVV なし: 上流)。 ## 今の振る舞いと残る問題 - `queue` の耐久の記録の鍵は done のパスから決まる(`plugins/ndf/scripts/supervise_lib/queue.py:188-211` 、`supervise_lib/flow.py:119-127` の `launch_queue` ) - **流すプランの並びを変えて打ち直したときだけ、途中の記録を止めて頭から流す**(完了か関門の記録があるプランは流し直さない)。同じ並びで打ち直すと、流れていたステップから続ける - 残る問題は 2 つである - 同じ並びのまま頭から流す手段が無い。`supervise.py --help` に頭から流し直す副命令は無い - `review-*` の耐久の記録(`~/.local/state/ndf/dbos/review-<鍵>.sqlite` )の退避が supervise の手順に書かれていない。置き場は cross-review・cross-refactoring の SKILL.md にだけある ## 直さないと何が起きるか 流し直すたびに、利用者か conductor が dbos の置き場の中身を知っていなければ、意図しないステップから再開する。状態ディレクトリだけを退避する手順が「頭から」にならない。 ## 由来 takemi-ohama/novel の PR #35 の振り返り(takemi-ohama/novel PR #41 の後)。提案: `supervise.py` に「頭から流し直す」副命令(`<プラン>-state/` と、そのプランの dbos の記録をまとめて退避する)を足すか、少なくとも手順の文書に dbos の記録の退避を書く。 ## 関連 - #1918 — 止まったプランを、キューで途中のステップから続け、後ろのステージもそのまま流す。同じ耐久の記録の扱いを逆の向き(続ける側)から触る - #1635 — cross-review の drive.py --reopen が final=error で止まった耐久ワークフローを新しい実行の回へ移さない
Activity
takemi-ohama commentedon Oct 2, 2026
同じ事象を takemi-ohama/novel issue #32 / PR #58(スプリント world)の作業中に確認した。止まった検査のプランを流し直すとき、状態ディレクトリに加えて dbos の耐久の記録も退避する必要があった。