You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ingestion/tests/conftest.py's FakeSectionStore implements replace_sections and upsert_document separately, but the production pipeline calls section_store.upsert_document_and_replace_sections() (the atomic combined method) for Scenario A/B paths. Any test that exercises ingest_document() with a Scenario A/B PDF will crash with AttributeError: 'FakeSectionStore' object has no attribute 'upsert_document_and_replace_sections'.
Root Cause
ingestion/tests/conftest.py around line 160:
classFakeSectionStore:
defreplace_sections(self, doc_id, rows): ...
defupsert_document(self, ...): ...
# upsert_document_and_replace_sections is NOT implemented
ingestion/pipeline.py (Scenario A/B path):
awaitsection_store.upsert_document_and_replace_sections(
tenant_id, doc_id, sections, ingest_status, ...
) # ← AttributeError in tests using FakeSectionStore
Failure Scenario
Test creates a FakeSectionStore and passes it to ingest_document().
Pipeline detects Scenario A (has native TOC) or B (has heuristic headers).
Activity
piyushmakhija28 commentedon Jun 21, 2026
Fixed in PR #280 (Sprint R3/R4: fix(sprint-r3): root-cause fixes for all 39 bugs from code review round 3 + Sprint R4 round 4)