{
  "frozen_at": "2026-07-18T23:46:57.951556+00:00",
  "git_sha": "f93f4b5578c221d3d2665f9b305f3e86759be862+dirty",
  "spec": {
    "analysis": "campaign.emb.analyze",
    "hypotheses": [
      {
        "id": "H-bias-first",
        "prediction": {
          "ci_excludes": null,
          "comparator": ">",
          "effect": null,
          "metric": "real_bias_before_quality",
          "threshold": 1.0
        },
        "scoreboard_row": null,
        "statement": "surface biases reach half their final loading earlier than quality features"
      },
      {
        "id": "H-stabilize",
        "prediction": {
          "ci_excludes": null,
          "comparator": "==",
          "effect": null,
          "metric": "w_r_stabilization_monotone",
          "threshold": 1.0
        },
        "scoreboard_row": null,
        "statement": "the reward direction settles rather than wandering"
      }
    ],
    "id": "campaign-emb-lora",
    "kill_criteria": [
      {
        "comparator": "<",
        "id": "K-emb",
        "metric": "order_recovery_auc",
        "threshold": 0.5
      }
    ],
    "science": "S07-embryology",
    "subjects": {
      "datasets": [
        "ultrafeedback-train-20k"
      ],
      "extra": {
        "slice_hashes": {
          "ultrafeedback-train-20k": "ds:132895bc8494b7bda76820204f54add7"
        }
      },
      "organisms": [],
      "signals": [
        "skywork-v2-qwen3-0.6b"
      ]
    },
    "title": "Surface biases enter the reward direction before quality features",
    "version": 1
  },
  "spec_hash": "spec:119143a118781b223e14c8cf1ce1c560",
  "study_id": "study:campaign-emb-lora@v1#119143a1"
}