FastAPI-based RAG (Retrieval-Augmented Generation) and hybrid database Q&A server combining document retrieval with LLM reasoning, featuring PDF/OCR processing, vector search, SQL query generation, and command execution with safety guardrails
Three tools with minimal schema documentation and generic descriptions. All tools accept only a single 'question' string parameter with no type constraints, enums, or validation guidance. Descriptions are present (90-180 chars) but lack specificity on when to use each tool, what distinguishes them, or what the LLM should expect in responses. No output schemas documented. No error handling guidance. Tool names are action verbs but lack clarity on mutual exclusivity (chat vs ask both answer questions; command extracts from documents). No pagination, no structured output format specified, no recovery guidance for failures.
Hybrid database and document Q&A endpoint that identifies DB queries, generates safe SQL (SELECT-only), executes queries, and combines results with document context for comprehensive answers
Document-based RAG answer endpoint that retrieves relevant documents and generates answers using LLM with confidence scoring and source attribution
Extracts executable commands from documents, parses JSON output, validates against whitelist, and returns structured command actions with confidence scoring
No input schema validation or constraints. All three tools accept only 'question' as a string with no type, length, format, or enum constraints. LLMs cannot infer valid input ranges or formats.
No output schemas documented. Tool descriptions do not specify what fields the response contains, what data types are returned, or what the LLM should expect. Agents cannot plan downstream calls or extract structured data.
Tool naming ambiguity: 'chat' and 'ask' both answer questions based on documents. No description clarifies when to use one vs the other. LLMs will struggle to select the right tool.
No error handling or recovery guidance. Descriptions do not explain what happens on failure, what errors are retryable, or how the LLM should respond to missing documents or database errors.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 37 | 2026-07-28+ | v2 |
Parameter descriptions are generic. 'User question to answer based on document context' does not specify length limits, required keywords, or format constraints. LLMs cannot validate input before calling.