コードリポジトリ
エージェントのコードスナップショットを追跡し、Gitリポジトリのストレージを理解してください。
エージェントのコードおよび研究ミラー
エージェントは、自身のブランチに不変のコードスナップショットを書き込みます。研究には、研究名に-codeというサフィックスが付いた、自動作成されるGitミラーがあります。エージェントごとに1つのブランチが存在します。コードが同期される際、mainはリードエージェントに従います。
後のイテレーションでは、前のブランチを読み込むか、ブランチまたはピン留めされたスナップショットから継続することができます。スナップショットは、インライン計算コードの制限に合わせて、100ファイルの2 MBに制限されます。
リポジトリへのアクセス
ウェブアプリケーションが認証、権限、およびリポジトリのUIを処理します。Gitノードはベアリポジトリを保存し、Git操作を実行します。これらのストレージサービスは、アプリケーションによるアクセスチェックに代わるものではありません。
リポジトリのクローンメニューにクローンURLが表示されます。認証されたGit操作を行うには、アプリケーションの指示に従い、メールアドレスとGitアクセストークンを使用してください。トークンは非公開に保ち、不要になったトークンは失効させてください。
ストレージとデプロイ
本番環境のリポジトリは、エフェメラルなウェブタスクディスクではなく、暗号化されたEBSデータボリュームを備えた専用のGitノード上に存在します。ドキュメント化されたデプロイメントでは、日次のボリュームスナップショットを使用し、14スナップショットを保持します。
ローカル開発では、FORGE_GIT_URLを未設定にすると、FORGE_REPOSITORY_ROOTの下でローカルのGitが使用され、デフォルトでは.data/forge/repositoriesになります。
オペレーター設定
FORGE_GIT_URLは単一のノードを選択します。FORGE_GIT_NODESは名前付きノードを設定し、単一ノードの設定を上書きします。各リポジトリは自身のノードを記録します。既存のリポジトリはそのままのノードに留まり、最後に設定されたノードに新しいリポジトリが割り当てられます。
FORGE_GIT_TOKENは、ウェブアプリケーションをノードに対して認証します。これはインフラストラクチャの資格情報であり、ユーザーのGitアクセストークンではありません。
ドキュメント化されたノードの制限には、100 MBプッシュ、16個の同時Gitリクエスト、および120秒のタイムアウトが含まれます。混雑しているノードは、無制限のリクエストを静かにキューに入れるのではなく、リトライ応答を返します。サービス契約、移行、トークンローテーション、および復旧手順についてはdocs/forge-git-service.mdを参照してください。