分散ワークフロー
Need User FeedbackREAPは、複数の開発者やAIエージェントが同じプロジェクトで並行して作業するコラボレーション環境向けの分散ワークフローをサポートします — 中央サーバーは不要です。Gitが唯一のトランスポート層です。
⚠ 分散ワークフローは現在初期段階であり、さらなるテストが必要です。本番環境では注意して使用してください。ユーザーフィードバックを積極的に収集しています — 問題や提案は GitHub Issues
仕組み
各開発者やエージェントは自分のブランチとGenerationで独立して作業します。統合の時が来たら、REAPがgenome優先の戦略でmergeをオーケストレーションします。
- マシンAがbranch-aでgen-046-aを完了 → /reap.push
- マシンBがbranch-bでgen-046-bを完了 → /reap.push
- マシンAが/reap.pull branch-bを実行 → フェッチ + 完全なmerge generationライフサイクル
主要原則
git pull/pushは通常通り動作します。REAPコマンドは追加的です — 分散ワークフローの使用タイミングは自由に選べます。
ソースmergeの前にGenomeの競合を解決します。法律を更新する前に憲法を修正するようなものです。
すべてローカル + Git。外部サービスも中央コーディネーションも不要です。
各GenerationはハッシュベースのID(gen-046-a3f8c2)で親を参照し、並行作業を自然にサポートする有向非巡回グラフを形成します。
使用シナリオ
異なる開発者やエージェントが別々のマシンで作業し、リモートブランチにプッシュします。/reap.pushで公開し、/reap.pull <branch>でフェッチとmergeを行います。
/reap.push → /reap.pull branch-b複数のAIエージェントがgit worktreeを使用して同じマシンで並行作業します。各worktreeには独自のブランチとGenerationがあります。/reap.merge.startで直接統合 — フェッチ不要。
/reap.merge.start worktree-branch一部の作業はローカル(worktree)、一部はリモート(他のマシン)。必要に応じてリモートブランチには/reap.pullを、ローカルブランチには/reap.merge.startを組み合わせて使用します。
Pull & Push(リモート)
/reap.pull <branch>は/reap.evolveの分散版です。リモートをフェッチし、新しいGenerationを検出し、Detectから Completionまでの完全なmerge generationライフサイクルを実行します。
/reap.pushは現在のREAP状態を検証(進行中のGenerationがある場合は警告)し、現在のブランチをリモートにプッシュします。
Merge(ローカル / Worktree)
/reap.merge.start <branch>はローカルブランチから直接merge generationを作成します — フェッチ不要のworktreeベースの並行開発に最適です。/reap.merge.evolveで完全なmergeライフサイクルを実行するか、各ステージを手動で進めます。
Git Refベースの読み取り
merge前に、対象ブランチのgenomeとlineageはgit ref(git show、git ls-tree)で読み取られます — チェックアウト不要。リモートとローカルの両方のブランチで動作します。
