summaryrefslogtreecommitdiff
path: root/doc/Specifications.md
diff options
context:
space:
mode:
authortanaka takashi <isazaka@gmail.com>2026-08-09 21:08:20 +0900
committertanaka takashi <isazaka@gmail.com>2026-08-09 21:08:20 +0900
commitb07b41cd435991cd254957af79055080c85b346e (patch)
tree27720d3ce14e4d0b84670a55ac26a2f877ce3a20 /doc/Specifications.md
parent2fefd29e86c3b926d0cf4a362251d3f119688612 (diff)
feat: AI Agent Sandbox MCP Server v1を実装
Specifications、Design、ImplementationPlanの優先順位を整理し、単一Task実行モデル、typed option優先、設定可能なresource上限、local Ollamaを必須とするRelease Gateを文書化。 .NET 10/C# 14の5 production project、3 test project、E2E Clientを構築。typed YAML、en/ja locale、fixed/user prompt、stdioおよびloopback限定Streamable HTTP、agent_run/agent_status、Session、Ollama text/tool/Vision、TaskGraphとtoken accountingを実装。 Windows sandboxとしてfixed AppContainer、canonical/reparse検査、能力別ACL、path+SHA-256 executable approval、child-process restriction、Job Object、task journal、atomic file transaction、crash recoveryを実装。WFPのIPv4/IPv6 default denyとexact allow、dynamic session、temporary loopback exemption、管理者/BFE診断を追加。 Security/Recovery test、MCP/Ollama integration test、stdio/HTTP Operational E2E、Release Bundle生成・checksum・manifest・fresh extraction検査を追加。Requirement TraceabilityとPhase 0〜11の進捗、初回セットアップ可能なREADMEを整備。 Debug/Release/publish/objをrepository rootのbuild/へ集約し、旧project-local bin/objへの依存を除去。artifacts/とbuild/をGit管理外に設定し、clean checkoutでもsolution buildからE2E Clientまで生成可能にした。
Diffstat (limited to 'doc/Specifications.md')
-rw-r--r--doc/Specifications.md23
1 files changed, 23 insertions, 0 deletions
diff --git a/doc/Specifications.md b/doc/Specifications.md
index 9d13343..2aa19c5 100644
--- a/doc/Specifications.md
+++ b/doc/Specifications.md
@@ -155,6 +155,13 @@ IPA「厳密な仕様記述入門」の考え方に従い、課題・仕様・è¨
| failed | 回復不能な失敗 | 終端 |
| cancelled | 安全停止完了 | 終端 |
+### 5.5.1 v1実行並列性
+
+- 複数Taskを `queued` として同時に受け付けることができる。
+- アプリケーション全体で `planning` または `running` になれるTaskは最大1件とする。
+- Task Resourceを適用できるTaskも同時に最大1件とする。
+- `agent_run` の非同期受付は維持し、実行待ちTaskは受付順の単一キューで処理する。
+
### 5.6 CLI
v1のCLI surfaceは次に限定する。
@@ -186,6 +193,8 @@ CLIは起動方式と表示言語を変更するためのI/Fであり、SandboxP
| OLL-12 | Retry | Ollama通信失敗は既定3回まで再試行する。 |
| OLL-13 | Usage | `prompt_eval_count` と `eval_count` をTask実測tokenとして記録する。 |
+Vision入力は設定可能な画像数、1画像あたりのsize、request合計sizeの上限を持ち、上限超過をOllama呼出し前に拒否しなければならない。具体的な既定値は設計および設定schemaで定義する。
+
---
## 7. Agent Runtime仕様
@@ -205,6 +214,8 @@ CLIは起動方式と表示言語を変更するためのI/Fであり、SandboxP
AgentはTaskの期待副作用と観測結果を比較し、実行が必要なのにtool callが0件の場合はTaskをcompletedにしない。再試行はAgent Loopの失敗回数へ算入する。純粋な説明・分析Taskにはtool callを強制しない。
+Internal Toolが返す読取・検索・tail結果は設定可能な上限を持ち、contextを無制限に消費してはならない。上限値は設計および設定schemaで定義する。
+
---
## 8. Planner仕様
@@ -261,6 +272,8 @@ Task実績はOllama応答の `prompt_eval_count` をinput token、`eval_count` ã
| SES-05 | context上限接近時は古い情報を単純削除せず要約する。 |
| SES-06 | 要約後も未完了Task、security decision、重要なexecution result、利用者制約を保持する。 |
+Context要約を開始する利用率閾値は設定可能でなければならない。具体値は設計および設定schemaで定義する。
+
---
## 10. Skill・Prompt仕様
@@ -359,6 +372,7 @@ Task実績はOllama応答の `prompt_eval_count` をinput token、`eval_count` ã
- overwrite、patch、atomic replaceを併用できる。
- 通常は変更前内容をメモリに保持し、編集後検証に失敗した場合にrollbackする。
- 設定されたmemory backup閾値を超える大容量ファイルでは、Sandbox管理下の一時backupを使用できる。
+- memory backup閾値は設定可能でなければならない。
- 利用者向け恒久 `.bak` ファイルは既定で作成しない。
- atomic replaceが適用可能な操作では、部分書込み状態を利用者から観測させないことを優先する。
@@ -489,6 +503,15 @@ Task実績はOllama応答の `prompt_eval_count` をinput token、`eval_count` ã
| AT-19 | 追加localeがコード変更なしでロードされる。 |
| AT-20 | 未知locale keyまたは壊れたJSONで起動/checkが失敗する。 |
+### 20.1 Operational E2E
+
+| ID | 検証条件 |
+| --- | --- |
+| E2E-01 | ソースツリー外へ展開したRelease Bundleだけを使い、local Ollamaとstdio MCP Clientから実際のfixture修正、build、test、日本語応答、Audit追跡、Task Resource cleanupまで完走する。 |
+| E2E-02 | E2E-01と同等の作業をloopback限定Streamable HTTPで完走する。 |
+
+v1の完了には、win-x64向けself-contained Release Bundleが単独起動でき、E2E-01とE2E-02がInternetまたはcloud modelに依存せずPASSすることを必須とする。
+
---
## 21. 要求トレーサビリティ