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
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
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