Workers overview
Every backend worker that runs alongside the app's containerized cloud runtime: what it does, what fires it, what state it touches. Roughly 25 deployed workers in the fleet, split across six functional categories.
The worker map
Every deployed worker, one row each.
| Worker | Triggers | Workflow / DO | Primary purpose |
|---|---|---|---|
| ultron-shell | fetch, queue | UltronShell DO, RunGoalWorkflow | Fronts an isolated per-conversation sandbox on managed Kubernetes, running the agent CLI. Snapshot + restore keep sessions durable. |
| ultron-agent-runtime | fetch, cron (1 min) | AgentInstance DO | Per-agent state and inference loop. Backs the agent builder. |
| ultron-capture | fetch, cron (5 min) | CaptureWorkflow | Website capture and clone. Browser-rendered into a structured asset. |
| discovery | fetch, cron (hourly) | DiscoveryAggregatorWorkflow | Pulls signals from many surfaces into the unified discovery feed. |
| milestones | fetch, cron | MilestonesWorkflow | Per-workspace milestone progress checks on a schedule. |
| watcher | fetch, cron | WatcherWorkflow | Competitor watcher. Snapshot, diff, alert. |
| aeo | fetch | AEOTrackerWorkflow | AI Engine Optimization tracker. Brand mentions in LLM answers. |
| orchestrator | fetch | ScraperOrchestrator, PollerWorkflow | Master coordinator for scraper runs and result polling. |
| extension-gateway | fetch | UserExtensionDO | Browser-extension gateway. Per-user state, message routing. |
| render | fetch | - | Server-side rendering surface for canvases and previews. |
| ultron-render | fetch | - | Carousel rendering pipeline. Vector + raster output. |
| ultron-render-preview | fetch | - | Pre-publish renders for the carousel preview UI. |
| ultron-cron | cron, fetch | - | Master cron firer. Calls back to the app on schedule. |
| ultron-cron-scheduler | cron, fetch | - | Schedule-aware fan-out. Reads schedule definitions and dispatches. |
| ultron-publish | cron (1 min) | - | Content publishing worker. Cross-channel posting from the queue. |
| ultron-fundraising | fetch | - | Fundraising research + outreach pipeline. |
| ultron-widget | static | - | Embeddable widget host. Public chat surfaces. |
| scrape | fetch | - | Generic scrape executor. Powers watcher and discovery requests. |
| scraper-webhook | fetch | - | Receives terminal-status webhooks from scraper runs. Routes datasets. |
| search | fetch | - | Search execution surface (web + brain). |
| edge-auth | fetch | - | Edge authentication and token mint. |
| dashboard | fetch | - | Dashboard backend surface for read-heavy panels. |
| observability-ingest | fetch | - | Log and metric ingest. Routes into analytics datasets. |
| tiktok-sign | fetch | - | Stateless TikTok URL signer. Helper for scrape calls. |
| kimi-anthropic-shim | fetch | - | Translates between two different inference API request shapes. |
| kimi-bridge | fetch | - | Successor to the shim. New routing rules and headers. |
Six categories
Workers grouped by what they do.
| Category | Workers |
|---|---|
| Runtime | ultron-shell, ultron-agent-runtime, extension-gateway |
| Intelligence + research | discovery, aeo, watcher, milestones, ultron-fundraising |
| Scraping fabric | orchestrator, scrape, scraper-webhook, search |
| Capture + clone | ultron-capture |
| Content + publishing | ultron-publish, ultron-render, ultron-render-preview, ultron-widget, render |
| Plumbing | ultron-cron, ultron-cron-scheduler, edge-auth, dashboard, observability-ingest, tiktok-sign, kimi-anthropic-shim, kimi-bridge |
What triggers them
HTTP, cron, queue, or webhook.
| Trigger | Examples |
|---|---|
| HTTP fetch from the app | All workers expose at least one HTTP endpoint. Most calls come from the chat-v2 route in the app. |
| Cron schedules | ultron-cron (master), ultron-cron-scheduler (dispatch), discovery (hourly), ultron-capture (5 min), ultron-agent-runtime (1 min), ultron-publish (1 min), watcher (saved cadence per brand). |
| Queue consumer | ultron-shell drains its own ultron-shell-runs queue. Job records carry session id and payload. |
| Inbound webhook | scraper-webhook receives terminal-status webhooks from the scraper platform. Routes the dataset to the right workspace. |
| Workflow step (cross-worker) | discovery triggers WatcherWorkflow, AEOTrackerWorkflow indirectly via DB events. |
Where they keep state
| Surface | What lives there | Used by |
|---|---|---|
| Postgres (Supabase) | Canonical app state. Users, conversations, leads, deals, brain. | The app, plus edge workers via service-role HTTP. |
| D1 (per-worker) | Worker-local relational state. ultron-operations (aeo, discovery, watcher, milestones), ultron-scrapes, ultron-capture, ultron-publish-db, ultron-agent-builder-db. | Each worker owns its D1. No cross-worker D1 access. |
| R2 buckets | Binary assets. ultron-shell-snapshots, ultron-capture-assets, ultron-publish-assets, ultron-agent-builder-assets, ultron-design-assets, ultron-shell-events. | Per-worker bucket; downstream workers read via signed URLs. |
| KV | Small shared config (SHARED_CONFIG namespace). | discovery, aeo, watcher, milestones. |
| Vectorize | Embedding indices. carousel-briefs for exemplars. Per-agent agent-rag-<id> created on demand. | Marketing swarm; agent runtime. |
| Durable Object storage | Per-DO SQLite. AgentInstance (conversation + tool state), UserExtensionDO (per-user extension state). Live sandbox/session state itself lives on the managed-Kubernetes sandbox layer, durable via git. | Two workers. |
| Queue | ultron-shell-runs (producer + consumer in same worker). | ultron-shell. |
| Analytics datasets | ultron_events dataset (analytics engine). | Most workers write events here. |
Observability
How to see what a worker is doing.
Every worker enables platform observability (logs + traces). Logs are persisted, queryable from the platform dashboard, and each worker writes structured events to the ultron_events analytics dataset for cross-worker aggregation. The observability-ingest worker centralises ingestion when a worker cannot write directly (e.g. the static widget surfaces and the extension gateway need a public ingest endpoint).
For long-running work, workflow-backed workers (aeo, capture, discovery, milestones, watcher, orchestrator, shell) checkpoint every step. A worker restart resumes from the last successful step rather than restarting from scratch.