Skip to content

Bug: RAG retrieval feedback streams written but never consumed — data expires unused #2102

@mrveiss

Description

@mrveiss

Problem

RAGService._emit_retrieval_feedback() (#1516) writes retrieval events to Redis streams rag:feedback:{YYYY-MM-DD} with a 7-day TTL. Nothing in the codebase reads these streams. The data expires after 7 days without ever being consumed.

Evidence

Grep for rag:feedback shows only writes — no consumer exists:

  • Writer: autobot-backend/services/rag_service.py:346xadd to rag:feedback:{date_key}
  • Readers: None. events/stream_manager.py uses xrange but only for task event streams, not RAG feedback.
  • No background task, Celery worker, or consumer group reads rag:feedback:* streams.

Impact

Discovered During

Internal research audit of AutoBot's RAG feedback architecture

Options

  1. Remove the dead write — stop calling _emit_retrieval_feedback() until a consumer exists (eliminates wasted Redis ops)
  2. Extend TTL — increase from 7 days to 30+ days so the data survives until Neural Mesh Phase 3 (feat: EdgeLearner — Hebbian reinforcement from retrieval feedback (Neural Mesh RAG Phase 3) #2056) ships a consumer
  3. Build consumer now — addressed by Enhancement: Retrieval pattern distillation — close the RAG feedback loop #2095 (retrieval pattern distillation), but that's a larger effort

Recommendation

Option 2 (extend TTL to 30 days) as an immediate fix. The data is small per entry and valuable for Phase 3. Option 1 if storage is a concern.

Files Affected

  • autobot-backend/services/rag_service.py — the _emit_retrieval_feedback() method

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions