""" Tests RAG context formatting and source citation consistency Use case: Verifies that retrieved document chunks are assigned stable citation markers, such as [S1] and [S2], along with relevant page references Stable citations: Stable citations are predictable source labels that consistently map each retrieved chunk to a reference in the generated context Why: They make generated answers traceable to their source material and help users verify where supporting information came from """ from document_loader import Chunk from rag_engine import SearchHit, build_context def test_context_has_stable_source_markers(): """verifying source markers and page references are preserved in RAG context""" # creating retrieval results with source metadata and relevance scores ''' Unique chunk ID = 1 (chunk id) Alpha = Sample text stored in the first chunk Policy A,B = Name of the source document page = Page associated with the chunk 0.9,0.8 = Retrieval relevance score for this chunk ''' hits = [ SearchHit( Chunk("1", "Alpha", "Policy A", "TXT", page=2), #Alpha / Beta → dummy document content used only for testing 0.9, ), SearchHit( Chunk("2", "Beta", "Policy B", "PDF", page=4), 0.8, ), ] # building the formatted context passed to the RAG model context = build_context(hits) # making sure the first retrieved source receives the [S1] marker assert "[S1]" in context # making sure the second retrieved source receives the [S2] marker assert "[S2]" in context # making sure page metadata is included for source traceability assert "p. 2" in context