The backend seam
TheBackend ABC is the contract; the skeleton re-exports it as the registration
seam and ships the callback glue that chains a backend result back into the
runtime. Concrete worker backends — for example ones built on Celery, RQ, or arq —
are external plugins that implement the ABC and
register through tai42_app.backends.register_backend when the
manifest names the backend_module.
The backend runs as its own process:
backend_module requires the bus: set TAI_BUS_REDIS_URL
or the server refuses to start.
Three ways a tool runs off the request path
- Background — submit a tool run and poll its result, for a run that outlives one request. The background tool-runs HTTP surface loads as a router module.
- Scheduled — schedule a tool to run later or on a cadence. A schedule names
the
tool_name, itstool_kwargs, and the schedule parameters the backend’s scheduling tool consumes. - Distributed — the worker backend spreads runs across workers.
Routing a tool to a backend
A tool is routed to a backend with aBACKEND-kind
extension — the extension kind whose job is to
send a tool’s execution through a backend rather than running it inline. The tool’s
definition does not change; the extension decides where it runs.
A specific worker backend’s setup — its broker, queues, and concurrency — lives in
that backend package’s own repository, reachable from the
catalog. The platform documents the backend contract,
not any one engine.

