summaryrefslogtreecommitdiff
path: root/plans
diff options
context:
space:
mode:
authortanaka takashi <isazaka@gmail.com>2026-08-11 21:44:53 +0900
committertanaka takashi <isazaka@gmail.com>2026-08-11 21:44:53 +0900
commit6c3458a5ec37a5b69957ad17c84de58984698f25 (patch)
treebe5c5716e7488fcf1bc1a58de0ded0b9238f34cb /plans
parentb5ccecca01007f2a2459265df6d749fbfd31aa84 (diff)
Audit and align v1 runtime design
Diffstat (limited to 'plans')
-rw-r--r--plans/ImplementationPlan.md12
-rw-r--r--plans/RequirementTraceability.md130
-rw-r--r--plans/progress/Phase0.md2
-rw-r--r--plans/progress/Phase1.md2
-rw-r--r--plans/progress/Phase10.md2
-rw-r--r--plans/progress/Phase11.md2
-rw-r--r--plans/progress/Phase2.md2
-rw-r--r--plans/progress/Phase3.md2
-rw-r--r--plans/progress/Phase4.md2
-rw-r--r--plans/progress/Phase5.md4
-rw-r--r--plans/progress/Phase6.md2
-rw-r--r--plans/progress/Phase7.md2
-rw-r--r--plans/progress/Phase8.md2
-rw-r--r--plans/progress/Phase9.md2
14 files changed, 93 insertions, 75 deletions
diff --git a/plans/ImplementationPlan.md b/plans/ImplementationPlan.md
index 1c70178..f90b423 100644
--- a/plans/ImplementationPlan.md
+++ b/plans/ImplementationPlan.md
@@ -112,7 +112,7 @@
| 2 | MCP Public Interface | stdio、非同期Task受付、`agent_run/status` | G2 |
| 3 | Session / Ollama / Prompt | text会話、Session、token usage、Prompt優先順位 | G3 |
| 4 | Token Planner | TaskGraph、Token PERT/CPM、再計画 | G4 |
-| 5 | Internal Tool / Policy Boundary | 5 Internal Tool、ToolUseGuard、Policy Engine | G5 |
+| 5 | Internal Tool / Policy Boundary | Design.mdのTool catalog、ToolUseGuard、Policy Engine | G5 |
| 6 | Filesystem / Process Sandbox | AppContainer、ACL、Job、hash approval | G6 |
| 7 | Transaction / Recovery | ACL Resource Transaction、File rollback、Recovery Journal | G7 |
| 8 | Network Sandbox | WFP deny / host-port allow-list | G8 |
@@ -323,14 +323,14 @@ Planner deterministic test全PASS。
- AGT-01〜06
- OLL-10〜11
- SEC-INV-01〜02
-## 10.2 Internal Toolを5群に固定
+## 10.2 Internal Tool catalog
| Tool | Operation |
| --- | --- |
| `file_search` | glob / name / text / regex / tail |
| `file_read` | whole / range / metadata |
| `file_edit` | overwrite / patch / atomic_replace / delete |
| `process_run` | exe + args + cwd + timeout |
-| `task_update` | add / dependency / state / estimate |
+| `task_update` | add / dependency / estimate |
個々の `grep`、`find`、`tail` 等を独立Toolにしない。
## 10.3 実装対象
- JSON Schema
@@ -348,10 +348,10 @@ Planner deterministic test全PASS。
このPhaseの副作用backendはfake/in-memory実装を使用可能とし、Windows sandboxを迂回した本物の無制限file/process操作を実装してはならない。
## 10.5 必須テスト
- [ ] MCP ClientからInternal Toolが見えない
-- [ ] Ollamaには5群のみ公開
+- [ ] OllamaにはDesign.md 7章のcatalogだけを公開
- [ ] malformed tool args拒否
- [ ] Policy deny時に副作用なし
-- [ ] Policy denyは初回でfailedとなり、LLMへ再試行されない
+- [ ] Policy denyは同一Tool呼出しへ再投入せず、許可済み能力内の条件付き再計画を最大3回行い、同一deny・計画未変更・実行可能Taskなし・再計画失敗でfailedとなる
- [ ] external effect必須Taskでtool未使用ならcompletedにならない
- [ ] 同一失敗5回でfailed
- [ ] pure analysis TaskにはToolを強制しない
@@ -589,7 +589,7 @@ AT-01〜AT-20をすべて再実行する。
- [ ] non-loopback HTTPなし
- [ ] Fixed Prompt変更I/Fなし
- [ ] MCP/LLMによるPolicy変更I/Fなし
-- [ ] Internal Toolが5群から増えていない
+- [ ] Internal Tool catalogとschemaがDesign.md 7章と一致する
- [ ] AppContainer profileをTaskごとに作成していない
- [ ] WFPが汎用Firewall engine化していない
- [ ] Database/ORMなし
diff --git a/plans/RequirementTraceability.md b/plans/RequirementTraceability.md
index 9d6e93b..1983a6d 100644
--- a/plans/RequirementTraceability.md
+++ b/plans/RequirementTraceability.md
@@ -1,83 +1,77 @@
# Requirement Traceability
-`PASS` は2026-08-09のRelease buildおよび管理者権限の最終実行で、実行可能なtest/evidenceが確認できたことを示す。最終証跡は `artifacts/evidence/final-elevated/` に保存する。
+基準は`b5ccecc`を起点とする2026-08-11の現行working treeである。2026-08-09の結果は`plans/progress/`に履歴として保持するが、現行実装のPASS根拠には使用しない。
+
+状態は次の意味で使う。
+
+- `PASS`: 現行sourceに実装があり、現行working treeで対応testを再実行した。
+- `PARTIAL`: 実装または自動testは確認したが、Requirementの一部、実機強制、またはOperational E2Eが未確認。
+- `FAIL`: 現行実装がRequirementを満たさない証拠がある。
+- `NOT REVERIFIED`: 過去証跡はあるが、現行working treeでは必要な権限・環境で再実行していない。
+
+## Requirement mapping
+
+| Requirement | 主な実装 | Test / 現行証跡 | Status |
+|---|---|---|---|
+| OLL-01〜05 | `OllamaClient`, `OllamaSettingsFactory`, typed/extra options | `OllamaClientTests`, `ConfigurationTests` | PASS |
+| OLL-06〜09 | Task temperature、固定model/prompt、Vision capability | `PromptAndRuntimeTests`, `VisionTests` | PASS |
+| OLL-10〜13 | native Tool call、ToolUseGuard、retry、全phase token集計 | `InternalToolTests`, `PromptAndRuntimeTests`, `OllamaClientTests` | PASS |
+| AGT-01〜06 | `AgentRuntime`, `InternalToolDispatcher`, MCP公開境界 | completion/replan/iteration/catalog/MCP stdio tests | PASS |
+| PLN-01〜06 | `TaskGraph`, `PlannerService`, structural `task_update` | `Agent.Planner.Tests`, `InternalToolTests`, structured-plan retry tests | PASS |
+| SES-01〜04 | `SessionStore`, conversation/graph/result保持 | session/runtime tests | PASS |
+| SES-05〜06 | structured context要約、成功時のみcompact | summary success/failure runtime tests | PASS |
+| FS-01〜07 | `PathPolicy`, `TaskAclManager`, `WindowsToolBackend` | policy unit testsは現行sourceで実行対象。AppContainer/ACL実効果は管理者再検証待ち | PARTIAL |
+| PRC-01〜07 | `ExecutablePolicy`, `RestrictedProcessLauncher`, Job/child restriction | deterministic validationあり。実process/Jobは管理者再検証待ち | PARTIAL |
+| REC-01〜05 | Ollama retry、timeout、cancel後cleanup | Core cancel lifecycle tests。Windows Job停止は管理者再検証待ち | PARTIAL |
+| REC-06〜07 | `RecoveryManager`, journal、serve前Recovery | crash matrixおよび残留0は管理者再検証待ち | NOT REVERIFIED |
+| SEC-INV-01〜05 | deny-by-default、Policy非変更、path/hash/descendant制約 | Core境界はPASS、OS強制部分は管理者再検証待ち | PARTIAL |
+| SEC-INV-06〜08 | WFP allow/deny、credential非継承 | Windows Security/Operational E2E再検証待ち | NOT REVERIFIED |
+| SEC-INV-09 | Fixed Prompt precedence | prompt tests | PASS |
+| SEC-INV-10〜11 | cleanup、Recovery gate | Core cleanup lifecycleはPASS、OS resource残留0は再検証待ち | PARTIAL |
+| SEC-INV-12 | stdio stdout purity | MCP stdio integration | PASS |
+| NFR-01〜02 | default deny、決定的Policy/Graph/PERT | Core/Planner tests | PASS |
+| NFR-03 | journal recovery | elevated crash matrix再検証待ち | NOT REVERIFIED |
+| NFR-04〜06 | 公開MCP Tool 2個、依存管理、Windows限定設計 | MCP schema tests、build | PASS |
+| NFR-07 | Task/Tool/Process/Token/deny相関log | `ObservabilityTests`、Audit event実装 | PASS |
+| NFR-08〜09 | en/ja catalog、同一key検証、用語/設定索引 | locale/configuration tests、文書監査 | PASS |
## Acceptance Tests
-| ID | Implementation / evidence | Status |
+| ID | Current implementation / test | Status |
|---|---|---|
-| AT-01 | `McpStdioTests.InitializeListAndCallExposeOnlyTwoStrictTools` | PASS |
-| AT-02 | `McpHttpTests`、E2E-02 `127.0.0.1` / `::1` | PASS |
-| AT-03 | HTTP GET `/mcp`, `/sse`, `/message` assertions | PASS |
-| AT-04 | `TaskRegistryTests`, MCP stdio integration | PASS |
-| AT-05 | `OllamaClientTests.Chat_sends_expected_request_and_returns_usage` | PASS |
-| AT-06 | `Non_vision_model_rejects_images_with_selected_locale_message_before_chat` | PASS |
-| AT-07 | Windows backend実効果試験、E2E Audit | PASS |
-| AT-08 | junction / symlink chain escape試験 | PASS |
-| AT-09 | path/hash一致・不一致試験 | PASS |
-| AT-10 | AppContainer loopback actual traffic default deny | PASS |
-| AT-11 | exact host:port allowおよびwrong-port actual deny | PASS |
-| AT-12 | child-process restriction 4経路、Job timeout/orphan 0 | PASS |
-| AT-13 | ACL/WFP/loopback journal crash recovery試験 | PASS |
-| AT-14 | `TaskGraphTests.Cycle_is_rejected_without_mutating_graph` | PASS |
-| AT-15 | `TaskGraphTests.Completed_task_is_immutable` | PASS |
-| AT-16 | deterministic PERT/CPM tests | PASS |
-| AT-17 | runtime and graph usage accumulation tests | PASS |
-| AT-18 | en/ja locale、3経路の日本語Operational E2E | PASS |
-| AT-19 | `LocaleCatalogTests.AdditionalLocaleLoadsWithoutCodeChange` | PASS |
-| AT-20 | malformed/unknown locale tests | PASS |
+| AT-01 | MCP stdioの公開Tool 2個とstrict schema | PASS |
+| AT-02 | loopback Streamable HTTP integration | PASS |
+| AT-03 | GET/Legacy SSE拒否 | PASS |
+| AT-04 | Task lifecycle、永続Task store、cancel連携 | PASS |
+| AT-05 | Ollama request/usage unit test | PASS |
+| AT-06 | 非Vision modelのlocalized拒否 | PASS |
+| AT-07〜13 | Windows backend実効果、reparse、process、WFP、crash recovery | NOT REVERIFIED |
+| AT-14〜17 | cycle、immutable、PERT/CPM、token集計 | PASS |
+| AT-18〜20 | en/ja、追加locale、malformed/unknown locale | PASS |
## Security Tests
-| ID | Implementation / evidence | Status |
+| ID | Current implementation / test | Status |
|---|---|---|
-| ST-01 | E2E `file_read`実行、capability試験 | PASS |
-| ST-02 | outside-root deny、副作用なし | PASS |
-| ST-03 | backend `file_edit`実効果、ACL復旧 | PASS |
-| ST-04 | delete capability独立試験 | PASS |
-| ST-05 | junction escape拒否 | PASS |
-| ST-06 | two-link symlink chain escape拒否 | PASS |
-| ST-07 | approved canonical path/hash process成功 | PASS |
-| ST-08 | hash mismatch拒否 | PASS |
-| ST-09 | shell disabled拒否 | PASS |
-| ST-10 | `Start-Process`、Process API、shell、rename/copyの4経路をOS child restrictionで拒否、marker/PIDなし、Audit deny | PASS |
-| ST-11 | Job timeout後PID不存在、Operational E2E orphan 0 | PASS |
-| ST-12 | AppContainer actual loopback default deny | PASS |
-| ST-13 | IPv4/IPv6 filter生成、IPv4 exact allow actual traffic | PASS |
-| ST-14 | actual wrong-port deny | PASS |
-| ST-15 | public MCP exposes only two strict tools | PASS |
-| ST-16 | strict tool schema、path policy deny時backend call 0 | PASS |
-| ST-17 | applied ACL journalのcrash recovery、descriptor一致 | PASS |
-| ST-18 | dynamic WFP engine close+loopback exemption journal recovery、残留0 | PASS |
-| ST-19 | malformed locale fatal tests | PASS |
-| ST-20 | non-loopback bind rejection test | PASS |
+| ST-01〜09 | capability/path/reparse/hash/shellの決定的検査あり。ACL/AppContainer実効果は再検証待ち | PARTIAL |
+| ST-10〜14 | child restriction、Job timeout、WFP actual traffic | NOT REVERIFIED |
+| ST-15〜16 | MCP非公開境界、Internal Tool name/schema/Policy境界 | PASS |
+| ST-17〜18 | ACL/WFP/loopback crash recovery | NOT REVERIFIED |
+| ST-19〜20 | malformed locale fatal、non-loopback bind拒否 | PASS |
-## Operational / Release
+Internal Tool testは件数を仕様としてassertしない。`Design.md`のTool catalogに記載された`file_search / file_read / file_edit / process_run / task_update / dir`の名前、schema、Policy境界、MCP非公開性を検査する。
-| Requirement | Evidence | Status |
-|---|---|---|
-| Release build | Release build warning 0/error 0 | PASS |
-| Unit/integration | Planner 10/10, Core 47/47, skip 0 | PASS |
-| win-x64 self-contained Bundle | publish directory, ZIP, manifest, checksum | PASS |
-| Bundle-only elevated startup | `bundle-check.log`: administrator/BFE/WFP probe PASS | PASS |
-| E2E-01 stdio | `e2e-01-stdio.log`: local Ollama、read/edit/build/test、日本語、Audit、cleanup | PASS |
-| E2E-02 HTTP (`127.0.0.1`, `::1`) | `e2e-02-http-ipv4.log` / `e2e-02-http-ipv6.log` | PASS |
-| clean resource state | process/ACL/WFP/loopback/temp/journal/backup残留0 | PASS |
-| README-only fresh setup | ZIP fresh extraction、source参照0、README手順による最終runner | PASS |
-
-## MCP 2026-07-28 Migration
+## Current verification record
-| Requirement | Implementation / evidence | Status |
+| Verification | Date / privilege | Result |
|---|---|---|
-| SDK 2.0.0 / stateless discover | `Directory.Packages.props`, `McpHost`, official `server-stateless` evidence | PASS (28/28 core checks, unexpected failure 0) |
-| GET/DELETE 405、Legacy SSE無効、Session IDなし | `McpHttpTests` | PASS |
-| stdio / strict two Tool compatibility | test-only `Agent.Mcp.TestHost`, `McpStdioTests` | PASS |
-| official Tasks negotiation/lifecycle | `WithTasks`, `PersistentMcpTaskStore`, `McpHttpTests`, conformance Tasks evidence | PARTIAL: lifecycle/cancel/error/required-task PASS; MRTR fixture composition remains incompatible with alpha.11 |
-| Task persistence/restart/TTL | `PersistentMcpTaskStoreTests` | PASS |
-| CLI preflight / ready | `Program`, `McpHostLogObserver`, locale catalog | PASS (elevated live run required for final Gate) |
-| HTTP request log/redaction | `McpHostLogObserver`, `ObservabilityTests` | PASS |
-| conformance acquisition/offline runner | `Acquire-McpConformance.ps1`, `Run-McpConformance.ps1`, `Run-McpTasksConformance.ps1` | PASS |
-
-`0.2.0-alpha.11`のTasks extension scenarioはrelease requirementに含まれずinformationalとして実行され、正しい`CreateTaskResult`を通常`CallToolResult` schemaで検査する`wire-schema-valid`既知制約がある。これは`runner_limitations`へ分離し、application failureとは数えない。MRTR input/composition scenarioはSDK 2.0.0との組み合わせで未達のため、Tasks Extension GateはPASS扱いにしない。
+| Agent.Core.Tests | 2026-08-11 / non-elevated / Release | 78 PASS、0 FAIL、0 skip |
+| Agent.Planner.Tests | 2026-08-11 / non-elevated | 10 PASS、0 FAIL、0 skip |
+| Release build | 2026-08-11 / non-elevated | warning 0、error 0 |
+| Agent.Windows.Tests | 2026-08-11 / elevation request経由だがWindows tokenは非管理者 | 22 PASS、19 FAIL、0 skip。19件はWFP/loopback Win32 error 5またはsymlink privilege不足で、管理者再検証が必要 |
+| win-x64 self-contained Bundle | 2026-08-11 / runtime check省略 | publish/ZIP/checksum生成PASS。`agent.local.yaml`とlocal example非同梱。SHA-256 `2cdf2ef6e38d740ef87a489eb27f883c1e9be9ec9d06dbabf5895f1ddfc61c63` |
+| Task Resource repository state | 2026-08-11 | `state/journals`, `state/backups`, `state/mcp-tasks`はいずれも不存在 |
+| Elevated Security/Recovery/E2E/Bundle runtime check | current working tree / administrator | NOT REVERIFIED |
+| MCP Tasks conformance | current working tree | NOT REVERIFIED。runner制約をapplication failureから分離し、未達をPASSにしない |
-公式core runnerの個別結果では`server-stateless` 28/28、DNS rebinding、multiple POST streamがPASSした。一方、test-only conformance hostのfixture不足またはscenario間のcapability競合により、`tools-list`(description)、`json-schema-2020-12`(診断Tool)、`caching`(Prompt/Resource/Template)、`http-header-validation`(Tasks必須ToolをTasks非対応clientが呼ぶ組合せ)は未達である。production hostのexpected-failureとして隠さず、conformance総合GateはPARTIALのままとする。
+完了Gateは`Specifications.md` 20章に従う。管理者環境の再検証が終わるまで、Release全体をPASSとはしない。
diff --git a/plans/progress/Phase0.md b/plans/progress/Phase0.md
index d648dd1..45b2ee9 100644
--- a/plans/progress/Phase0.md
+++ b/plans/progress/Phase0.md
@@ -1,5 +1,7 @@
# Phase 0 Completion Report
+> Historical evidence: この記録は作成当時のcommitに対する結果であり、現行commitの再監査結果ではない。
+
## 実施内容
- Specifications、Design、ImplementationPlanの優先順位に従い、単一Task実行、option競合、実装上限、Release/E2E要件を整合した。
diff --git a/plans/progress/Phase1.md b/plans/progress/Phase1.md
index da58a47..1f96068 100644
--- a/plans/progress/Phase1.md
+++ b/plans/progress/Phase1.md
@@ -1,5 +1,7 @@
# Phase 1 Progress
+> Historical evidence: この記録は作成当時のcommitに対する結果であり、現行commitの再監査結果ではない。
+
- 実装: strict typed YAML、起動時validation、en/ja localeとfallback、embedded Fixed Prompt、限定CLI、rolling/Application/LLM/Audit log基盤。
- 自動検証: configuration、locale、fixed promptのCore testsがPASS。
- Dependency差分: 承認済みYamlDotNet、Hostingのみ。追加なし。
diff --git a/plans/progress/Phase10.md b/plans/progress/Phase10.md
index de3b81b..970b48e 100644
--- a/plans/progress/Phase10.md
+++ b/plans/progress/Phase10.md
@@ -1,5 +1,7 @@
# Phase 10 Progress
+> Historical evidence: この記録は作成当時のcommitに対する結果であり、現行commitの再監査結果ではない。
+
- 実装: Application/LLM/Audit log、user-only log DACL、Task ID audit、locale message基盤。
- 現在の走査: Security TODO/FIXME 0、test skip 0。
- 最終管理者run: Core 42/42、Planner 10/10、Windows Security/Recovery 25/25、skip 0。Requirement TraceabilityのST-01~20 / AT-01~20を全PASSへ更新した。
diff --git a/plans/progress/Phase11.md b/plans/progress/Phase11.md
index c03a473..09b7944 100644
--- a/plans/progress/Phase11.md
+++ b/plans/progress/Phase11.md
@@ -1,5 +1,7 @@
# Phase 11 Progress
+> Historical evidence: この記録は作成当時のcommitに対する結果であり、現行commitの再監査結果ではない。
+
- 生成済み: win-x64 self-contained directory/ZIP、required files、356-entry SHA-256 manifest、ZIP checksum。
- fresh temporary extraction、source-tree reference scan、管理者Bundle-only `check`(BFE/WFP add/delete probe)PASS。
- local OllamaによるE2E-01 stdio、E2E-02 HTTP `127.0.0.1` / `::1` が全PASS。実file read/edit、broker process、in-process build、独立self-test、日本語応答、Task ID Auditを確認した。
diff --git a/plans/progress/Phase2.md b/plans/progress/Phase2.md
index b97c15b..722457e 100644
--- a/plans/progress/Phase2.md
+++ b/plans/progress/Phase2.md
@@ -1,5 +1,7 @@
# Phase 2 Progress
+> Historical evidence: この記録は作成当時のcommitに対する結果であり、現行commitの再監査結果ではない。
+
- 実装: stdio、公開Toolを `agent_run` / `agent_status` の2つに限定、strict schema、UUID、非同期queue、global single-reader worker、stdout purity。
- 自動検証: stdio SDK integrationを含む最終Core 42/42 PASS、skip 0。
- Gate G2: PASS(Release Bundle E2EはPhase 11で判定)。
diff --git a/plans/progress/Phase3.md b/plans/progress/Phase3.md
index 1a0cf26..24b6ffa 100644
--- a/plans/progress/Phase3.md
+++ b/plans/progress/Phase3.md
@@ -1,5 +1,7 @@
# Phase 3 Progress
+> Historical evidence: この記録は作成当時のcommitに対する結果であり、現行commitの再監査結果ではない。
+
- 実装: Ollama Chat API、native tool call、session、prompt order、token usage、Task temperature、250/500/1000 ms retry、typed option優先。
- 実測: Ollama 0.32.6、local Gemma modelでtext `LOCAL_OK`、native tool call、Vision `VISION_OK` を確認。cloudはRelease Gate外。
- Gate G3: PASS。offline Operational E2EはG11で再検証する。
diff --git a/plans/progress/Phase4.md b/plans/progress/Phase4.md
index cb45fc0..e142932 100644
--- a/plans/progress/Phase4.md
+++ b/plans/progress/Phase4.md
@@ -1,5 +1,7 @@
# Phase 4 Progress
+> Historical evidence: この記録は作成当時のcommitに対する結果であり、現行commitの再監査結果ではない。
+
- 実装: TaskGraph、DAG rollback、32件default、completed immutable、Token Budget、PERT/CPM、usage累積。
- 統合: `task_update` を実TaskGraphへ接続し、計画更新を外部効果証拠から除外。
- 自動検証: Planner 10/10 PASS、Core TaskGraph tool test PASS、skip 0。
diff --git a/plans/progress/Phase5.md b/plans/progress/Phase5.md
index 2915584..8115369 100644
--- a/plans/progress/Phase5.md
+++ b/plans/progress/Phase5.md
@@ -1,6 +1,8 @@
# Phase 5 Progress
-- 実装: Internal Tool 5群、strict schema/validator、deny-by-default dispatcher、ToolUseGuard、同一失敗5回、外部効果証拠。
+> Historical evidence: この記録は作成当時のcommitに対する結果であり、現行commitの再監査結果ではない。
+
+- 実装: 当時のDesign.mdに記載されたInternal Tool catalog、strict schema/validator、deny-by-default dispatcher、ToolUseGuard、同一失敗5回、外部効果証拠。
- Phase 5 backendはfake、Phase 6以降はWindows backendへ差し替え。
- 自動検証: malformed/unknown field、policy deny、effect evidence、failure limitを確認。
- Gate G5: PASS。
diff --git a/plans/progress/Phase6.md b/plans/progress/Phase6.md
index ff9a6d0..fdfd175 100644
--- a/plans/progress/Phase6.md
+++ b/plans/progress/Phase6.md
@@ -1,5 +1,7 @@
# Phase 6 Progress
+> Historical evidence: この記録は作成当時のcommitに対する結果であり、現行commitの再監査結果ではない。
+
- 実装: fixed AppContainer、canonical/reparse policy、能力別ACL、path+SHA-256、Job Object、`PROCESS_CREATION_CHILD_PROCESS_RESTRICTED`、Broker launch。
- 実測: approved PowerShellからの `Start-Process`、Process API、shell、rename/copyの4経路を試し、全unbrokered childをOS restrictionで拒否した。markerなし、Job process不変、非zero親結果、Audit `policy.deny`を確認した。
- symlink chain/junction、path/hash、shell toggle、Job timeoutおよびbroker crash後orphan 0を管理者環境で確認した。
diff --git a/plans/progress/Phase7.md b/plans/progress/Phase7.md
index 45d2518..9a686ed 100644
--- a/plans/progress/Phase7.md
+++ b/plans/progress/Phase7.md
@@ -1,5 +1,7 @@
# Phase 7 Progress
+> Historical evidence: この記録は作成当時のcommitに対する結果であり、現行commitの再監査結果ではない。
+
- 実装: durable Task Resource Journal、atomic file replace/delete、inline/large backup、hash guard、reverse recovery、ACL/WFP recovery。
- 自動検証: commit/rollback、外部変更時rollback拒否、起動Recovery、journal/backup cleanupを確認。
- 独立processをFailFastするcrash matrixでACL適用前後、file replace前後、process起動後、cleanup途中、WFP適用後を検証した。次回Recovery後にfile/ACL/backup/temp/journal/loopback exemption残留0、broker crash後orphan 0。
diff --git a/plans/progress/Phase8.md b/plans/progress/Phase8.md
index 6bb0921..4ff2ed6 100644
--- a/plans/progress/Phase8.md
+++ b/plans/progress/Phase8.md
@@ -1,5 +1,7 @@
# Phase 8 Progress
+> Historical evidence: この記録は作成当時のcommitに対する結果であり、現行commitの再監査結果ではない。
+
- 実装: dynamic WFP session/transaction、AppContainer SID条件、IPv4/IPv6 permit/default-block、hard permit、DNS snapshot、Task中だけのloopback exemption、explicit cleanup、Recovery、`agent-mcp check`。
- 実測: 非管理者はengine open成功後transaction error 5。管理者実測ではfilter add/delete testがPASS。サービス/helper/恒久ruleなし。
- AppContainer curlのactual trafficでloopback default deny、exact IPv4:port allow、wrong-port denyを確認。dynamic engine crashとloopback journal Recovery後の残留0も確認した。
diff --git a/plans/progress/Phase9.md b/plans/progress/Phase9.md
index ea229be..4a71c6e 100644
--- a/plans/progress/Phase9.md
+++ b/plans/progress/Phase9.md
@@ -1,5 +1,7 @@
# Phase 9 Progress
+> Historical evidence: この記録は作成当時のcommitに対する結果であり、現行commitの再監査結果ではない。
+
- 実装: Vision count/per-image/total validation、Ollama capability check、loopback-only Streamable HTTP、Origin検査、GET/Legacy SSE拒否。
- 自動検証: 127.0.0.1 SDK integration、non-loopback bind拒否、hostile Origin拒否。
- 最終検証: `127.0.0.1` / `::1` Operational E2E PASS、localized non-Vision rejectionをOllama call前に確認。