summaryrefslogtreecommitdiff
path: root/plans/ImplementationPlan.md
diff options
context:
space:
mode:
Diffstat (limited to 'plans/ImplementationPlan.md')
-rw-r--r--plans/ImplementationPlan.md26
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まで完走する。