Ancienttwo/repo-harness
File-backed workflow harness for reliable Claude Code and Codex sessions.
解決する課題
repo-harnessは、AIコーディングセッションが揮発性の高いチャットメモリに依存しているという問題に対処します。開発者が異なるAIエージェント(ClaudeやCodexなど)を切り替えたり、新しいセッションを開始したりすると、以前の計画、進捗、決定事項のコンテキストが失われることが多く、エージェントがリポジトリ構造や現在の状態を再発見するためにトークンと時間を浪費することになります。
仕組み
このプロジェクトは、プロジェクトの状態の「真実」がチャット履歴ではなくリポジトリ自体に存在する、ファイルベースのワークフローを実装しています。CLIと、ホストアダプター(~/.claude/settings.jsonや~/.codex/hooks.jsonなど)と統合するフックシステムを使用します。
主なメカニズムは以下の通りです:
- セッションの引き継ぎ (Session Handoffs): フックがコンテキスト、計画、引き継ぎ内容をプロジェクトファイル(例:
.ai/harness/handoff/resume.md)に書き戻し、新しいセッションが前回のセッションの続きから正確に再開できるようにします。 - トークン効率: 構造的なクエリには構築済みのCodeGraphインデックスを使用し、
context-map.jsonを介した漸進的なコンテキスト読み込みを利用することで、高コストなgrep-and-readループの必要性を減らします。 - ガードレール: プロセス内の変更ガードにより、アクティブな計画が「Approved」または「Executing」としてマークされていない限り、実装の編集をブロックできます。
- 構造化されたアーティファクト: リポジトリを、仕様用の
docs/spec.md、計画用のplans/、タスク契約用のtasks/contracts/といった特定のサーフェスに整理します。
対象ユーザー
複雑で長期にわたるコーディングタスクにAIエージェント(特にClaudeやCodex)を使用しており、再現可能で検証可能、かつトークン効率の高いワークフローを求めるAIツール所有者および開発者向けに設計されています。
ハイライト
- ファイルベースの状態管理: エージェントの調整をチャットスレッドからリポジトリローカルのファイルへと移行します。
- 漸進的なコンテキスト読み込み: 小規模なルートコンテキストと機能ブロックを使用してトークンを節約します。
- 自動引き継ぎ: セッションの状態とdirty-bitイベントをキャプチャし、シームレスなセッション再開を促進します。
- 厳格な強制ゲート: アクティブな計画のステータスに基づいてコード編集をブロックする機能。
- MCP Connector: ワークフローのアーティファクトをMCPクライアントに公開するためのオプションのサイドカー。