Skip to content

実行の持ち主と後片付けを核に持たせ、残骸と並行の衝突で止まらないようにする #2342

Open
1 of 18 issues completed

Description

@takemi-ohama

大方針 #2335(異常系・ログ・回復とデータ・入出力の形を 1 つの実行の核へ集める)の柱の 1 本。子の課題は、この柱の仕組みがそろえば解消する可能性があるものである。

何をするか

実行の核が実行の持ち主(lease)を取り、どの終わり方(正常・例外・シグナル・時間切れ)でも終了時刻と片付けを書く。ロック・持ち主の記録・worktree・状態ファイル・一時ファイルの寿命をこの lease に結び付ける。並行するスプリント・ループ・プランの排他も同じ lease で取る。再開は耐久の記録(durable)を唯一の手段にする。

受け入れ条件

  1. どの終わり方でも持ち主の記録に終了時刻が書かれ、次の実行が残骸で止まらない(cross-refactoring の init が着手前テストの打ち切りで止まると、持ち主の記録が残り次の実行を 24 時間断る #2321 の再現の手順で確かめる)
  2. 強制終了の後の再開で --from が効き、再開の手段は耐久の記録 1 つになる(queue --resume の --from が、強制終了した前の起動が残っていると無視され、前の途中のステップから続く #2325 の再現の手順で確かめる)
  3. 並行する実行が同じ対象を触るとき、lease で排他され、待つか止まるかが結果に出る
  4. 子の課題それぞれを、閉じた(解消を確かめた)か残した(理由つき)かに分けて本文に記録する

進め方

子の課題は 1 件ずつ直さない。柱の仕組みを入れた後に、子の課題の再現の手順を 1 回ずつ通し、解消したものを理由を添えて閉じる。設計は #2335 の設計(マイルストーン「28 根本解決 1: 設計と契約の棚卸し」)の後に、この柱ごとに行う。

(柱の記号: P3。2026-11-01 の組み直しで作った)

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions