Files
saltbo__agent-kanban/docs/adr/0003-resource-oriented-toolbox-api.md

1.2 KiB

0003: Publish a resource-oriented API through Realmroot Toolbox

Status: accepted

Context

Agents need a stable automation surface, but maintaining an AK-specific CLI or RPC-shaped endpoints would duplicate Realmroot Toolbox and couple clients to commands instead of product resources.

Decision

AK is a Realmroot Resource Server and publishes one OpenAPI document. Ordinary resources use Toolbox's generic verb-first operations. AK supplies resource-first command names only for Task lifecycle resources: claim, release, review, reject, complete, cancel, and bounded wait.

HTTP paths contain resource nouns. Known singleton lifecycle resources use PUT or DELETE. API-Version is optional and defaults to the current v2 contract. Expected v2 failures use RFC 9457 Problem Details and every response has a server-generated Request-Id. Toolbox generates creation idempotency keys for resources whose contract requires them and reuses a key across automatic retries.

Consequences

AK ships no CLI and does not create resource-first CRUD aliases. OpenAPI is the contract for schema, authorization scopes, discovery, and generated commands. New operations must first pass the resource and URI design gates.