# ===== Python =====
__pycache__/
*.py[cod]
*$py.class
*.so
*.egg-info/
*.egg
dist/
build/
.eggs/
*.whl
.venv/
venv/
env/
.uv/
.python-version
.mypy_cache/
.ruff_cache/
.pytest_cache/
.deepeval/
.deepeval-cache.json
.coverage
.coverage.*
htmlcov/
coverage.xml
# CI now measures coverage in all three languages (COA-2123). Nothing here is committed: the
# numbers are reported on the run's summary page, not stored in the tree.
cov-*.xml
coverage.out
coverage/

# ===== Node.js / TypeScript =====
node_modules/
.pnpm-store/
*.tsbuildinfo
.turbo/
.next/
.nuxt/
out/

# ===== Go =====
*.exe
*.dll
*.dylib
*.test
*.out
vendor/

# ===== Docker =====
*.log

# ===== IDE =====
.vscode/
.idea/
*.swp
*.swo
*~
.DS_Store

# ===== Environment / Secrets =====
.env
.env.*
!.env.example
*.pem
*.key
credentials.json
service-account*.json

# ===== Build artifacts =====
dist/
build/
*.tar.gz
*.zip

# ===== MkDocs =====
docs/site/

# ===== GCP Load Balancer backups =====
infra/gcp/loadbalancer/backups/

# ===== Terraform / IaC =====
.terraform/
*.tfstate
*.tfstate.*
terraform.tfvars

apps/demo/.vite
bluepharma-users.txt

# Editor workspace files (local)
*.code-workspace

# Local NER model artifacts (COA-181) — provisioned via scripts/export-ner-model.sh, never committed
packages/transformer/models/

# Playwright browser-test artefacts (COA-1724, and apps/admin since COA-2454)
apps/console/test-results/
apps/console/playwright-report/
apps/admin/test-results/
apps/admin/playwright-report/
apps/trust-center/test-results/
apps/trust-center/playwright-report/
# The browser suite's own bundle — built with the auth stand-in compiled in, and kept out of
# `dist/` so it can never be mistaken for the deployable one (COA-2454).
apps/admin/dist-e2e/
apps/trust-center/dist-e2e/

# Implementation plans are working notes for one task, not a record anyone reads back.
# 57 of them were tracked from February 2026 onwards before COA-2370 removed them.
.claude/plans/

# Which query sites reached a real PostgreSQL — written by the test run itself when
# COALEX_PG_COVERAGE_OUT is set, read by scripts/check_pg_proof_coverage.py (COA-2448). A
# measurement of one run, never a source of truth to commit: the baseline in that script is.
packages/transformer/tests/.pg_coverage.json
packages/transformer/tests/.pg_coverage.json.worker-*
