{"schema_version":"lius-rag-contract-v1","api_version":"llm-rag-v2","endpoints":{"retrieve":"https://lius.cc/api/llm-rag","answer":"https://lius.cc/api/llm-rag/answer","feedback":"https://lius.cc/api/llm-rag/feedback","schemas":"https://lius.cc/api/llm/schemas.json","provenance":"https://lius.cc/api/llm/provenance.json","citation_graph":"https://lius.cc/api/llm/citation-graph.json","changelog":"https://lius.cc/api/llm/changelog.json"},"retrieval_policy":{"corpus":"LIUS published nodes","visibility":"published_only","excluded_types":["junk"],"default_n":5,"max_n":8,"max_content_chars":1800,"retrieval_mode":"node_search_trigram","external_model_required_for_retrieve":false},"response_contract":{"required_fields":["api_version","mode","q","count","hits","context_blocks","query_analysis","failure_kind","not_found","answerability","retrieval_policy"],"citation_fields":["hit.url","hit.citation","hit.source_label","context_blocks[n].ref"],"trace_header":"X-Request-ID"},"failure_modes":[{"id":"none","meaning":"Retrieval completed and may contain hits."},{"id":"empty_query","meaning":"Query is empty or only whitespace."},{"id":"too_short","meaning":"Query is too short to search reliably."},{"id":"unsupported_language","meaning":"Query language is degraded to suggestions rather than full retrieval."},{"id":"not_found","meaning":"No published nodes met the retrieval threshold."},{"id":"timeout","meaning":"Database/search budget was exceeded; retry with narrower terms."},{"id":"db_error","meaning":"Retrieval failed due to server-side data access error."}],"answerability_grades":[{"grade":"A","meaning":"Strong direct context; still verify before formal scholarship."},{"grade":"B","meaning":"Usable context with caveats."},{"grade":"C","meaning":"Weak or partial context; answer should remain tentative."},{"grade":"D","meaning":"Insufficient context; do not produce a firm conclusion."}],"citation_status_levels":["source_present","node_published","source_verified","human_verified"],"current_citation_status":"RAG citations currently mean source_present + node_published unless a separate human/source verification artifact says otherwise.","claim_level_verification":"Use /api/llm/citation-graph.json and /api/llm/provenance.json for public source-link auditing. These are still evidence maps, not automatic peer review.","feedback_policy":{"endpoint":"https://lius.cc/api/llm-rag/feedback","accepted_ratings":["useful","irrelevant","wrong","citation_error","needs_alias","missing_context"],"stored_ratings":["irrelevant","wrong","citation_error","needs_alias","missing_context"],"non_stored_ratings":["useful"]}}