Flo

DynaRAG Lifecycle

A subsystem watcher ingests metrics into a per-topic buffer, an evaluator raises alerts, and the topic advertises itself to Flo.

DynaRAG Lifecycle (v2026-08-22T175604Z-b502e8bc6d) 2026-08-22 | A subsystem watcher ingests metrics into a per-topic buffer, an evaluator raises alerts, and the topic advertises itself to Flo. 1 - DynaRAG Manager - Manages DynaRAG instances DynaRAGManager daemon/src/dynarags/manager.py init() create() register_config() DynaRAG daemon/src/dynarags/manager.py ingest_metric() add_insight() to_dict() ClickHouseClient daemon/src/dynarags/manager.py insert_metric() insert_insight() DynaRAGConfig DynaRAGStatus 2 - Subsystem Watch - Monitors subsystems process_ops_watch_loop daemon/src/subsystem_watch.py process_ops_watch_loop() scan() ingest() holon_queue_watch_loop daemon/src/subsystem_watch.py holon_queue_watch_loop() subscribe() ingest() fabric_pricing_watch_loop daemon/src/subsystem_watch.py fabric_pricing_watch_loop() fabric_pricing_rows() publish() process data queue data 3 - Alert Evaluation - Raises alerts AlertEvaluator daemon/src/subsystem_watch.py evaluate_metrics() publish_alert_to_mqtt() publish_alert_to_bus() MQTTClient daemon/src/subsystem_watch.py publish() event_bus daemon/src/event_bus.py publish() alert data MQTT message 1. Initialize DynaRAGManager 2. Register DynaRAG config 3. Create DynaRAG instance 4. Ingest metrics into DynaRAG 5. Evaluate metrics for alerts 6. Publish alerts via MQTT DynaRAGConfig JSON { "topic": "example_topic", "title": "Example Title", "focus": "Example Focus", "retention_hours": 24, "clickhouse_enabled": true } MQTT Alert Message { "id": "rule_id-1672531200000", "severity": "critical", "service": "example_service", "domain": "example_domain", "message": "Example alert message", "source": "AlertEvaluator", "ts": 1672531200.0 } The subsystem does not explicitly show a separate process for ingesting metrics into ClickHouse, but it is implied by the DynaRAG class methods. 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 As of 2026-08-22 22:15 UTC, from commit d94c202

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
Flo
Slug
dynarag-lifecycle
Rendered
2026-08-22T175604Z
From commit
b502e8bc6d
Updated
22 Aug 2026, 22:15 UTC
Sources at
d94c202
Watches
2 paths
  • daemon/src/dynarags/manager.py
  • daemon/src/subsystem_watch.py