{
  "dataset": "MovieLens 100K",
  "seed": 42,
  "users": 220,
  "items": 360,
  "training": {
    "sft_final_loss": 1.9123499155044557,
    "grpo_reward_first": 0.5245428323745728,
    "grpo_reward_last": 0.7096195101737977
  },
  "baseline": {
    "name": "open-loop SFT streaming profile",
    "hit_at_10": 0.1,
    "ndcg_at_10": 0.04838497726676933,
    "head_share_at_10": 0.24
  },
  "method": {
    "name": "RECAP feedback-optimized profile",
    "hit_at_10": 0.08636363636363636,
    "ndcg_at_10": 0.045108232880176666,
    "head_share_at_10": 0.19136363636363637
  },
  "ndcg_at_10_relative_percent": -6.772235044208908,
  "schema_version": 2,
  "manifest_ref": "reproduction:recap",
  "evaluation_protocol": {
    "tier": "l2_public_dataset",
    "seeds": [
      42
    ],
    "formal_comparison": false,
    "claim_policy": "single/few-seed smoke result; do not claim a stable improvement"
  },
  "provenance": {
    "artifact_path": "docs/reproductions/2607.15730-recap/metrics/movielens-100k-seed42.json",
    "historical_migration": "historical-metrics-v2-2026-08-09",
    "original_code_commit": "not recorded",
    "dataset_fingerprint": "not recorded in historical artifact"
  }
}
