trustgraph/trustgraph-base/trustgraph/base
cybermaggedon c20e6540ec
Subscriber resilience and RabbitMQ fixes (#765)
Subscriber resilience: recreate consumer after connection failure

- Move consumer creation from Subscriber.start() into the run() loop,
  matching the pattern used by Consumer. If the connection drops and the
  consumer is closed in the finally block, the loop now recreates it on
  the next iteration instead of spinning forever on a None consumer.

Consumer thread safety:
- Dedicated ThreadPoolExecutor per consumer so all pika operations
  (create, receive, acknowledge, negative_acknowledge) run on the
  same thread — pika BlockingConnection is not thread-safe
- Applies to both Consumer and Subscriber classes

Config handler type audit — fix four mismatched type registrations:
- librarian: was ["librarian"] (non-existent type), now ["flow",
  "active-flow"] (matches config["flow"] that the handler reads)
- cores/service: was ["kg-core"], now ["flow"] (reads
  config["flow"])
- metering/counter: was ["token-costs"], now ["token-cost"]
  (singular)
- agent/mcp_tool: was ["mcp-tool"], now ["mcp"] (reads
  config["mcp"])

Update tests
2026-04-07 14:51:14 +01:00
..
__init__.py RabbitMQ pub/sub backend with topic exchange architecture (#752) 2026-04-02 12:47:16 +01:00
agent_client.py Add multi-pattern orchestrator with plan-then-execute and supervisor (#739) 2026-03-31 00:32:49 +01:00
agent_service.py Add multi-pattern orchestrator with plan-then-execute and supervisor (#739) 2026-03-31 00:32:49 +01:00
async_processor.py Subscriber resilience and RabbitMQ fixes (#765) 2026-04-07 14:51:14 +01:00
backend.py Messaging fabric plugins (#592) 2025-12-17 21:40:43 +00:00
cassandra_config.py Basic multitenant support (#583) 2025-12-05 21:45:30 +00:00
chunking_service.py RabbitMQ pub/sub backend with topic exchange architecture (#752) 2026-04-02 12:47:16 +01:00
collection_config_handler.py Address legacy issues in storage management (#595) 2026-01-05 13:45:14 +00:00
consumer.py Subscriber resilience and RabbitMQ fixes (#765) 2026-04-07 14:51:14 +01:00
consumer_spec.py Messaging fabric plugins (#592) 2025-12-17 21:40:43 +00:00
document_embeddings_client.py Embeddings API scores (#671) 2026-03-09 10:53:44 +00:00
document_embeddings_query_service.py Fix ontology RAG pipeline + add query concurrency (#691) 2026-03-12 11:34:42 +00:00
document_embeddings_store_service.py Implement logging strategy (#444) 2025-07-30 23:18:38 +01:00
dynamic_tool_service.py Tool services - dynamically pluggable tool implementations for agent frameworks (#658) 2026-03-04 14:51:32 +00:00
embeddings_client.py Batch embeddings (#668) 2026-03-08 18:36:54 +00:00
embeddings_service.py Batch embeddings (#668) 2026-03-08 18:36:54 +00:00
flow.py Complete remaining parameter work (#530) 2025-09-24 13:58:34 +01:00
flow_processor.py Config push notify pattern: replace stateful pub/sub with signal+ fetch (#760) 2026-04-06 16:57:27 +01:00
graph_embeddings_client.py Embeddings API scores (#671) 2026-03-09 10:53:44 +00:00
graph_embeddings_query_service.py Fix ontology RAG pipeline + add query concurrency (#691) 2026-03-12 11:34:42 +00:00
graph_embeddings_store_service.py Implement logging strategy (#444) 2025-07-30 23:18:38 +01:00
graph_rag_client.py Split Analysis into Analysis+ToolUse and Observation, add message_id (#747) 2026-03-31 17:51:22 +01:00
librarian_client.py RabbitMQ pub/sub backend with topic exchange architecture (#752) 2026-04-02 12:47:16 +01:00
llm_service.py Feature/streaming llm phase 1 (#566) 2025-11-26 09:59:10 +00:00
logging.py Add service ID to log entry instead of module name (#588) 2025-12-10 11:07:43 +00:00
metrics.py Feature/flow management cli (#346) 2025-04-24 18:57:33 +01:00
parameter_spec.py Complete remaining parameter work (#530) 2025-09-24 13:58:34 +01:00
producer.py Messaging fabric plugins (#592) 2025-12-17 21:40:43 +00:00
producer_spec.py Messaging fabric plugins (#592) 2025-12-17 21:40:43 +00:00
prompt_client.py Remove unnecessary prompt-client logging (#740) 2026-03-31 09:12:33 +01:00
publisher.py Messaging fabric plugins (#592) 2025-12-17 21:40:43 +00:00
pubsub.py RabbitMQ pub/sub backend with topic exchange architecture (#752) 2026-04-02 12:47:16 +01:00
pulsar_backend.py RabbitMQ pub/sub backend with topic exchange architecture (#752) 2026-04-02 12:47:16 +01:00
rabbitmq_backend.py Fix agent config handler registration, remove debug prints, disable RabbitMQ heartbeats (#764) 2026-04-07 12:11:12 +01:00
request_response_spec.py Messaging fabric plugins (#592) 2025-12-17 21:40:43 +00:00
row_embeddings_query_client.py Embeddings API scores (#671) 2026-03-09 10:53:44 +00:00
serialization.py RabbitMQ pub/sub backend with topic exchange architecture (#752) 2026-04-02 12:47:16 +01:00
spec.py Feature/configure flows (#345) 2025-04-22 20:21:38 +01:00
structured_query_client.py Extend use of user + collection fields (#503) 2025-09-08 18:28:38 +01:00
subscriber.py Subscriber resilience and RabbitMQ fixes (#765) 2026-04-07 14:51:14 +01:00
subscriber_spec.py Messaging fabric plugins (#592) 2025-12-17 21:40:43 +00:00
text_completion_client.py Feature/streaming llm phase 1 (#566) 2025-11-26 09:59:10 +00:00
tool_client.py Feature/react call mcp (#428) 2025-07-08 16:19:19 +01:00
tool_service.py Implement logging strategy (#444) 2025-07-30 23:18:38 +01:00
tool_service_client.py Tool services - dynamically pluggable tool implementations for agent frameworks (#658) 2026-03-04 14:51:32 +00:00
triples_client.py Enhance retrieval pipelines: 4-stage GraphRAG, DocRAG grounding (#697) 2026-03-16 12:12:13 +00:00
triples_query_service.py Minor agent tweaks (#692) 2026-03-12 17:59:02 +00:00
triples_store_service.py Implement logging strategy (#444) 2025-07-30 23:18:38 +01:00