# Non-secret settings of the AI VM (merged into /opt/selfheal/ai.env by apply.sh). Secrets never go here. # Discord server "Selfheal Lab" (created 2026-10-08): approvals channel for layer-2 buttons, escalation channel for layer 3. DISCORD_GUILD_ID=1557424985793101824 DISCORD_APPROVALS_CHANNEL_ID=1557425140302872698 DISCORD_ESCALATION_CHANNEL_ID=1557425282363691048 # optional: restrict button decisions to one role id (empty = any member of the server) DISCORD_APPROVER_ROLE_ID= # Discord message language of the hitl bot: en or ja (runbooks and prompt free text are written in Japanese) HITL_LANG=ja # experiment design 11.1: candidates gpt-6-astra / gpt-6.1-sol / gpt-6-luna (OpenAI model page 2026-10-08). luna for the first live checks and campaign (budget), compare with sol afterwards OPENAI_MODEL=gpt-6.1-sol EMBED_MODEL=text-embedding-3-small HARNESS_URL=http://10.20.0.11:8080 MIMIR_URL=http://10.20.0.10:9009/prometheus LOKI_URL=http://10.20.0.10:3100 K8S_API=https://10.10.0.10:6443 # Jev gates (2026-10-08): off | shadow | enforce. shadow records TypeSafe System One answers (triage before the LLM, review after it) # next to each diagnosis in ai.jev_shadow and in the harness diagnosis event without changing the disposition. enforce additionally # downgrades a catalogue proposal to escalate when review.best_action disagrees with confidence >= 0.9 or target_valid < 0.5 # (campaign-2 report 3.3). Kept at shadow until the C-G1 re-run shows the rules catching a real misjudgement. JEV_MODE=shadow JEV_MODEL=jev-1.13.0