a85b0ccac8
Also drop .github/ (GitHub-specific CI/CD workflows and ArgoCD operational scripts) from this mirror -- Gitea auto-picked up .github/workflows/*.yml as Actions and queued a run against secrets that don't exist here. Not meaningful outside the GitHub-hosted repo anyway.
Architecture decision records
| ADR | Title | Status | Reflected in code? |
|---|---|---|---|
| 0001 | Use Qdrant as the vector database | Accepted | Yes — adapters/qdrant.py, ingestion/load/qdrant_repo.py |
| 0002 | Use the team's existing ArgoCD instance for deployment (GitOps) | Accepted — target, not yet implemented | No — production is Docker Compose on EC2 (20) |
| 0003 | PDF parsing strategy, validated empirically | Accepted | Yes — ingestion/extract/, ingestion/segment/detector.py |
| 0004 | Chunking strategy for drug monographs | Accepted (monograph range only) | Yes — ingestion/chunk/chunker.py |
| 0005 | segment/ output contract needed by chunk/ |
Proposed; header says "contract only, no implementation" | Yes, now implemented — segment/models.py + chunk/ follow it. The status line is stale |
| 0006 | Chunks must carry references to lifted table/formula blocks | Accepted, implemented in schema v4 | Yes — ChunkAttachment, has_quarantined_content, the ADR-0006 gate set |
| 0007 | Conversational reasoning RAG (state + bounded loop) | Superseded by 0008 | No — rag/conversation.py and rag/reasoning.py no longer exist |
| 0008 | LLM query understanding + one-shot grounded RAG | Accepted, live since 2026-08-06 | Yes — rag/understanding.py, rag/agent.py, rag/answer.py |
| 0009 | No RAG framework — hand-written orchestration behind ports | Accepted (recorded retrospectively) | Yes |
| 0010 | Single-host Docker Compose as the interim deployment | Accepted (recorded retrospectively) | Yes |
ADRs 0009 and 0010 were written during the documentation pass described in DOCUMENTATION_PLAN.md. They record decisions that are unambiguously visible in the implementation but had no ADR. Where the rationale could not be recovered from the repository, they say so rather than inventing one.