Rick

Carousel — Job Submit / Execute / Result

API → queue → execution worker → compute → LVC → result publication.

Carousel — Job Submit / Execute / Result (v2026-08-02T101544Z-ab2bbdebf5) 2026-08-01 | API → queue → execution worker → compute → LVC → result publication. 1 - API REQUEST Client POST /api/carousel/pick carousel_api.py:pick_pair PickRequest select_provider() CarouselResult request payload 2 - EXECUTION carousel_execution.py:log_async ExecutionEvent _render_line_protocol() InfluxDB write 3 - RESULT PUBLICATION carousel_api.py:report_outcome ReportRequest record_success() record_error() 1. Client sends request to pick a pr… 2. API routes request to carousel_ap… 3. carousel_api.py selects provider… 4. Logs execution event to InfluxDB 5. Reports outcome back to client Request Payload { "tags": [], "kind": null, "include_key": false } Execution Event { "execution_id": "12345678", "model": "mixtral-8x7b-32k", "provider": "groq", "status": "success", "tokens_in": 100, "tokens_out": 50, "cost_usd": 0.0, "latency_ms": 200, "source": "internal" } The source does not show any direct interaction with a queue or external execution worker. The logging to InfluxDB is handled asynchronously. Legend actor = initiates work · process = code path · store = state on disk · bus = durable queue · dashed = separate process cyan = request flow · pink = state read/write · dashed green = pull / return path · red = refusal

Provenance

This drawing is generated, not drawn. It is rebuilt from the source files below, so when they change the picture changes — a diagram here cannot quietly describe a system that no longer works this way.

Owner
Rick
Slug
carousel-pipeline
Rendered
2026-08-02T101544Z
From commit
ab2bbdebf5
Watches
8 paths
  • daemon/src/carousel.py
  • daemon/src/carousel_api.py
  • daemon/src/carousel_compute.py
  • daemon/src/carousel_execution.py
  • daemon/src/carousel_jobs.py
  • daemon/src/carousel_lvc.py
  • daemon/src/carousel_router.py
  • daemon/src/carousel_routing_router.py