# config/default.yaml
# 科研实验配置默认值来源（会在实验中反复扫动/对比的参数）。
# 工程配置（少变、敏感）由 .env / pydantic-settings 管理，不在此文件。
# 优先级: CLI args > 此文件。CLI 仅用于单次临时覆盖。

# ── 建树模块 ──
tree:
  max_paragraphs_per_l2: 5
  l1_segment_duration: 600.0       # L1 段时长（秒）
  l2_clip_duration: 60.0           # L2 clip 时长（秒）
  l3_fps: 0.5                      # L3 帧提取频率（帧/秒）
  l2_representative_frames: 6      # L2 VLM 描述用的代表帧数
  cache_dir: "cache/trees"
  concurrency: 16                  # asyncio Semaphore 上限
  subtitle_inject: true            # 建树时是否注入 SRT 字幕
  srt_window_sec: 5.0              # 字幕匹配时间窗口（前后各 N 秒）

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

# ── Harness 自进化循环 ──
harness:
  workspace_dir: "workspaces/default"
  store_dir: store
  mode: infer
  concurrency: 24
  max_steps: 40
  skill_mode: auto
  n_samples: 0
  questions: "benchmarks/Video-MME"
  skills_version: v1
  prompts_version: v1
  epochs: 1
  # CE-Gate 参数
  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
  # 数据池
  diag_size: 200
  diag_correct_ratio: 0.5
  val_size: 30
  val_correct_ratio: 0.5
  test_size: 60
  # mini-batch
  batch_size: 15
  min_class_per_batch: 2
  batch_correct_ratio: 0.5
  momentum_samples: 20
  eval_min_per_class: 2
  early_stop_patience: 8
  use_slow_momentum: true

# ── 出题管线 v2 ──
question_gen_v2:
  family_ratios:
    retrieval: 0.30
    reasoning: 0.25
    enumeration: 0.20
    visual: 0.15
    spatial: 0.10
  dedup_threshold: 0.85
  retry_limit: 10
  heavy_sample_rate: 0.15
  output_dir: "store/questions/generated-v2-360"
  per_type: 30            # 12 类 x 30 = 360 题
  concurrency: 24
  seed: 42
