Skip to content

Documentation: mount tiny-harness agents onto an existing FastAPI or Starlette app ​

Capability docs ​

Capability docWhat changedHistory row
docs/capabilities/a2a-server.mdHarness and asgi_app(), the 503 gate, the exact mount check, routes built before start, the FastAPI router, public_url, RouteOptions, the participant resolver with strict mode, task and push ownership by queueissue-36
docs/capabilities/durable-execution.mdTemporalPool, one queue per agent, Claims, the agent id on activitiesissue-36
docs/capabilities/heartbeat.mdOne schedule per agent; the scan filtered to the agent's queueissue-36
docs/capabilities/configuration.md[agent] id; the queue defaults to it; the new exports and the fastapi extra; self at public_url; local peer cardsissue-36
docs/capabilities/observability.mdThe agent id on log lines and spans; the process secret registryissue-36
docs/capabilities/remote-agents.mdSame-process peers get a card built from their settingsissue-36
docs/architecture/architecture.mdSection "Agents in a host app" with a diagram(index, no history table)
docs/decisions/decision-009.mdNew decision: isolation by queue, refused shared stores, local peer cards, strict participant mode—

Documentation ​

DocumentWhat changed
docs/sdk/mount.md (new)SDK guide: Starlette quickstart, FastAPI, several agents, peers, your own login, options, errors
docs/configuration/agent.md (new)The [agent] id setting
docs/configuration/temporal.mdtask_queue defaults to the agent id; a shared database_path shares one embedded Temporal
docs/configuration/server.mdA path in base_url is the mount path
docs/configuration/index.md, docs/sdk/index.md, README.md, docs/.vitepress/config.mtsLinks to the new pages
docs/sdk/deploy.mdWho checks the user when agents are mounted; one agent id per namespace across processes
examples/multi_agent/README.md (new)Run the five-agent example with Starlette or FastAPI