AFK (自動進行) は何をしますか?
Gracieポートフォリオサイトを一度のセッションで完了まで駆動します。「人間の入力を必要としない」(フロンティア) チケットを繰り返し見つけ、それぞれを Done へと出荷し、結果を統合します。これをラウンドごとに繰り返し、チケットがなくなるまで続けます。手動テストはプロジェクト全体のガイドに対して最後に一度だけ行い、チケットごとには行いません。
フロンティア
チケットは、ready-for-agent タグを持ち、すべての blocked_by が .../Done/ 内のファイルに解決されている場合にフロンティアとなります。.gracie-vault/Projects/gracie-portfolio/issues/Ready/ から計算します。Ready/ にフロンティア対象のチケットがない場合のみ、Backlog/ から計算します。フロンティアチケットは人間からの入力を一切必要としません。互いにブロックしないため、サブエージェントに並列で安全に渡せるチケットです。
ステップ
- 知識サマリーを読む:
scan-knowledge.sh .gracie-vault/Knowledge(knowledgeスキルから)。最も関連性の高いポイントを表面化します。 - フロンティアを計算する(上記参照):
Ready/を最初に、Ready/にフロンティア対象チケットがない場合はBacklog/を使用します。 - フロンティアが空?
Backlog/にready-for-agentタグのないチケットがある場合: それらは/triageが必要です。数を報告して停止します。Backlog/も空(または残っているチケットがすべてブロックされている): プロジェクトは完了です — ステップ8にスキップします。
- 全フロンティアを1つのメッセージでディスパッチ — チケットごとに1つのサブエージェント、各サブエージェントは
isolation: worktreeを使用します。フロンティアチケットは互いにブロックしないため、並列ディスパッチは安全です。各サブエージェントに、自身の隔離されたコピー内で以下を実行するよう指示します:/slice <ticket>をエンドツーエンドで実行 — これによりチケットがReviewを通過し、現在成立している受け入れ基準をチェックします。/sliceが人間のために停止する箇所では、代わりにループを閉じます: チケットの受け入れ基準を差分と照らし合わせて再読み込みします。すべてのチェックボックスがチェックされ、make build/make lint、make testが green であることが、ここでの人間のレビューに代わるものです。チケットをReview→Doneに移動し、その移動をコミットします。- チケット名、最終状態(
Done、またはチェックアウトできなかった場合はReviewに残った理由)、および/sliceが生成した手動テスト手順を返します。
- 統合: 各サブエージェントが報告してきたら、ディスパッチ順に1チケットずつ統合します: サブエージェントのワークツリーブランチ(コミットと
Done移動を含む)をマージし、統合ブランチでmake build/make lintを再実行し、次にmake testを実行して、組み合わせたときにのみ現れる問題を検出します。競合はresolving-merge-conflictsスキルで解決し、決して--abortは使用しません。マージ後、ワークツリーを削除します。報告された手動テスト手順を、チケットをキーとした実行中のプロジェクト全体のリストに追加します。 - 停滞チケット。
Reviewに残ったチケット — 受け入れ基準がチェックアウトできなかった、サブエージェントが修正できなかった検証の失敗、またはスライス中に HITL ブロッカーに遭遇した場合 — は停滞チケットであり、このラウンドでの再試行対象ではありません。そのままにし、理由とともに実行中の停滞チケットリストに追加し、先に進みます。差分が失われないよう、ステップ5でマージは行われます。 - フロンティアを再計算します —
Done/にマージされたチケットが他のチケットのブロックを解除する可能性があります — そしてステップ4に戻ります。 - 手動テストガイドを作成します。 1つのファイル、
.gracie-vault/Projects/gracie-portfolio/MANUAL-TESTING.md:Doneチケットごとに1セクション(名前、リンク、収集した手順)と、チケットが関連するサーフェスに触れている場合はプロジェクト全体の短いエンドツーエンドパスを含めます。これが人間の唯一の手動テストエントリポイントです — チケットごとのテストはありません。コミットし、その後報告します: すべてDoneに出荷済み、停滞チケットリスト、およびガイドへのポインタ。