From a8233adff75a4726015c7c96ce5e864d4506f6b2 Mon Sep 17 00:00:00 2001 From: tanaka takashi Date: Fri, 14 Aug 2026 18:00:29 +0900 Subject: release: prepare WinAgent Sandbox MCP v0.1.0 Unify the public product name and repository identifier while preserving stable executable, store, AppContainer, namespace, pipe, and mutex identifiers. Make Directory.Build.props VersionPrefix the application-version source of truth, use SDK-generated assembly metadata, and compare helper compatibility by parsed major/minor/build release identity. Rebuild the fixed winagent-sandbox-mcp release staging directory from clean defaults, emit versioned ZIP/checksum assets, verify manifests and fresh extraction, and reject local configuration, user state, and test artifacts. Document release/deployment separation and upgrade responsibilities, add the initial changelog, update operational script paths, and record the v0.1.0 verification results. --- doc/Design.md | 10 +++++++--- doc/Specifications.md | 6 ++++-- 2 files changed, 11 insertions(+), 5 deletions(-) (limited to 'doc') diff --git a/doc/Design.md b/doc/Design.md index 5a8d0f0..032723e 100644 --- a/doc/Design.md +++ b/doc/Design.md @@ -1,4 +1,4 @@ -# AI Agent Sandbox MCP Server — 設計書 +# WinAgent Sandbox MCP — 設計書 **文書名:** `Design.md` **版:** 0.1 Draft @@ -831,8 +831,12 @@ errorは内部codeとlocalized messageを分離し、ログ/auditにはcode、MC | 10 | Release/Operational E2E | self-contained Bundle単独起動、stdio/HTTP実利用 | ### 21.1 Release設計 -- mainと昇格hostを同じversion/RIDで`dotnet publish -c Release -r win-x64 --self-contained true`し、mainをBundle root、昇格hostを固定`admin/` subdirectoryへ配置する。 -- Bundleはversion付きZIP、展開済みdirectory、file manifest、SHA-256 checksumから成る。 +- Application Versionの正本はRepository rootの`Directory.Build.props`にある`VersionPrefix`とする。Configuration schema versionおよびMCP protocol versionとは独立して管理する。.NET SDK標準のAssemblyVersion、FileVersion、InformationalVersion生成を使用し、Source Revision suffixとWindowsの4要素version表現を許容する。 +- mainと昇格hostを同じApplication Version/RIDで`dotnet publish -c Release -r win-x64 --self-contained true`し、mainを固定名`winagent-sandbox-mcp/`のBundle root、昇格hostを固定`admin/` subdirectoryへ配置する。helper compatibility preflightはmain/helper versionのmajor/minor/buildをparseして比較する。 +- `build/Release/publish/winagent-sandbox-mcp/`はRelease artifact生成用staging成果物であり、利用者deploymentではない。publishごとに一時directoryで完全生成・検査した後、固定Bundle directoryをclean置換する。旧version付きdirectoryは自動移動または削除しない。 +- Bundleはversionを含まない展開済みdirectory、file manifest、version付きZIP、SHA-256 checksumから成る。ZIPの内部rootとExecutable名はversionを持たず、ZIP/checksum filenameだけにApplication Versionを含める。 +- Release BundleとZIPへ`agent.local.yaml`、`local/`、`logs/`、`state/`、Applied Configuration Storeまたは過去のtest/development資産を含めない。生成時とZIPのfresh展開後に禁止項目を検査する。 +- 利用者deploymentのupgradeではExecutableと既定資産だけを置換し、利用者のlocal設定、Prompt、Skill、logs、state、Applied Configuration Storeを上書きしない。installer/deployment upgrade scriptは提供しない。deployment pathを変更した場合は新config pathで`show`後に`apply`する。 - main manifestは`asInvoker`、`admin/agent-mcp-admin.exe` manifestは`requireAdministrator`かつ`uiAccess=false`とする。mainは`AppContext.BaseDirectory/admin/agent-mcp-admin.exe`だけを参照し、PATH検索やConfigurationによる差替えを許さない。 - 起動時の相対pathは実行ファイルdirectoryを基準に解決し、ソースツリーを参照しない。 - 現行Operational E2Eは配布既定の`deepseek-v4-flash:cloud`を使用する。rate limit、接続失敗、model unavailableをapplication PASSとして扱わない。 diff --git a/doc/Specifications.md b/doc/Specifications.md index dcc2425..d127e1f 100644 --- a/doc/Specifications.md +++ b/doc/Specifications.md @@ -1,4 +1,4 @@ -# AI Agent Sandbox MCP Server — 仕様書 +# WinAgent Sandbox MCP — 仕様書 **文書名:** `Specifications.md` **版:** 0.2 Audit Revision @@ -32,6 +32,8 @@ IPA「厳密な仕様記述入門」の考え方に従い、課題・仕様・ 本書は、完全性、一貫性、検証容易性、修正容易性、追跡性を重視する。妥当性確認は「この仕様がAIエージェントの安全な作業実行という目的に適合するか」、正当性検証は「設計・実装が本仕様を満たすか」と定義する。 +Application Version、Configuration schema version、MCP protocol versionは独立して管理する。current Application Versionはbuild metadata、公開履歴はGit tag、CHANGELOG、Release metadataを正本とし、本仕様書へ固定値として持たせない。 + --- ## 2. 目的・課題・範囲 @@ -480,7 +482,7 @@ Resource Profileは`constrained = 1024 MiB/4 Process/300秒`、`normal = 4096 Mi - Hot Reloadは明示的に非対応。 - config pathはCLIの任意の位置引数で選択可能とし、optionによる設定上書きを持たない。 - base設定と同じdirectoryに `agent.local.yaml` が存在する場合は任意overrideとして読み込む。mapは再帰mergeし、scalarと配列はlocal側で置換する。merge後の設定全体をvalidationし、相対pathはbase設定directoryを基準に解決する。 -- Release Bundleは既定設定だけを配布し、利用者のlocal設定、User System Prompt、Skillをpublishで上書きしてはならない。 +- Release artifact生成用stagingは毎回既定配布物だけから完全再生成し、利用者の`agent.local.yaml`、local Prompt/Skill、logs、state、Applied Configuration StoreをRelease BundleまたはZIPへ含めてはならない。利用者deploymentのupgradeではExecutableと既定資産だけを置換し、これらの利用者状態を上書きしてはならない。 - `sandbox.execution.entries`はAlias、Executable Logical Path、optional Runtime Rootを一つのrecordとして持つ。Shell分類はResolved file nameから内部で決定する。 - 起動時にschema、Applied Configuration、locale、Effective Sandbox Policyのvalidationを行う。 - Workspace/Mount ResolutionとExecutable identity/Approvalを分離保存せず、config別Applied Configuration Storeへ一つのsnapshotとして保存する。StoreはWindows user単位のuser-only領域に置き、Release Bundleへ含めない。 -- cgit v1.2.3