# config/train_videomme.yaml
# Video-MME 900 题自进化训练 —— 消费 video-split 冻结切分（global 三池）
#
# 数据来源: workspaces/video-split/pools.json（tier 感知 diag/val + val 功效修复）
#   经 adhoc-baseline seed 携带进 workspace（WP2 接线）。
# 训练前置: .env REDIS_CACHE_TTL 须为正整数（WP4 fail-loud）；见
#   research-wiki/reviews/2026-07-16-preflight-final-review.md runbook。

harness:
  workspace_dir: "workspaces/train-videomme"
  store_dir: store
  mode: train
  run_id: train_videomme_v1
  concurrency: 24
  max_steps: 40
  skill_mode: auto
  n_samples: 0
  questions: "benchmarks/Video-MME"   # gate 指纹依赖加载全 900 题
  skills_version: v1
  prompts_version: v1
  epochs: 3
  # CE-Gate 参数（沿用 default.yaml）
  gate_e_confirm: 20.0
  gate_e_provisional: 3.0
  gate_w_net_min: 2
  gate_delta_min: 0.02
  gate_lambda_dir: -0.642
  gate_e_rollback: 10.0
  gate_block: 8
  gate_n_max: 40
  gate_p_low: 0.05
  gate_p_high: 0.95
  gate_probe_quota: 0.2
  gate_gamma_decay: 0.9
  gate_cooldown_steps: 2
  gate_guard_err: 0.10
  # 进化参数
  edit_budget_start: 5
  edit_budget_end: 2
  skill_update_mode: patch
  appendix_consolidate_threshold: 6
  # 池配置 —— global 冻结切分（diag/val/test 尺寸由 pools.json 冻结，以下采样旋钮加载时忽略）
  # 实际冻结切分（0.4+tier，fingerprint d456ef4f）: diag=180 val=120 test=600
  pool_split_mode: global
  diag_size: 180
  diag_correct_ratio: 0.5
  val_size: 120
  val_correct_ratio: 0.5
  test_size: 600
  test_questions: "benchmarks/Video-MME"
  # 可训练性预检（WP3）：val 单元 < eval_min_per_class 或 非test单元 < trainable_min_units 的题型剔除
  eval_min_per_class: 2
  trainable_min_units: 8
  # mini-batch
  batch_size: 10
  min_class_per_batch: 2
  batch_correct_ratio: 0.5
  momentum_samples: 20
  early_stop_patience: 2          # epoch 粒度（WP3）：连续 2 epoch 无 best 刷新即停
  use_slow_momentum: true
  run_holdout_eval: true          # 逐 epoch test 四向评估（WP3 去重版：baseline 推导 + 版本备忘录）
  # 全 12 题型（不指定 task_types 子集，避免 I-4 语义偏差；微型类由预检自动剔除）

embed:
  backend: "local"
  model_name: "BAAI/bge-base-zh-v1.5"
  embed_dim: 768
  device: "cuda"
