Skip to the content.

Task 9 — Граница инструментов и policy engine

Phase: 1 Status: done Owner: — Slug: tool-boundary-policy

Goal

Локальные инструменты объявляют input/output схемы, side-effect level, required permission, timeout, retry, idempotency. ToolPolicy применяет allow/deny перед вызовом.

Acceptance criteria

Sub-tasks

Scope / Likely files

src/agent/Tools/, src/agent/Tools/Policy/

Dependencies

Risks / Rollback

Сложные правила сложно отлаживать; нужен policy dry-run режим.

Implementation notes

2026-08-12

Добавлено:

Tools/Policy/ToolPolicy.cs — типы для tool policy engine:

Tools/Policy/ToolPermissionSet.cs — permission management:

Tools/Policy/ToolPolicyEngine.cs — policy evaluation:

Config/AppConfig.cs — ToolPolicyConfig section:

Tools/ITool.cs — added IToolDescriptorProvider interface

Tools/ToolRegistry.cs — _policy?.Register(tool) after each tool registration

Agent/AgentCore.cs — policy check in RunWithToolsAsync:

Program.cs (CLI + WebAPI) — DI:

Tests — ToolPolicyEngineTests.cs: 18 tests covering all policy scenarios

Validation: