Skip to main content

Unfinished, Mock, and Stub Functions

Auto-generated from code review #5 (2026-03-12). Each item links to the source file and describes what remains to be implemented.

High Priority (Blocking Features)

1. RAG Pipeline — get_relevant_context() is a stub

  • File: syntropy_journals/app/functions/llm/retrieval/scored_retriever.py:17-40
  • Current: Returns empty string "" — docstring says “simplified stub”
  • Needed: Wire up Milvus/Zilliz vector search so Shrine AI chat can retrieve relevant documents
  • Complexity: Medium
  • Depends on: VectorDB service configuration, embedding pipeline

2. Graphiti Episodic Memory — before_model() / after_model() are stubs

  • File: syntropy_journals/app/functions/llm/middleware/graphiti.py:54-68
  • Current: Both return None
  • Needed: Query Graphiti MCP for episodic memory context before LLM call; persist message pairs after
  • Complexity: High (requires MCP integration)
  • Depends on: Graphiti MCP server deployment

3. Diet Personalization — hardcoded USDA baselines

  • File: syntropy_journals/app/functions/diet/ideal_diet.py:6
  • Current: Uses hardcoded RDA values; ignores goals and conditions parameters (noqa: ARG001)
  • Needed: Implement Mifflin-St Jeor equation, factor in user goals and medical conditions
  • Complexity: Medium
  • Related: profiler.py:22,62-63,76 falls back to this stub when LLM personalization fails

Medium Priority (Nice-to-Have)

4. VectorDB Service — no real health check

  • File: syntropy_journals/app/api/services/vectordb_service.py:22-39
  • Current: initialize() sets _available flag without verifying connectivity; health_check() returns the flag
  • Needed: Actual connection test against Milvus/Zilliz on startup
  • Complexity: Low

5. Slack Service — REMOVED

  • Status: Slack service deprecated and removed from registry, routes, and app (commit af3cf48c).
  • Action: No longer applicable.

6. Multi-Partner Catalog — missing JOIN

  • File: syntropy_journals/app/functions/db_utils/catalog.py:81
  • Current: Uses FALLBACK_PARTNER_NAME constant instead of joining to User table
  • Needed: JOIN to User table for actual partner names in multi-partner scenarios
  • Complexity: Low

7. Cross-User Check-in Queries — missing function

  • File: syntropy_journals/app/functions/checkins/processing.py:184
  • Current: TODO comment references get_checkins_by_status_sync() which doesn’t exist
  • Needed: Query check-ins by status across all users (for admin/partner views)
  • Complexity: Low

Low Priority (Dev/Testing Mocks — Intentional)

8. Mock Auth State

  • File: syntropy_journals/app/states/shared/mock_auth.py:42-84
  • Purpose: Development-only mock authentication with fake user creation
  • Status: Functional for dev; not a production gap
  • Action: No change needed — gated behind APP_ENV=dev

9. Mock LLM Response

  • File: syntropy_journals/app/functions/llm/router/chat_router.py:582
  • Purpose: Returns static welcome message for testing without API keys
  • Status: Intentional mock for make dev-mock
  • Action: No change needed

10. Landing Chat Mock Streaming

  • File: syntropy_journals/app/states/chat/landing_chat.py:127-194
  • Purpose: Character-by-character mock streaming when LLM is unavailable
  • Status: Graceful fallback, not a bug
  • Action: No change needed

Summary

PriorityCountBlocking?
High3Yes — RAG, episodic memory, diet personalization
Medium3No — enhancements to existing features (Slack item removed)
Low3No — intentional dev/test mocks