diff options
Diffstat (limited to 'plans/ImplementationPlan.md')
| -rw-r--r-- | plans/ImplementationPlan.md | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/plans/ImplementationPlan.md b/plans/ImplementationPlan.md index c2c348e..4ec765f 100644 --- a/plans/ImplementationPlan.md +++ b/plans/ImplementationPlan.md @@ -1,6 +1,6 @@ # AI Agent Sandbox MCP Server — 実装・監査作業計画 -> Current status (2026-08-11): 現行実装の再監査・是正・再検証結果は`RequirementTraceability.md`と`doc/AuditReport.md`を正本とする。`plans/progress/`の完了報告は各記録作成時のcommitに対する履歴であり、現行PASS根拠には使用しない。Internal Toolの構成とschemaは`Design.md`のTool catalogを参照し、件数をRequirementまたはGateにしない。 +> Current status (2026-08-13): Sandbox Configuration schema version 2を破壊的に導入した。YAMLを唯一のdesired stateとし、CLIはServer起動、`apply`、`show`へ限定する。個別Executable Approval StoreとSandbox Resolution Storeは廃止し、config別Applied Configuration Storeへ統合する。旧完了報告と旧schemaの証跡は履歴であり、schema version 2のPASS根拠には使用しない。 **文書名:** `ImplementationPlan.md` **版:** 0.1 Draft @@ -177,7 +177,8 @@ Security境界を後回しにした状態で、実際の任意Process実行をå… - `en.json` / `ja.json` - locale loader / validator - named placeholder -- CLI `--config` / `--lang` +- config path位置引数と、YAMLだけからlanguage/transportを取得するCLI +- `show`によるread-only権限matrixと`apply [--yes]`による一括atomic適用 - fallback `selected locale → en → key` - Fixed System Promptの埋め込み基盤 - User System Prompt path @@ -190,7 +191,8 @@ Security境界を後回しにした状態で、実際の任意Process実行をå… ## 6.4 必須テスト - [ ] `en` 起動 - [ ] `ja` 起動 -- [ ] `--lang` がconfigより優先 +- [ ] CLIからlanguage/transportを上書きできない +- [ ] 旧commandと旧optionが具体的な移行診断で拒否される - [ ] 追加locale fileをコード変更なしで読める - [ ] missing keyはfallbackする - [ ] unknown keyでfatal @@ -199,7 +201,7 @@ Security境界を後回しにした状態で、実際の任意Process実行をå… - [ ] invalid YAML/schemaでfatal ## 6.5 監査証跡 - locale key一覧比較結果 -- `agent-mcp check --lang en/ja` の結果 +- `agent-mcp show`、`agent-mcp apply --yes`、command省略起動の結果 - stderr/file log sample - Fixed Promptの格納場所 ### Gate G1 @@ -369,22 +371,22 @@ LLM→Internal Tool Call→Policy Engineの境界が固定され、Effective San ## 11.2 実装対象 - Application固定LPAC Profileと`ALL APPLICATION PACKAGES` opt-out - User Sandbox ConfigurationからEffective Sandbox Policyへの変換 -- Logical Pathのreparse chain解決、config別Resolution Store、変更時fail-closed +- Logical Pathのreparse chain解決、config別Applied Configuration Store、変更時fail-closed - Workspace/Mount/Runtime/Artifact/OS RuntimeのFilesystem capability - NTFS ACL(readとexecuteを分離した継承ACE、root単位snapshot、protected descendantのfail-safe維持) -- Executable Alias、Approved Entry ExecutableのResolved Path + SHA-256、user-local Approval Store +- Execution EntryのAlias、Approved Entry ExecutableのResolved Path + SHA-256を含むuser-local一括snapshot - Runtime Component/development Workspace Artifact/External Unknown Entryの分類 - Entry ProcessとDescendant ProcessへLPAC、ACL、WFP、Job Objectを継承 - breakaway禁止、process count / memory limit / timeout / KILL_ON_JOB_CLOSE - Named Pipeが必要ならtask固有DACL -## 11.3 Executable Approval +## 11.3 Execution Entryの適用identity BrokerがApproved Entry ExecutableまたはApproved Shell Executableを直接起動する条件は以下をすべて満たすこと。 ```text -Alias == approval.alias -Resolved Path == approval.resolved_path -SHA-256 == approval.sha256 +Alias == applied entry.alias +Resolved Path == applied entry.resolved_path +SHA-256 == applied entry.sha256 ``` -hash、Logical Path、Resolved Pathの変更は再承認を必要とする。Descendant Processには個別Approvalを要求せず、Sandbox Process Treeのconfinementで制御する。 +hash、Logical Path、Resolved Pathの変更は権限matrix全体の再applyを必要とする。Descendant Processには個別Entry登録を要求せず、Sandbox Process Treeのconfinementで制御する。 ## 11.4 必須Security Test - [ ] readonly Workspaceでread成功、write/delete/Artifact Entry拒否 - [ ] development Workspaceでread/write/delete/Artifact Entry成功 @@ -562,7 +564,7 @@ AT-01〜AT-20をすべて再実行する。 ## 16.2.1 Release Bundle - `dotnet publish -c Release -r win-x64 --self-contained true` を実行する。 - `agent-mcp.exe`、runtime/dependency、`agent.yaml`、en/ja locale、User Prompt、`skills/`、READMEを含むversion付きZIP、manifest、SHA-256を生成する。 -- ソースツリー外の空directoryへ展開し、Bundle内の資源だけで`agent-mcp sandbox resolve`まで実行する。`check`、stdio、HTTPは、利用者がResolutionを確認し必要なExecutableを承認したOperational配置で実行する。 +- ソースツリー外の空directoryへ展開し、Bundle内の資源だけで`agent-mcp show`まで実行する。stdio、HTTPは、利用者がYAMLの権限matrixを確認して`agent-mcp apply`したOperational配置で実行する。 ## 16.2.2 Operational E2E Test - E2E-01: Release Bundle、`deepseek-v4-flash:cloud`、Python 3.14の実測Approval、stdio MCP Clientで一時fixtureへ複雑なPython programとtestを作成し、Python subprocessを含むtest、日本語応答、Audit追跡、cleanupまで完走する。 |
