// tools/router-config.mjs — central router constants (Phase 2 Task 8) // Source: spec docs/superpowers/specs/2026-05-24-llm-first-router-overhaul-design.md v2.3 // Resolved Sonnet/Opus IDs via ProxyAPI /v1/models 2026-05-25: // ProxyAPI exposes Sonnet 4.6 only as alias `claude-sonnet-4-6` (no dated YYYYMMDD form) // — CLASSIFIER мигрирован на deepseek-v4-pro, ba10068. Opus 4.7 — `claude-opus-4-7`. // 2026-06-19: все три агента стены (роутер-классификатор / наставник / судья) переведены // с deepseek-v4-pro на deepseek-v4-flash (решение владельца) — лёгкая/быстрая/дешёвая V4, // контекст 1M. Наставник (enforce-mentor-on-plan-write) и судья (enforce-judge-gate) // дефолтят model = CLASSIFIER_MODEL, поэтому одна правка флипает всех трёх. export const CLASSIFIER_MODEL = 'deepseek-v4-flash'; export const REVIEWER_MODEL = 'claude-opus-4-7'; // Per-attempt таймаут для ТЯЖЁЛЫХ LLM-вызовов (вердикт наставника + судья). Дефолт // callAnthropicAPI = 30_000 — но реальная латентность судьи/наставника по большой // спеке/плану (3-6k in / ~1.5k out, deepseek-v4-pro через прокси) = 25-32с, на грани 30с. // При 30с часть попыток упиралась в таймаут → degraded → печать не вставала (спека // не запечатывалась → план не мог встать). 300с укладывает латентность deepseek-v4-pro с // большим запасом (на спайки прокси); ретраи на 5xx сохраняются. systematic-debugging 2026-06-14. export const HEAVY_LLM_TIMEOUT_MS = 300_000; export const INHERITANCE_MAX_AGE_MIN = 30; export const REVIEWER_MAX_NEIGHBOR_EPISODES = 10;