| name | 11-loop-or-finish |
| description | タイムライン進行後、演習を継続してIPC入力を待つか、終了してポストモーテム生成へ進むかを判定するskill。 |
継続または終了判定
このskillはステップ11で使います。制御だけを担当します。
言語
人間に見せる文言は必ず日本語で書きます。このステップは通常、内部制御出力だけを書きます。
入力
.ai/runs/<run-id>/timeline_cursor.json
- 最新の現在タイムライン(
.ai/runs/<run-id>/TIMELINE-<N>.tsv)
- IPC の socket(既定パスを 3 ツールで共有。別パスにするときだけ
TTX_SOCKET か --socket)
./ref 配下の仕様・設計文書
./ops 配下の障害対応手順書・監視手順・Runbook
ref / ops の参照
対応者からの質問に答えるために必要な場合、./ref と ./ops を参照してよいです。ただし、このステップは原則として制御判定だけを行い、公開メッセージを作る場合もループ状態や隠し情報を開示してはいけません。
出力
internal_log.jsonl への continue / finish / abort 判定
- 継続する場合は
ttx-ai-recv --wait で次の参加者入力を待つ指示
finish の場合は .ai/agents/12-build-postmortem.md を呼び出す指示(ポストモーテム生成)
abort の場合はポストモーテムを作らずに中断する指示。参加者の /abort や ttx-ai-recv の待機タイムアウト(終了コード5)なら 00-run-exercise のステップ13の中断分岐(ゲートウェイ/会話用プロセスが終了メッセージを担う)へ。IPC 障害=接続喪失(終了コード2)なら相手が居ないため IPC 送受信をせずその場で終了する(00-run-exercise の「IPC 障害時の扱い」)
手順
- タイムラインカーソルを読む。
- カーソル状態が
finished なら finish を返す(ポストモーテム生成へ)。
- カーソル状態が
aborted なら abort を返す(ポストモーテムを作らず、00-run-exercise のステップ13の中断分岐へ)。
- それ以外なら
continue を返し、ttx-ai-recv --wait --socket <path> で次の参加者入力を同期取得して .ai/agents/07-handle-question-or-action.md へ渡す。ttx-ai-recv が接続失敗(終了コード2=IPC 障害)を返したら、会話用プロセス(ttx-human またはゲートウェイ)が終了し UDS が失われたとみなし、リトライせず abort を返す(timeline_cursor.json を aborted にし、ポストモーテムを作らず、以後いっさい IPC 送受信を行わない=相手が存在しないため。詳細は 00-run-exercise の「IPC 障害時の扱い」)。切断を内部ログに記録する。**終了コード5(待機タイムアウト)**なら、規定時間(既定30分)参加者入力が来なかったということなので、入力を扱わずカーソル状態を aborted にして abort を返す(00-run-exercise のステップ13中断分岐へ。ポストモーテムは作らない)。終了コード0(入力取得)は通常どおり 07 へ渡す。
開示ルール
公開通知または最終ポストモーテムにならない限り、ループ状態を人間に伝えてはいけません。
個別デバッグ
固定したカーソルファイルで分岐だけを確認します。前段の生成ステップを再実行する必要はありません。