Settings.registry_cache_ttl_*).
Agents are seeded from code, not hand-registered
database/seeds/agent_manifests.py discovers every agents/*/*/agent.py
module and upserts a manifest from its own declarations (AGENT_ID,
ENTRYPOINT, category, display name) — make seed registers all 30+
agents in one idempotent pass. The registry API above is for runtime
inspection and tuning (enabling a provider, adjusting a feature flag), not
the primary way agents get added; see
Guides → Adding a new agent.
Prompts are versioned
Prompt rows carry a version number;GET .../prompts/{id}/versions/{version}
fetches a specific historical version. Prompt assignment supports
deterministic A/B testing per tenant.
Providers can be toggled without a deploy
POST /api/v1/registry/providers/{provider_id}/enabled flips a provider
on/off at runtime — useful for taking a misbehaving provider out of the
routing pool without a code change or restart, ahead of (or alongside) the
automatic circuit breaker.