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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions