README: complete rewrite with problem statement, feature table, quick start
(with and without API key), demo scenario table, architecture diagram,
full project structure, tech stack table, and future work section.
Cleanup:
- Remove chromadb==0.5.5 from requirements.txt (replaced by pure-Python vectorstore)
- Remove .gitkeep from data/bidders/* and data/tender/ (directories now populated)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- core/vectorstore.py: switch to EphemeralClient (in-memory) — eliminates
ChromaDB 0.5.x tenant/SQLite compatibility error entirely; index rebuilds
on each evaluation run so persistence is not needed
- data/tender/real_tenders/: two real CRPF tender PDFs downloaded from
crpf.gov.in (Bhopal water tanks NIT-71 Aug-2025, J&K office repair Jan-2026)
- ui/tab_tender.py: pre-loaded tender selector with tabs (pre-loaded vs upload);
real tenders shown with green badge; active tender name always displayed
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Implements specs/11_mock_data.md. Generates crpf_construction_tender.pdf with
5 criteria (C1-C5), typed PDFs for Bidder A (eligible) and B (ineligible),
and Bidder C docs including a GaussianBlur+noise-degraded turnover_certificate_scan.png
for the OCR demo path.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Step 1: project skeleton — all stubs, directory structure, and entry point
Creates every file listed in specs/00_skeleton.md: app.py with 5-tab Streamlit
shell, all core/ and ui/ stubs importable without logic, data/scripts/assets
directory tree, requirements.txt, packages.txt, .env.example.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>