# Copy to `.env` and fill in GROQ_API_KEY. Everything active below already matches the # compiled-in defaults, so a verbatim copy changes no behaviour -- the public-set score # reproduces with no `.env` file at all. Never commit a real key: `.env` is gitignored, # this file is not. # Recommended final-evaluation configuration: permit network access and set GROQ_API_KEY. # This enables semantic recovery for unfamiliar customer wording. Leave it empty only to # force the deterministic offline fallback. Omitting it changes the public-set score by # exactly zero -- both hosted layers are unreachable there, because the recognition gate # matches every official message. GROQ_API_KEY= # Active optional hosted layers. Both are inert without GROQ_API_KEY. LLM_RESOLVE=1 LLM_RESCUE=1 # Transcript rescue only runs after a stalled session reaches both thresholds. LLM_RESCUE_TURN=5 LLM_RESCUE_REJECTS=4 # Active guarded local layers. They fail closed if their optional weights are unavailable. V2_ROUTE=1 BERT_EXTRACT=1 BERT_KEEP=0.30 # --------------------------------------------------------------------------- # READ BY THE CODE, BUT DELIBERATELY LEFT COMMENTED OUT. # # Listed so the disclosed set is complete, NOT because any of it should be set. # These stay commented so that copying this file cannot enable them by accident. # --------------------------------------------------------------------------- # BERT_TAGGER_DIR= checkpoint directories. Leave unset: resolution already # V2_ROUTE_MODEL_DIR= prefers a local directory that actually contains weights # and otherwise uses the Hub, which is what a fresh clone # needs. A path with no weights in it is ignored. # # BERT_TAGGER_HUB=KhiemGOM/techjam-scaffolding-tagger only for mirroring our # V2_ROUTE_HUB=KhiemGOM/techjam-route-classifier published checkpoints # # BERT_DEVICE=auto CUDA when present, CPU otherwise. Irrelevant to the # score: the tagger never loads on the public set. # # GROQ_MODEL= DO NOT SET. Each hosted layer picks its own model in # code; this overrides all of them at once and moves them # onto a model they were never measured on. # # MESSAGE_VARIETY=1 clarification phrasing variety. Presentation only -- the # simulator reads the structured `ask_attribute`, never the # prose, so it cannot affect scoring.