Skip to content

/health endpoint does not report the status of RAG, Supabase, or Pinecone subsystems #57

Description

@aadityat23

Problem

GET /health in main.py currently reports only two fields: whether the DVL is online (always true) and whether the LLM inference path is available. It says nothing about whether Pinecone/RAG is configured and reachable, whether Supabase (query history) is configured, or whether the SQLite fundamentals store is writable.

Why this matters

Anyone standing up the backend — a new contributor, or an operator checking why RAG queries are silently returning empty results — currently has to read source code or trigger a failing request to discover that a subsystem is disabled. A single health check that summarizes every optional subsystem's state is the fastest way to make failures self-explanatory instead of mysterious.

Acceptance Criteria

  • /health response includes a subsystems object reporting at minimum: rag (configured/unconfigured, reachable/unreachable), history (Supabase configured or not), market_data (last successful yfinance call recency)

  • No breaking change to the existing top-level status, dvl, llm, model fields

  • A test asserts the new fields appear and reflect the current environment configuration

  • Documentation updated if necessary — README_HF.md's route table reflects the expanded response shape

Files likely to modify

finverify-terminal/backend/app/main.py
finverify-terminal/backend/README_HF.md

Skills required

Python, FastAPI

Estimated difficulty

2/5

Estimated effort

3–5 hours

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions