name: openbrowser-eval-fsdfm-grpo
entrypoint: bash -c "python -m infra.eval.scripts.download_datasets --datasets formfactory && python -m infra.training.flow_matching.eval_fsdfm_sft"
containerfile: infra/training/anyscale/Containerfile.online-fsdfm-grpo
compute_config:
  cloud: "Anyscale Cloud"
  head_node:
    instance_type: g5.xlarge
  worker_nodes: []
working_dir: .
excludes:
  - .git
  - .env
  - __pycache__
  - node_modules
  - frontend
  - .cursor
  - presentation
  - data/mind2web/
  - data/webarena/
  - results/
  - outputs/
  - openbrowser_agent_data/
  - data/formfactory/.git/
  - data/formfactory/img/
  - "*.pyc"
env_vars:
  FLOW_VAL_FILE: "data/processed/formfactory_sft_val.jsonl"
  MAX_EVAL_SAMPLES: "124"
  # Point to GRPO checkpoint instead of SFT -- same eval script, different weights
  FSDFM_SFT_CHECKPOINT: "/mnt/user_storage/openbrowser/checkpoints/online-fsdfm-grpo/final"
  # HF_TOKEN injected from .env at submission time by submit_job.py
max_retries: 1
timeout_s: 7200
tags:
  project: openbrowser
  task: eval-fsdfm-grpo
  model: fsdfm-1.3b-dfm
