00. Evidence Map
Repository inspected
| Item |
Value |
| Remote |
https://repo.aibott.org/drt/ai-use-cases (private) |
| Local checkout |
repos/ai-use-cases |
| Inspected on |
2026-07-09 |
| HEAD at clone |
09411cb43aa32325518d9b324d91c2025d035965 |
Areas inspected
| Area |
Paths |
Depth |
| Manifests |
backend/pyproject.toml, backend/uv.lock, frontend/package.json, frontend/pnpm-lock.yaml |
Full |
| App entry |
backend/app/main.py, config.py, dependencies.py, middleware.py |
Full |
| Ingestion / jobs API |
core/ingestion/router.py, core/extraction/router.py |
Full |
| Pipeline |
workers/tasks/pipeline_tasks.py, async_runner.py, celery_app.py |
Deep skim |
| OCR |
core/ocr/engine.py, vlm/, sarvam/, layout/ |
Entrypoints + factory |
| UC1 factsheet |
uc1_factsheet/router.py, service/phase1.py, phase2.py, factsheet.py, models.py |
Deep skim |
| Data |
db/models.py, db/session.py |
Full |
| Frontend |
App.tsx, api/*, pages, ProvenanceTooltip.tsx |
Full / deep skim |
| Infra |
infra/docker-compose.yml, docker-compose-full.yml, Makefile, .env.example |
Full |
| Docs / plans |
README.md, docs/**, plans/prd_*.md, phase plans |
Skim + PRD/use-case plans |
| Tests |
backend/tests/, backend/tests/unit/ |
Listing + skim |
Intentionally skipped
- Lockfile contents beyond dependency names
- Generated
volumes/, logs/, .venv, node_modules
- Live OCR/LLM/Celery runs (no stack started during inspection)
- Line-by-line read of every shadcn primitive under
frontend/src/components/ui/
- Full MkDocs wiki body (structure and key architecture pages sampled)
Commands run during inspection
git clone https://repo.aibott.org/drt/ai-use-cases.git repos/ai-use-cases
find / rg inventory of source tree
# Targeted reads of README, config, models, routers, pipeline, factsheet, frontend, compose
No pytest or Docker stack was executed during dossier authoring (Unknown: live OCR/LLM behavior).
Confidence by subsystem
| Subsystem |
Confidence |
Notes |
| Document upload + job API |
High |
Routers + models + tests present |
| Celery OCR→extract→merge pipeline |
High |
Large pipeline_tasks.py; stage enums match API |
| OCR engine factory |
High |
OCR_ENGINE wiring clear; providers not live-tested |
| UC1 factsheet phases |
High |
Phase modules + API + unit tests |
| Frontend operator console |
High |
Routes and API clients read |
| Auth / OIDC |
High (absence) |
Helpers unused on routers |
| Qdrant / Meilisearch |
High (absence) |
Config + compose only; no app call sites |
| Production deploy |
Low |
Docs describe CI/K8s; no workflows or Dockerfiles for app |
Confirmed / Inferred / Unknown
Confirmed
- FastAPI app version
2.0.0 with routers under /api/v1 for documents, jobs, factsheet
- Postgres models for documents, jobs, stages, chunks, artifacts, audit events, factsheets
- Schema created via
Base.metadata.create_all on lifespan (no Alembic migration tree)
- Celery workers use
run_async_in_worker_loop for async DB/LLM
- UC1 is the only use-case package under
backend/app/
- CORS
allow_origins=["*"] with credentials enabled
- Compose maps Postgres to host
5433; MinIO on 9000/9001
Inferred
- Intended users are DRT registry/scrutiny operators (from PRD), though UI has no role model
- README “vector & full-text search” describes target architecture, not current code
progress_and_context.md may be stale relative to implemented UC1
Unknown
- Whether Meilisearch/Qdrant were used on other branches
- Production SSO issuer and deployment topology
- Whether
MINIO_* vs S3_* env mismatch is intentional dual naming or drift
- Intended Vite proxy port (
8888 vs Makefile 8000)