# Synthetic pre-training config
phase: pretrain

dataset: synthetic
model: baseline

optimizer:
  name: adamw
  lr: 1e-3
  weight_decay: 1e-4

scheduler:
  name: cosine_annealing
  T_max: 100
  eta_min: 1e-6

training:
  epochs: 100
  batch_size: 64
  gradient_clip: 1.0
  early_stopping_patience: 10
  amp: true

loss:
  edge_weight: 1.0
  graph_weight: 0.5
  joint_type_weight: 0.3
  dof_weight: 0.2
  redundant_penalty: 2.0  # safety loss multiplier

checkpointing:
  save_best_val_loss: true
  save_best_val_accuracy: true
  save_every_n_epochs: 10
  checkpoint_dir: checkpoints/pretrain

logging:
  backend: wandb  # or tensorboard
  project: kindred-solver
  log_every_n_steps: 50

seed: 42
