Skip to content

supervise.py のキューを頭から流し直すとき、状態ディレクトリを退避しても dbos の queue-*/review-* の記録から途中のステップへ戻る #1592

Open

Description

@takemi-ohama

何を見つけたか

止めた 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 の記録の退避を書く。

関連

Activity

  1. takemi-ohama commented on Oct 2, 2026

    @takemi-ohama
    ContributorAuthor

    同じ事象を takemi-ohama/novel issue #32 / PR #58(スプリント world)の作業中に確認した。止まった検査のプランを流し直すとき、状態ディレクトリに加えて dbos の耐久の記録も退避する必要があった。

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

    priority: medium保守性・設計一貫性など、計画的に対応する

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions