Files
AirCoding/AirPlan/docs/architecture/adr/ADR-0007-use-toolregistry-permissionengine-and-capability-manifests.md
AirCoding 33a76a1ebc Move project from external drive to local NVMe
迁移路径: /run/media/airlongdian/EasyU/AirCoding -> /home/airlongdian/DataDevices/AirWorkSpace/AirCoding

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-02 09:51:49 +08:00

22 lines
998 B
Markdown
Executable File

# ADR-0007: Use ToolRegistry, PermissionEngine, And Capability Manifests
- Status: Accepted
- Date: 2026-05-27
## Context
AirCoding needs a growing tool surface across filesystem, shell, git, build, debug, GUI, network, memory, and future plugins. Tools must be extensible without bypassing safety boundaries.
## Decision
Use ToolRegistry for schema-validated tool execution, PermissionEngine for all side-effect decisions, and CapabilityRegistry for built-in/future tool bundles.
Capabilities declare dependencies and permissions. Doctor/setup detects and installs/fixes dependencies according to permission policy. Capability tools are not privileged above built-ins.
## Consequences
- All tool calls share lifecycle events, artifacts, errors, and evidence behavior.
- Plugin/capability extension is possible without opening a permission bypass.
- Doctor owns dependency installation rather than arbitrary plugin scripts.
- MVP tool names and schemas are frozen in `tool-registry-v1.md`.