# Copy to backend/.env and fill in your OpenRouter key. AI_BASE_URL=https://openrouter.ai/api/v1 AI_API_KEY=sk-or-... MODEL=google/gemini-2.5-pro # Optional Agent-mode OpenRouter model overrides (inherit MODEL/TEXT_MODEL when blank) AGENT_EXTRACT_MODEL= AGENT_INDEX_MODEL= AGENT_JURISDICTION_MODEL= AGENT_LINKER_MODEL= AGENT_CONFLICT_MODEL= AGENT_CODE_MODEL= AGENT_CONSTRUCT_MODEL= AGENT_COMPLETENESS_MODEL= AGENT_BRAIN_MODEL= AGENT_RFI_MODEL= # Agent-mode hard scope limits / concurrency AGENT_LINK_MAX_ASSERTIONS=60 AGENT_CLUSTER_MAX_ASSERTIONS=24 AGENT_CONFLICT_MAX_IMAGES=6 AGENT_CODE_BATCH_SIZE=60 AGENT_BRAIN_MAX_TOKENS=16384 AGENT_LINK_CONCURRENCY=4 AGENT_CONFLICT_CONCURRENCY=4 AGENT_SPECIALIST_CONCURRENCY=4 AGENT_RFI_CONCURRENCY=4 # Agent-mode human-review gate (pipeline stops after Brain until a human reviews) AGENT_REQUIRE_REVIEW=true # Max clean clusters added to the review queue as non-blocking spot-checks AGENT_REVIEW_AUDIT_SAMPLE=5 # Allow future cross-job review-feedback aggregation to include source_text/images/comments REVIEW_AGGREGATE_INCLUDE_TEXT=false # Pipeline tuning PDF_DPI=100 MAX_PAGES=60 MAX_DIMENSION=2400 LLM_TIMEOUT=180 EXTRACT_MAX_TOKENS=8192 REASON_MAX_TOKENS=4096 EXTRACT_CONCURRENCY=4 REASON_CONCURRENCY=4 # Public URL users reach this server on (used for the link in result emails) APP_BASE_URL=https://conchecker.scoutitsystems.com # APP_BUILD is set by CI at image build time (sha-) - do not set manually. # Email notifications (optional). Leave SMTP_HOST blank to disable. # Examples: # Gmail: SMTP_HOST=smtp.gmail.com SMTP_PORT=587 (use an App Password) # M365: SMTP_HOST=smtp.office365.com SMTP_PORT=587 SMTP_HOST= SMTP_PORT=587 SMTP_USER= SMTP_PASSWORD= SMTP_FROM= SMTP_USE_TLS=true SMTP_USE_SSL=false