Agent web jobs now stop after Brain consolidation and enter needs_review with a persisted review queue (blocking: high-severity, low-confidence, sensitive-category findings; audit sample of clean clusters). Humans decide confirm/reject/unsure/needs_clarification via new review API and frontend queue; a finalizer applies decisions (rejections suppressed with reason codes), performs bounded targeted reruns for clarifications, drafts RFIs only for kept issues, and only then marks the job done and sends the final email. Two-phase email (review-required, then final report), per-decision feedback labels with redacted aggregate metrics, restart recovery from job artifacts, and CLI --no-review bypass. Classic pipeline unchanged. 65 non-LLM tests.
61 lines
1.6 KiB
Bash
61 lines
1.6 KiB
Bash
# 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=http://localhost:8099
|
|
|
|
# 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
|