{
  "experiment": "dynamic_simulator_v1",
  "qidian_repo": "raw/qidian_code_repo cloned; reader responses require DTA; no bypass scraping",
  "uses_reranking": false,
  "augmented_trajectories": 72,
  "events": 360,
  "simulator_metrics": {
    "n_events": 360,
    "train_events": 234,
    "test_events": 126,
    "rating_mae": 0.172,
    "continue_auc": 0.9258,
    "fast_swipe_auc": 0.9879,
    "transition_trust_mae": 0.0134,
    "transition_fatigue_mae": 0.0,
    "calibration_ece": 0.0849,
    "counterfactual_separation": 0.1333
  },
  "closed_loop_eval": {
    "uses_reranking": false,
    "methods": {
      "no_update": {
        "dynamic_return": 2.3827,
        "expectation_alignment": 0.0,
        "personalization_diversity": 0.225,
        "state_growth": 0.0
      },
      "static_profile": {
        "dynamic_return": 2.4816,
        "expectation_alignment": 0.3333,
        "personalization_diversity": 0.2948,
        "state_growth": 0.667
      },
      "memory_only": {
        "dynamic_return": 2.4216,
        "expectation_alignment": 0.2667,
        "personalization_diversity": 0.2202,
        "state_growth": 0.5
      },
      "state_conditioned_planning": {
        "dynamic_return": 2.5917,
        "expectation_alignment": 0.7667,
        "personalization_diversity": 0.277,
        "state_growth": 1.833
      },
      "oracle_update": {
        "dynamic_return": 2.7894,
        "expectation_alignment": 0.8,
        "personalization_diversity": 0.485,
        "state_growth": 3.833
      }
    }
  },
  "sample_count_published": 2,
  "sample_generations": [
    {
      "trajectory_id": "traj_865cfc9da4265c5d_aug_00_fast_agency",
      "user_id": "u_fast_agency_fast_agency_00",
      "turn": 1,
      "method": "state_conditioned_planning",
      "uses_reranking": false,
      "trajectory_level_personalization": {
        "agent_state": {
          "planner_speed": 0.45,
          "agency_policy": 0.75,
          "lore_compression": 0.46,
          "retrieval_strength": 0.4,
          "memory": [
            "reader wants protagonist agency"
          ]
        },
        "profile": {
          "fast_pacing": 0.95,
          "agency": 0.9,
          "lore": -0.35,
          "consistency": 0.7
        },
        "no_personalized_reranking": true
      },
      "plan_beats": [
        "先用环境和心理铺开当前危机",
        "外部事件推动主角进入下一幕",
        "补充世界观规则和背景解释"
      ],
      "generated_chapter": "第1章沿着《novel_data_subset_d_100_0》继续推进。先用环境和心理铺开当前危机；外部事件推动主角进入下一幕；补充世界观规则和背景解释。 她没有等待旁人给出答案，而是在钟声停顿的一瞬间把钥匙按进门缝。门后的光像潮水一样退去，露出导师曾经删掉的地图。 这一章的叙事选择来自当前 agent state，而不是对多个候选进行 personalized reranking。",
      "sim_feedback": {
        "utility": 0.562098,
        "explicit": {
          "rating": 3,
          "like": false,
          "favorite": false,
          "tags": [
            "agency_low",
            "lore_heavy"
          ],
          "comment": "simulated feedback"
        },
        "implicit": {
          "continue_next": true,
          "fast_swipe": false,
          "reread": false,
          "dwell_time_sec": 226.15,
          "scroll_depth": 0.72
        }
      }
    },
    {
      "trajectory_id": "traj_865cfc9da4265c5d_aug_00_fast_agency",
      "user_id": "u_fast_agency_fast_agency_00",
      "turn": 2,
      "method": "state_conditioned_planning",
      "uses_reranking": false,
      "trajectory_level_personalization": {
        "agent_state": {
          "planner_speed": 0.45,
          "agency_policy": 0.75,
          "lore_compression": 0.72,
          "retrieval_strength": 0.4,
          "memory": [
            "reader wants protagonist agency"
          ]
        },
        "profile": {
          "fast_pacing": 0.95,
          "agency": 0.9,
          "lore": -0.35,
          "consistency": 0.7
        },
        "no_personalized_reranking": true
      },
      "plan_beats": [
        "先用环境和心理铺开当前危机",
        "主角亲自做一个不可逆选择",
        "把设定藏进动作和对白"
      ],
      "generated_chapter": "第2章沿着《novel_data_subset_d_100_0》继续推进。先用环境和心理铺开当前危机；主角亲自做一个不可逆选择；把设定藏进动作和对白。 她没有等待旁人给出答案，而是在钟声停顿的一瞬间把钥匙按进门缝。门后的光像潮水一样退去，露出导师曾经删掉的地图。 这一章的叙事选择来自当前 agent state，而不是对多个候选进行 personalized reranking。",
      "sim_feedback": {
        "utility": 0.648748,
        "explicit": {
          "rating": 4,
          "like": true,
          "favorite": false,
          "tags": [
            "lore_heavy"
          ],
          "comment": "simulated feedback"
        },
        "implicit": {
          "continue_next": true,
          "fast_swipe": false,
          "reread": false,
          "dwell_time_sec": 248.67,
          "scroll_depth": 0.77
        }
      }
    }
  ]
}