実行と受信箱
run は workflow の 1 回の実行です。run と受信箱は、同じイベントログを 2 通りに見た ものです。run はループごとに整理され、受信箱はあなたの注意が必要なものごとに整理 されます。
ライフサイクル
run は 7 つの状態を移り変わります:
| 状態 | 意味 |
|---|---|
queued | 作成済み、並列数の空きを待っている。 |
running | エージェントが作業中。 |
waiting | ask-first のアクションで停止中。あなたの決定で再開または終了する。 |
paused | あなた(または take-over)により中断中。再開可能。 |
done | 正常に終了。 |
failed | エラーまたは予算(budget)超過。 |
aborted | あなた、waiting 中の run への deny 決定、またはルールの timeout により終了。 |
waiting に既定の timeout はありません — loopkeep があなたの代わりに答えることは
ありません。止まった run は受信箱に経過時間を示すだけです。期限が欲しければ policy
ルールに付けてください(timeout: { after: "72h", then: abort })。
worktree とチェックポイント
すべての run は .loopkeep/worktrees/<run_id>/ の下、ブランチ
loopkeep/<workflow>/<run_id> に専用の git worktree を持ちます。各ステップの後、
daemon はチェックポイントを commit します(loopkeep: step <n> — <summary>)。あなたが何かを
merge するまで、あなたの作業ツリーには手を触れません。
これで rollback はただの git になります。lk abort <run> --rollback は run を破棄する
前に最後のチェックポイントまでリセットします。素の lk abort は worktree を残すので、
中にあるものを救い出せます。
git リポジトリでない workspace でも run は動きますが、チェックポイントはありません —
abort --rollback は使えず、abort と pause は使えます。
完了した run の worktree は保持期間の後に片付けられます(lk retention <days>、
または永久保持は off。lk cleanup は今すぐ一掃します)。チェックポイントのブランチは
残ります。
受信箱
受信箱はアテンションを保持します — policy によってあなたに
振り分けられたものです。ask-first の項目はすぐに届いて鳴り、notify の項目は
digest にまとめられます。どの項目もどのルールが送ったかを示し、承認画面は生の diff か
コマンドを先に見せます — エージェント自身の要約が単独で立つことはありません。
受信箱 は項目を 2 つに分けます。上段が あなたを待っているもの(ask-first の承認と、 あなたが運転中の run)、下段が 更新(notify の項目)です。ask-first のカードは生の変更を 見せ、続けて 承認・Steer・中止 を出します。notify のカードは 確認 で片付きます。 History タブは、解決済みのものすべての読み取り専用の記録です。
介入する
waiting の run は 受信箱 のカードから決めます。承認、Steer(実行を止めずに指示を
送って軌道修正)、または 中止。どの run も、実行 を開いて行の(または run 内の)⋯ メニュー
から操作します。一時停止(再開可能)、resume、中止(変更は残す)、
abort --rollback(先に最後のチェックポイントまでリセット)、または Re-run workflow。
メニューには、その run の現在の状態で許される操作だけが出ます。
pause は穏やかです — アクションの途中ではなく、次のステップ境界で効きます。強い停止が 必要なら abort を使ってください。
完全にハンドルを握るには Take-over & hand-back を参照してください。