agent-policy¶
参考訳(非正本): この文書は
docs/overview.mdの日本語訳です。英語版が正本であり、内容に差異がある場合は英語版を優先します。
agent-policy は、複数の製品リポジトリと複数のコーディング/汎用エージェントで共有する規約を、検証可能かつ再現可能な形で管理するためのポリシーツールチェーンです。開発上の正本は TakashiSasaki/templates の policy ブランチです。
ここから始める¶
製品リポジトリへ Policy を適用することが目的なら、最初に Provider / toolchain の内部構造を理解する必要はありません。通常の consumer workflow は次の順序です。
- 単一の
agent-policyskill をインストールする。 レビュー済み full-SHA installer は Getting started に記載されています。 - 未管理 repository を inspect する。
python scripts/bootstrap.py --repository /path/to/product-repositoryは dry run でunmanaged-empty、unmanaged-existing、managed、inconsistentのいずれかに分類し、対応する adoption path を選択します。 - plan を確認してから fresh adoption を apply、または migration を prepare する。 fresh adoption は
--applyを使用できます。migration adoption は既存の primary instructions を保持し、preview 後に別の明示的 finalization を必要とします。 - managed repository を同じ installed skill で運用する。
python scripts/run.py --repository . validate、続いてrender、checkを実行します。
installation と adoption は Getting started から始めてください。.agent-policy.lock が存在するようになった後は Managed operation で通常の validate / render / check loop を確認します。context にどの shared rule set を選ぶべきか判断するときは Policy profiles を参照してください。
Policy が制御するのは coding-agent の operating rules です。Web application、CLI、service、library などの architecture や product requirements は定義しません。それらの artifact / capability semantics は Composition が別の authority として管理します。
以下の節では、より深い architecture、provenance、maintenance context が必要な場合に Policy model と Provider 内部を説明します。
目的¶
- 共通規約を中央で一度だけ管理する
- 製品固有規約を各リポジトリに保持する
.agent-policy.ymlを単一の意味的設定入口にする- 共通規約と製品固有規約を決定的に合成する
AGENTS.mdと通常運用スキルを生成してコミットする.agent-policy.lockに入力・出力ハッシュとツールチェーンの完全なコミットSHAを記録する- 設定、lock、生成物の不整合をCIで検出する
- 既存instructionを破壊せずに導入準備・preview・明示的cutoverを行う
- adoption前後で同じinstalled
agent-policyskillと検証済みpersistent full-SHA runtimeを使用する
区別すべき3つの層¶
policy という語は、リポジトリのbranch、branch内で正本として保持する共有規約、consumer repositoryで実際に有効になる規約を指し得ます。これらは別の層です。
- Provider / toolchain layer —
TakashiSasaki/templatesのpolicyブランチ全体です。共有規約だけでなく、agent-policyCLI、schema、renderer template、単一repository-facing skill、test、release machinery、maintainer documentationを保持します。このbranch自体がconsumer repositoryへmergeされて効力を持つわけではありません。 - Shared policy corpus layer —
policy/に置くcanonicalな共有規則と、profiles/に置く選択集合です。ここが複数repositoryで共有する規約意味論の正本です。規則はbranchに存在するだけではconsumerで有効にならず、consumer側の設定から選択されます。 - Consumer effective-policy layer — consumer repositoryの
.agent-policy.ymlがshared profileとrepository-local policyを選択し、toolchainがそれらをcomposeしてAGENTS.md、context output、通常運用skillなどへrenderした状態です。.agent-policy.lockは選択入力、toolchain revision、生成結果を固定します。実際のrepository作業で効力を持つのはこのconsumer側の選択・合成・生成結果です。
したがって、導入処理は policy ブランチ全体をconsumerへinjectまたはGit mergeする仕組みではありません。共有規則を select → compose → render し、consumer repositoryに生成projectionとlock stateを保持する仕組みです。branch間のunrelated historyは維持されます。
Index-guided navigationでもこの境界を維持し、Provider and toolchain、Shared policy corpus、Applying policy to a consumer repository を別の入口として扱います。
policyブランチの構成¶
policyは、templatesリポジトリのskill、site、webappとはunrelated historyです。このbranch内で次を管理します。
| パス | 役割 |
|---|---|
policy/, profiles/ |
application-type-independentな共有規約と適用集合 |
src/agent_policy/ |
Python CLIとadoption transaction |
schemas/, templates/ |
consumer設定・stateのschemaと生成template |
skills/agent-policy/ |
unmanaged adoption、managed command dispatch、immutable pin selection、persistent runtime-cache管理を担う単一repository-facing skill |
tests/ |
compiler、path safety、lock、adoption、release identity、runtime distribution、single-skill/cache boundaryの検証 |
docs/ |
導入、設計、ADR、publication資産 |
unmanaged repositoryでは skills/agent-policy/runtime-manifest.json がレビュー済みstable full-SHA trust seedとruntime-lock digestを提供します。adoption後は同じskillがconsumerの .agent-policy.lock に記録されたfull SHAを優先します。validなruntime cache entryはnetworkなしで再利用できます。
提供コマンド¶
agent-policy adopt inspect
agent-policy adopt prepare
agent-policy adopt preview
agent-policy adopt finalize
agent-policy validate
agent-policy render
agent-policy check
adopt inspect: repository stateをread-onlyで分類するadopt prepare: state-derived fresh/migration preparationを実行し、fresh adoptionでは必要に応じてhidden initializationを内部利用するadopt preview: staged migration outputを再生成・検査するadopt finalize: 別途明示的に許可されたmigration cutoverを実行するvalidate: 設定、参照、規則ID、path safetyなどを検査するrender: 共通規約と製品固有規約を合成して生成物とlockを更新するcheck: 設定、入力、lock、生成物が一致しているかをread-onlyで確認する
installed skillのgeneric bootstrap操作はmigration finalizationを公開しません。finalizationは別の明示的managed commandです。
次に読むページ¶
- Provider and toolchain —
policyブランチ自体とtoolchainの設計・保守・release boundaryをたどります。 - Shared policy corpus — consumerから選択されるcanonical shared policyとprofileをたどります。
- Applying policy to a consumer repository — adoption、configuration、effective policy、managed operationをたどります。
- CLIリファレンス —
agent-policyコマンドと各サブコマンドの契約を確認します。 - Architecture decisions — 現在有効なADRを短い説明付きで一覧します。
- 脅威モデル — toolchainが防御する脅威と信頼境界を確認します。