# Скелет ядра C2: generate-then-select (Р2). Тот же раннер, что C1 — различия # только в конфиге: fan-out N кандидатов + стадия select. Фаза 0 фиксирует # СХЕМУ (парсится и валидируется); исполнение fan-out/селекции — механика # раннера Фазы 2 (пилот 4 рук решает, войдёт ли C2 в прод). core: C2 version: 1 defaults: max_output_ratio: 2.2 min_max_tokens: 2048 context: glossary_injection: selective glossary_token_budget: 800 stm_depth: 2 overlap_tokens: 200 cache_ttl: "5m" retries: regenerate_before_escalate: 1 stages: - name: draft role: translator model: deepseek-v4-flash prompt: ../prompts/translator.md prompt_version: v0-draft temperature: 0.8 # C2: кандидаты сэмплируются горячее (Р2: T=0.6–1.0) reasoning: "off" # Judge-селектор (пара судей, шкала Комиссарова) — Фаза 2; стадия объявлена, # чтобы схема конфига не менялась: селектор получает N кандидатов от draft. - name: select role: judge model: claude-opus-4-8 prompt: ../prompts/judge-selector.md prompt_version: v0-skeleton temperature: 0 reasoning: "off" - name: edit role: editor model: glm-5 prompt: ../prompts/editor.md prompt_version: v0-draft temperature: 0.4 reasoning: "off" gates: coverage: enabled: false len_ratio_bounds: zh-ru: [2.2, 4.2] ja-ru: [1.4, 2.6] en-ru: [0.70, 1.4] sent_cov_min: 0.75 min_chunk_chars: 500 escalation: chains: default: [claude-sonnet-5] adult: [kimi-k2.6] budget_usd: 0 fanout: candidates: 3 # C2: N кандидатов (fan-out — механика раннера, N — конфиг)