aidokitwiki

Adapter capability declarations

Audience-Adapter Author Status-In flight v1.0 Spec-Adapter Contract

Per-adapter declaration of side effects: which shell commands the adapter invokes, which paths it writes outside its engine directory, which network hosts it contacts, and whether it relies on background processes. These declarations are the source of truth that the D4 capability verifier (aidokit verify --capabilities) compares against the emitted hook scripts.

Schema: see packages/core/src/schema.tsCapabilitiesSchema. Per-project projection: .aidokit/capabilities.json at Strict tier (see ADR-0017).

How these declarations are used #

  1. Authoritative source. Each adapter's manifest.capabilities field in its package's manifest.ts declares the surface area the adapter accepts responsibility for.
  2. Projected to disk at Strict tier. aidokit init --tier strict writes .aidokit/capabilities.json derived from the declared capabilities of every adapter in the project.
  3. Cross-checked at runtime. aidokit verify --capabilities scans the emitted hook scripts under .claude/scripts/** (etc.) and flags any command, path, or host that appears in the scripts but isn't declared in the manifest.
  4. Cited in audit packets. aidokit audit export references the declarations as evidence for SOC2 CC3.1 / CC5.2 / CC9.1 and EU AI Act Articles 9 / 15.

@aidokit/adapter-claude-code — Strict conformance #

Capability Declared
shellCommands claude mcp add, claude mcp remove
writesOutsideEngine CLAUDE.md, docs/, agent-artifacts/
networkEndpoints (none)
backgroundProcesses false

Why these:

@aidokit/adapter-codex — Minimum conformance #

Capability Declared
shellCommands (none)
writesOutsideEngine AGENTS.md, docs/, agent-artifacts/
networkEndpoints (none)
backgroundProcesses false

Why these:

@aidokit/adapter-copilot — Minimum conformance #

Capability Declared
shellCommands (none)
writesOutsideEngine .github/copilot-instructions.md, docs/, agent-artifacts/
networkEndpoints (none)
backgroundProcesses false

Why these:

How to verify #

# Local — checks the on-disk emitted hooks against the artifact.
aidokit verify --capabilities

# In CI — same machinery, exits non-zero on any drift.
aidokit manifest --verify-capabilities

Both commands surface drift such as:

Adding a capability #

When you make an adapter change that legitimately needs a new shell command, write path, or network host:

  1. Update manifest.capabilities in the adapter package's manifest.ts.
  2. Run pnpm -r build && aidokit sync --tier strict (in a Strict- tier dogfood project) to refresh .aidokit/capabilities.json.
  3. Run aidokit verify --capabilities to confirm the declaration matches the new behaviour.
  4. Update this page so the documented capability table stays in sync with the manifest.

See also #