{
 "kind": "run",
 "generated": "2026-10-01T06:11:12Z",
 "run": {
  "run_id": "20261001-032558-search-t1-spark-c3",
  "mode": "search",
  "board": "T1:val",
  "config_name": "search-t1-spark-c3",
  "start": "2026-09-30T19:25:58Z",
  "end": "2026-09-30T20:44:27Z",
  "state": "finished",
  "test_run": false,
  "fake": false,
  "model": "alibaba-token-plan-cn/qwen3.8-max",
  "host": "spark-ad3f",
  "submittable": false,
  "dirty": true
 },
 "purpose": {
  "purpose": null,
  "hypothesis": null,
  "config_comment": "G6 acceptance 4 (reviewer addition): the same search with three nodes in flight (3 seeds + 6 nodes), to measure contention (GPU slot, scoring queue, vec.slice memory, CPU, Token Plan rate limits) against concurrency 1.",
  "config_file": "<repo>/agent/configs/search_t1_spark_c3.yaml",
  "config_file_matches_lock": false
 },
 "lock": {
  "harness_git_sha": "dfe4e253060e760a4ad6241e16be93657473b516",
  "lock_hash": "bf837651f8e6f48ea23829595f3f52749c4a6249a9d94c32968abc75e00ea6a5",
  "dirty": true,
  "submittable": false,
  "objective": "proxy×1",
  "proxy_weights": {
   "proxy": 1.0
  },
  "objective_resolved": null,
  "seeds": [
   "copy_last",
   "heart_jcf_peri",
   "pseudobulk_shift"
  ],
  "external_tests": [
   "data/external/test/X1_qiu_heart_late"
  ],
  "concurrency": 3,
  "max_nodes": 6,
  "promotion": null,
  "models": {
   "analyst": {
    "model": "alibaba-token-plan-cn/qwen3.8-max",
    "options": {
     "thinking_budget": 2048
    }
   },
   "engineer": {
    "model": "alibaba-token-plan-cn/qwen3.8-max",
    "options": {
     "thinking_budget": 4096
    }
   },
   "researcher": {
    "model": "alibaba-token-plan-cn/qwen3.8-max",
    "options": {}
   },
   "reviewer": {
    "model": "alibaba-token-plan-cn/qwen3.8-max",
    "options": {
     "thinking_budget": 2048
    }
   }
  },
  "continued_from": [],
  "scoring_fingerprint": null
 },
 "phase": "done",
 "status_counts": {
  "scored": 9
 },
 "op_counts": {
  "seed": 3,
  "improve": 6
 },
 "nodes_total": 9,
 "nodes_imported": 0,
 "nodes_new": 6,
 "tree_top20": [
  {
   "id": 8,
   "parent": 2,
   "op": "improve",
   "status": "scored",
   "origin": null,
   "method": "冻结父本类型配额，类内按增殖打分做成熟端加权无放回抽样（θ=0.5，E-S 算法），3-seed 均值 56.06→58.13。",
   "score_seed0": 57.887,
   "rulers_seed0": {
    "proxy": 57.887
   },
   "rank3": 58.1291,
   "seed_scores": {
    "0": 57.887,
    "1": 58.3357,
    "2": 58.1647
   },
   "seed_spread": 0.4487,
   "rank3_source": "final_seeds",
   "groups_seed0": {
    "cell_state": 61.44,
    "covariation": 55.67,
    "de_recovery": 52.53,
    "direction": 60.75
   },
   "d_parent": 1.9176,
   "parent_ref": 2,
   "d_groups": {
    "cell_state": 4.54,
    "covariation": 0.7,
    "de_recovery": -0.53,
    "direction": 2.19
   },
   "review": "pass",
   "review_note": null,
   "hypothesis_supported": "yes",
   "queries_used": 12,
   "runtime_s": 1.0,
   "peak_mem_gb": 1.21,
   "note": null
  },
  {
   "id": 9,
   "parent": 4,
   "op": "improve",
   "status": "scored",
   "origin": null,
   "method": "类型内细胞周期退出重加权：每类型内以 exp(-0.5·z) 权重（z=深度残差化的周期分稳健 z，clip±2）加权无放回抽样，解剖组成不变；proxy 3-seed 56.06→57.42。",
   "score_seed0": 57.9191,
   "rulers_seed0": {
    "proxy": 57.9191
   },
   "rank3": 57.4237,
   "seed_scores": {
    "0": 57.9191,
    "1": 57.242,
    "2": 57.1099
   },
   "seed_spread": 0.8092,
   "rank3_source": "final_seeds",
   "groups_seed0": {
    "cell_state": 61.0,
    "covariation": 55.74,
    "de_recovery": 53.06,
    "direction": 60.83
   },
   "d_parent": 1.9497,
   "parent_ref": 4,
   "d_groups": {
    "cell_state": 4.1,
    "covariation": 0.77,
    "de_recovery": 0.0,
    "direction": 2.27
   },
   "review": "pass",
   "review_note": null,
   "hypothesis_supported": "unclear",
   "queries_used": 11,
   "runtime_s": 1.4,
   "peak_mem_gb": 1.31,
   "note": null
  },
  {
   "id": 2,
   "parent": null,
   "op": "seed",
   "status": "scored",
   "origin": null,
   "method": "seed heart_jcf_peri",
   "score_seed0": 55.9694,
   "rulers_seed0": {
    "proxy": 55.9694
   },
   "rank3": 56.0634,
   "seed_scores": {
    "0": 55.9694,
    "1": 56.3224,
    "2": 55.8984
   },
   "seed_spread": 0.424,
   "rank3_source": "final_seeds",
   "groups_seed0": {
    "cell_state": 56.9,
    "covariation": 54.97,
    "de_recovery": 53.06,
    "direction": 58.56
   },
   "d_parent": null,
   "parent_ref": null,
   "d_groups": {
    "cell_state": null,
    "covariation": null,
    "de_recovery": null,
    "direction": null
   },
   "review": "pass",
   "review_note": null,
   "hypothesis_supported": null,
   "queries_used": null,
   "runtime_s": 1.0,
   "peak_mem_gb": 1.21,
   "note": null
  },
  {
   "id": 4,
   "parent": 2,
   "op": "improve",
   "status": "scored",
   "origin": null,
   "method": "增殖驱动的组成重加权（负结果）：类型权重×(1+γ·增殖z)，γ=0 复现父本 55.97，γ=±0.25/0.35/1.0 与 5118 细胞均降分。",
   "score_seed0": 55.9694,
   "rulers_seed0": {
    "proxy": 55.9694
   },
   "rank3": null,
   "seed_scores": {},
   "seed_spread": null,
   "rank3_source": null,
   "groups_seed0": {
    "cell_state": 56.9,
    "covariation": 54.97,
    "de_recovery": 53.06,
    "direction": 58.56
   },
   "d_parent": 0.0,
   "parent_ref": 2,
   "d_groups": {
    "cell_state": 0.0,
    "covariation": 0.0,
    "de_recovery": 0.0,
    "direction": 0.0
   },
   "review": "none",
   "review_note": null,
   "hypothesis_supported": "no",
   "queries_used": 7,
   "runtime_s": 2.4,
   "peak_mem_gb": 1.3,
   "note": null
  },
  {
   "id": 7,
   "parent": 5,
   "op": "improve",
   "status": "scored",
   "origin": null,
   "method": "单边生长率倾斜（非对称 κ）+ 保底分层抽样：只压低生长率轴高端的类型，低端严格保持原比例",
   "score_seed0": 54.4265,
   "rulers_seed0": {
    "proxy": 54.4265
   },
   "rank3": null,
   "seed_scores": {},
   "seed_spread": null,
   "rank3_source": null,
   "groups_seed0": {
    "cell_state": 55.29,
    "covariation": 52.63,
    "de_recovery": 51.49,
    "direction": 57.77
   },
   "d_parent": 1.3996,
   "parent_ref": 5,
   "d_groups": {
    "cell_state": 1.68,
    "covariation": 2.73,
    "de_recovery": 1.01,
    "direction": 0.4
   },
   "review": "none",
   "review_note": null,
   "hypothesis_supported": "yes",
   "queries_used": 18,
   "runtime_s": 2.1,
   "peak_mem_gb": 1.66,
   "note": null
  },
  {
   "id": 5,
   "parent": 1,
   "op": "improve",
   "status": "scored",
   "origin": null,
   "method": "数据导出的组成重加权（生长率轴）+ 保底分层抽样",
   "score_seed0": 53.0269,
   "rulers_seed0": {
    "proxy": 53.0269
   },
   "rank3": null,
   "seed_scores": {},
   "seed_spread": null,
   "rank3_source": null,
   "groups_seed0": {
    "cell_state": 53.61,
    "covariation": 49.9,
    "de_recovery": 50.48,
    "direction": 57.37
   },
   "d_parent": 3.2585,
   "parent_ref": 1,
   "d_groups": {
    "cell_state": 5.54,
    "covariation": -1.64,
    "de_recovery": 0.48,
    "direction": 7.21
   },
   "review": "none",
   "review_note": null,
   "hypothesis_supported": "unclear",
   "queries_used": 10,
   "runtime_s": 3.3,
   "peak_mem_gb": 1.66,
   "note": null
  },
  {
   "id": 6,
   "parent": 3,
   "op": "improve",
   "status": "scored",
   "origin": null,
   "method": "按类型单快照伪时间（根=最增殖细胞）回归逐基因斜率并 EB 收缩，以线性空间倍数 exp(s·slope·w_g)（s=0.15）乘法位移抽样细胞、零结构保留；两阶段时改用 α=0.25 收缩 delta 并按与斜率的余弦门控；增殖重加权 γ 测无收益置 0。",
   "score_seed0": 51.5771,
   "rulers_seed0": {
    "proxy": 51.5771
   },
   "rank3": null,
   "seed_scores": {},
   "seed_spread": null,
   "rank3_source": null,
   "groups_seed0": {
    "cell_state": 49.31,
    "covariation": 52.6,
    "de_recovery": 52.53,
    "direction": 52.53
   },
   "d_parent": 1.8087,
   "parent_ref": 3,
   "d_groups": {
    "cell_state": 1.24,
    "covariation": 1.06,
    "de_recovery": 2.53,
    "direction": 2.37
   },
   "review": "none",
   "review_note": null,
   "hypothesis_supported": "unclear",
   "queries_used": 12,
   "runtime_s": 11.0,
   "peak_mem_gb": 1.58,
   "note": null
  },
  {
   "id": 1,
   "parent": null,
   "op": "seed",
   "status": "scored",
   "origin": null,
   "method": "seed copy_last",
   "score_seed0": 49.7684,
   "rulers_seed0": {
    "proxy": 49.7684
   },
   "rank3": null,
   "seed_scores": {},
   "seed_spread": null,
   "rank3_source": null,
   "groups_seed0": {
    "cell_state": 48.07,
    "covariation": 51.54,
    "de_recovery": 50.0,
    "direction": 50.16
   },
   "d_parent": null,
   "parent_ref": null,
   "d_groups": {
    "cell_state": null,
    "covariation": null,
    "de_recovery": null,
    "direction": null
   },
   "review": "pass",
   "review_note": null,
   "hypothesis_supported": null,
   "queries_used": null,
   "runtime_s": 0.9,
   "peak_mem_gb": 1.21,
   "note": null
  },
  {
   "id": 3,
   "parent": null,
   "op": "seed",
   "status": "scored",
   "origin": null,
   "method": "seed pseudobulk_shift",
   "score_seed0": 49.7684,
   "rulers_seed0": {
    "proxy": 49.7684
   },
   "rank3": null,
   "seed_scores": {},
   "seed_spread": null,
   "rank3_source": null,
   "groups_seed0": {
    "cell_state": 48.07,
    "covariation": 51.54,
    "de_recovery": 50.0,
    "direction": 50.16
   },
   "d_parent": null,
   "parent_ref": null,
   "d_groups": {
    "cell_state": null,
    "covariation": null,
    "de_recovery": null,
    "direction": null
   },
   "review": "pass",
   "review_note": null,
   "hypothesis_supported": null,
   "queries_used": null,
   "runtime_s": 1.0,
   "peak_mem_gb": 1.21,
   "note": null
  }
 ],
 "rulers_identical_on_all_scored_nodes": [],
 "rescored_imports": [],
 "improvement": {
  "noise": 2.0,
  "noise_source": "agent/prompts/analyst_spec.md（T1 约 2 分、T2 约 1 分；k014）",
  "best_overall": {
   "node": 8,
   "rank": 58.1291,
   "seed0": 57.887,
   "is_new": true
  },
  "best_new": {
   "node": 8,
   "rank3": 58.1291,
   "seed0": 57.887,
   "op": "improve"
  },
  "best_before": {
   "node": 2,
   "rank3": 56.0634,
   "seed0": 55.9694,
   "kind": "seed"
  },
  "comparison_ruler": "rank3 (3-seed mean)",
  "best_new_minus_best_before": 2.0657,
  "exceeds_noise": true,
  "verdict": "improvement beyond noise",
  "new_nodes_vs_parent": [
   {
    "node": 4,
    "parent": 2,
    "d_parent_seed0": 0.0,
    "beyond_noise": "within"
   },
   {
    "node": 5,
    "parent": 1,
    "d_parent_seed0": 3.2585,
    "beyond_noise": "up"
   },
   {
    "node": 6,
    "parent": 3,
    "d_parent_seed0": 1.8087,
    "beyond_noise": "within"
   },
   {
    "node": 7,
    "parent": 5,
    "d_parent_seed0": 1.3996,
    "beyond_noise": "within"
   },
   {
    "node": 8,
    "parent": 2,
    "d_parent_seed0": 1.9176,
    "beyond_noise": "within"
   },
   {
    "node": 9,
    "parent": 4,
    "d_parent_seed0": 1.9497,
    "beyond_noise": "within"
   }
  ]
 },
 "promotions": [],
 "final_selection": {
  "winner": 8,
  "winner_commit": "8936c91c4967e891bc34976a82eda62c7227af9b",
  "selection_md_machine_lines": [
   "proxy_score T1:val 57.8870",
   "proxy_mean_3seed T1:val 58.1291",
   "winner_node 8",
   "winner_commit 8936c91c4967e891bc34976a82eda62c7227af9b"
  ],
  "proxy_seed0": 57.887,
  "rank3": 58.1291,
  "events": {
   "final_start": {
    "time_left_s": 6440.4
   },
   "final_seeds": {
    "2": {
     "mean": 56.0634,
     "seeds": {
      "0": 55.9694,
      "1": 56.3224,
      "2": 55.8984
     }
    },
    "8": {
     "mean": 58.1291,
     "seeds": {
      "0": 57.887,
      "1": 58.3357,
      "2": 58.1647
     }
    },
    "9": {
     "mean": 57.4237,
     "seeds": {
      "0": 57.9191,
      "1": 57.242,
      "2": 57.1099
     }
    }
   },
   "final_external": {
    "2": {
     "dropped": true,
     "external": {
      "X1_qiu_heart_late": {
       "dropped": true,
       "floor": 50.0,
       "groups": {
        "cell_state": 48.13,
        "covariation": 49.33,
        "de_recovery": 41.04,
        "direction": 48.92
       },
       "score": 46.794,
       "status": "scored"
      }
     }
    },
    "8": {
     "dropped": false,
     "external": {
      "X1_qiu_heart_late": {
       "dropped": false,
       "floor": 50.0,
       "groups": {
        "cell_state": 50.51,
        "covariation": 50.24,
        "de_recovery": 42.34,
        "direction": 49.34
       },
       "score": 48.119,
       "status": "scored"
      }
     }
    },
    "9": {
     "dropped": true,
     "external": {
      "X1_qiu_heart_late": {
       "dropped": true,
       "floor": 50.0,
       "groups": {
        "cell_state": 48.13,
        "covariation": 49.33,
        "de_recovery": 41.04,
        "direction": 48.92
       },
       "score": 46.794,
       "status": "scored"
      }
     }
    }
   },
   "final_done": {
    "mean": 58.1291,
    "note": ""
   }
  },
  "external_by_ruler": {
   "X1": {
    "2": {
     "score": 46.794,
     "floor": 50.0,
     "minus_floor": -3.206
    },
    "8": {
     "score": 48.119,
     "floor": 50.0,
     "minus_floor": -1.881
    },
    "9": {
     "score": 46.794,
     "floor": 50.0,
     "minus_floor": -3.206
    }
   }
  }
 },
 "lessons": [
  {
   "text": "T1 proxy 单输入阶段（E8.5）内做类型内 PCA 选增殖轴：18 个类型无一达到 |corr(PC, 细胞周期分)| >= 0.15，即单快照的发育时间信号不在类型内前 5 个主成分里；PLAN 的'宁缺勿错'阈值直接把整条分支变成恒等映射，等价于父本。",
   "nodes": [
    "n4"
   ]
  },
  {
   "text": "改用增殖分数直接三等分（跳过 PCA）时，δ 的 top 基因是 Rpl/Rps/Tmsb10/Malat1，且 IFT-CM 的'晚端'下调 Myh6/Ttn/Actc1（与心肌成熟反向）——说明 E8.5 单快照上细胞周期 z 分数主导的是核糖体含量/测序深度技术轴，不能当伪时间用。",
   "nodes": [
    "n4"
   ]
  },
  {
   "text": "组成侧再叠加增殖驱动增长（γ）在两个方向都单调劣于 γ=0：+0.35 -> 55.29、-0.25 -> 54.96、+1.0 -> 52.68（均为 seed 0 单次）。父本手调的心脏 ×1.6/边缘 ×0.25 已经吃掉了增殖能提供的组成信息，再乘一个数据导出的因子只是扰动。",
   "nodes": [
    "n4"
   ]
  },
  {
   "text": "N_CELLS 从 4000 提到 max_cells=5118 也降分（55.12，seed 0 单次）：target_n_cells(manifest,4000) 不是可自由放大的旋钮，4000 附近是局部最优。",
   "nodes": [
    "n4"
   ]
  },
  {
   "text": "查分预算纪律的代价：Engineer 用掉 5/20 次查分但全部是 seed 0 单次，低于 PLAN 自己定的 3-seed 均值门槛；因此 γ=+0.35 的 de_recovery +1.11 完全在 T1 噪声（约 2 分）内，不能作为'表达位移有希望'的证据。Engineer 自述与'已用 3 seed 比较'的 PLAN 要求冲突，以单次事实为准。",
   "nodes": [
    "n4"
   ]
  },
  {
   "text": "提交逐位复现父本（np.array_equal 校验通过）是有价值的自检：它证明新增的 growth_sample 没有改动类型顺序/largest_remainder/take/RNG 调用序列，可安全作为后续节点的基础设施。",
   "nodes": [
    "n4"
   ]
  },
  {
   "text": "在 T1 proxy 上，组成是唯一杠杆但方向必须由评测定：按生物学先验取 κ=+1（增殖高的类型多抽）崩到 37.72（cell_state 23.77 / covariation 36.20），而 κ=−0.5 得 53.03，说明\"增殖高→下一阶段占比升\"这个先验在本榜是反的（或生长率轴捕捉的其实是取材范围而非发育潜能），任何以增殖/凋亡打分的加权都必须先扫负 κ。",
   "nodes": [
    "n5"
   ]
  },
  {
   "text": "κ 的响应有平台也有悬崖：−0.25 → 52.76、−0.5 → 53.03、−0.6 → 51.37（三者互差 ≤1.66，全在噪声内），但 −0.75 → 49.62、−1 → 46.83、−2 → 45.30 单调变差，所以可复用的结论只有\"负方向、|κ| ≤ 0.6\"，具体取 −0.5 没有证据支撑。",
   "nodes": [
    "n5"
   ]
  },
  {
   "text": "精确比例分层抽样不是安全地板：κ=0（配额严格 ∝ 原比例 + 保底）seed 0 = 49.25 / cell_state 46.11，seed 1 = 48.82 / 45.96，都低于父节点的随机无放回抽样（49.77 / 48.07），说明 cell_state 对\"越接近观测比例越好\"不成立，随机抽样带来的类型比例抖动本身就值约 2 分，任何\"回到原比例\"的对照组都不能假定为不劣于父节点。",
   "nodes": [
    "n5"
   ]
  },
  {
   "text": "κ>0 与 κ≤−0.75 两组都同时压低 cell_state 和 covariation（37.72/36.20 与 46.83/40.37），即过度重加权是把两分一起赔掉的；把 wcap 限在 ×4 且 κ 控制在 ±0.6 内时 covariation 只掉 1.64（噪声内），配额式重加权配 |log w| ≤ log4 的截断是安全的。",
   "nodes": [
    "n5"
   ]
  },
  {
   "text": "本节点违反了 PLAN 自己定的查分协议：采用规则要求最优 κ 有 ≥3 seed 均值且 cell_state 差 ≥4，实际 9 次查分全是 seed 0 单次，出货的 +3.26 总分因此带单 seed 风险；耗时只从 0.9 s 涨到 3.3 s（内存 1.21 → 1.66 GB），完全付得起 3–5 个 seed 的复测，预算不是借口。",
   "nodes": [
    "n5"
   ]
  },
  {
   "text": "耗时数字以变化量表为准：Engineer 的 METHOD.md/自述写\"4.4 s\"，实测 3.3 s（内存 1.66 GB），文档里的自报数不要直接引用。",
   "nodes": [
    "n5"
   ]
  },
  {
   "text": "PLAN 的 A 部件（族收缩）在 18 型、每型 ≥266 细胞的规模下 λ≈0.4，实际几乎不起作用且没做 A/B；对细胞数充足的数据集，经验贝叶斯收缩到聚类族是可省略的复杂度。",
   "nodes": [
    "n5"
   ]
  },
  {
   "text": "对 log1p 稀疏表达做加法位移会把零稠密化，covariation 掉 8.6 分（43.37）；改为线性空间倍数乘法 exp(clip(s·slope,±3)) 后零结构保留、四组不降反微升——在稀疏计数型数据上做方向位移必须用乘法 fold-change。",
   "nodes": [
    "n6"
   ]
  },
  {
   "text": "增殖基因集重加权抽样（γ=0.5/1.0）在 proxy 上得分 49.84/49.00，与 γ=0 的 49.77 无差异：E8.5→E9.5 的组成变化不是增殖率驱动的，生长率先验对 cell_state 无效。",
   "nodes": [
    "n6"
   ]
  },
  {
   "text": "小步长乘法位移（s=0.15）对 direction/de_recovery 各 +2.4~2.5，恰好卡在噪声线上；位移家族的信号弱，单 seed 或双 seed 查分不足以确认，需 ≥3 seed 才能采信 <3 分的改进。",
   "nodes": [
    "n6"
   ]
  },
  {
   "text": "变化量表显示耗时 1.0→11.0s、内存 1.21→1.58GB，均远低于限额；engineer 自报的 85s/2.5GB 与表不符（可能是本地全流程计时），以变化量表为准——kNN+dijkstra 每类型≤4000 细胞的实现开销很小，不必因资源顾虑放弃此类方法。",
   "nodes": [
    "n6"
   ]
  },
  {
   "text": "final 端两阶段分支（α、cos 门控）在 proxy 上不可测，只能靠合成数据单测防崩，其真实效果要到 final 打分才知。",
   "nodes": [
    "n6"
   ]
  },
  {
   "text": "条件：纯组成重加权（X 不改一行）且对称倾斜扫描出现『平台后单调崩』时。做法：把斜率拆成 κ_hi/κ_lo 两侧独立扫描。结果：κ_lo 从 0 拉到 −0.5（同一切点）总分 54.76→50.42，cell_state/covariation 同时崩——对称扫描在 |κ|≥0.75 的崩溃几乎全由『抬升低生长率一侧』造成，而非『压制高生长率一侧』；抑制侧单独可以推到 κ_hi∈[−0.8,−2.0] 的平台（53.9–54.8）。",
   "nodes": [
    "n7"
   ]
  },
  {
   "text": "条件：用截断阈值当『切点』时。做法：wcap 4（压到 0.25）配 floor-m 10 vs wcap 8（压到 0.125）配 floor-m 1。结果：后者掉到 52.05、covariation 46.80——把某个类型压到近乎消失会直接砸 covariation 与 cell_state，保底 floor-m=10 是必要的，不要为了深切点放弃保底。",
   "nodes": [
    "n7"
   ]
  },
  {
   "text": "条件：单 seed 查分选出配置。做法：出货前做同 seed 配对多 seed（本节点 3 seeds × 3 候选 + 父节点）。结果：父节点榜上的 53.03 是单 seed 乐观值，3-seed 均值只有 52.66，导致 PLAN 里按 53.03 算的『+2 分』硬门槛失真（实测差 0.17 未过）。教训：门槛要用同口径的多 seed 基线定，单 seed 基线会系统性高估父节点。",
   "nodes": [
    "n7"
   ]
  },
  {
   "text": "条件：类型级配额只有 ~18 个自由度。做法：观察 de_recovery 在全部单边抑制配置上的取值。结果：恒为 51.49，已饱和——继续在权重形状上加陡不会抬 de_recovery，要抬它必须改『类内怎么选行』。",
   "nodes": [
    "n7"
   ]
  },
  {
   "text": "条件：单次运行只有 2–4 s / 1.7 GB。做法：把网格用 bash 循环串起来、粗筛 seed 0、只把预算留给出货前的配对多 seed。结果：15/20 次查分内完成 11 格粗网格 + 3 候选 × 3 seed，说明这类便宜任务里『多 seed 确认』不是奢侈品而是默认要求。",
   "nodes": [
    "n7"
   ]
  },
  {
   "text": "条件：改动只碰权重构造、不碰抽样与配额。做法：加一个能位级复现父节点的开关（--kappa 同时设两侧）并断言输出与父节点代码 np.array_equal。结果：确认基线没漂移，网格才可信；κ_hi=κ_lo 时 max/min 分解与 κ·z 位级恒等，是零成本的可回退设计。",
   "nodes": [
    "n7"
   ]
  },
  {
   "text": "在类型配额逐位冻结的前提下，只改『类内选谁』这一自由度即可提升榜分：E2F 增殖打分反向加权（选成熟端）θ=+0.5 使 cell_state +4.54（超噪声）、榜分 +1.92（单 seed 在噪声边缘），且 covariation 不受伤——证明『选真实细胞的子集』类方法不会触发位移类方法的均值塌缩。",
   "nodes": [
    "n8"
   ]
  },
  {
   "text": "θ 符号明确且非对称：θ=-0.25→52.14（大幅降），+0.25→57.40、+0.5→57.89、+0.75→57.62（seed 0），说明『选低增殖（成熟端）细胞』方向正确，峰值约 0.5，网格粗调 4 次查分即可定符号和量级。",
   "nodes": [
    "n8"
   ]
  },
  {
   "text": "加凋亡项是负结果：λ_apopt=0.5 使 seed 0 从 57.89 降到 57.13，成熟度打分只用增殖（E2F）即可，别叠加凋亡基因集。",
   "nodes": [
    "n8"
   ]
  },
  {
   "text": "配对 u_i 设计（单一 default_rng，按原始行号一次性生成 uniform，所有 θ 共享）使 θ 间比较成为配对比较，有效压低抽样噪声——本次 A0 逐位复现 55.97 也验证了退化路径正确。",
   "nodes": [
    "n8"
   ]
  },
  {
   "text": "零查分成本的诊断值得保留：corr(cycle, log10 depth)=0.366<0.5 免除了深度残差化；方差比 1.045 排除了类内多样性塌缩。",
   "nodes": [
    "n8"
   ]
  },
  {
   "text": "榜分单 seed +1.92 在噪声（~2）内，Engineer 的出货依据是 3-seed 均值 +2.07（58.13 vs 56.06），刚过其自设的 +2.0 门槛——证据强度是『弱过线』而非稳健，下游不应把幅度继续往大调而不复核。",
   "nodes": [
    "n8"
   ]
  },
  {
   "text": "把 prior/ 基因集分数当发育轴之前，必须在类型内对 log1p(library size) 做 OLS 残差化：同一套细胞周期分未校正时 top-50 位移全是 Rpl/Rps/Tmsb10/Malat1（技术轴、心肌标记符号反），校正后技术基因占比 0%、Myl7/Tnnt2/Ttn/Myh6 符号转正——这一步决定了轴是技术还是生物。",
   "nodes": [
    "n9"
   ]
  },
  {
   "text": "免查分诊断（top-50 技术基因占比、面板标记基因符号、加权前后类型内方差比、重复细胞率）能在花任何一次查分之前判掉坏轴，本节点靠它把 β 网格的 9 次查分全部用在有信号的杠杆上，值得作为固定前置步骤。",
   "nodes": [
    "n9"
   ]
  },
  {
   "text": "类型内加权无放回重抽样只把类型伪批量均值沿轴推一小步，它抬的是 direction/cell_state，不产生新的 DE 幅度：de_recovery 在 β=0.5/0.75/1.0 上分别是 -0.55/-1.08/-1.9，想抬 de_recovery 必须用有真值方向的表达位移，而不是重加权。",
   "nodes": [
    "n9"
   ]
  },
  {
   "text": "保留 β=0 逐位回退（RNG 调用序列不变 + np.array_equal 自检）是低成本扫参数的前提：一旦回退路径被破坏，每次尝试都要重新验一遍基线，查分预算会翻倍。",
   "nodes": [
    "n9"
   ]
  },
  {
   "text": "+1.95 这种量级在 T1 上必须用 3-seed 均值判定：单 seed 对照的 +1.95 与 ~2 分噪声不可区分，3-seed 均值 +1.36 才暴露出它其实低于 PLAN 的 +2 门槛（分组效应 cell_state +2.84 / direction +2.0 逐 seed 同向，是唯一可信的部分）。",
   "nodes": [
    "n9"
   ]
  },
  {
   "text": "Engineer 自报的耗时（2.8s）与变化量表（1.4s）冲突，以变化量表为准；惰性化 γ 确实把父节点白算的开销拿掉了（2.4s → 1.4s），峰值内存 1.30 → 1.31GB 基本持平，说明『稀疏列切片 + 统计量只在 <=4000 子样本拟合、绝不整阶段 todense』的内存约束有效。",
   "nodes": [
    "n9"
   ]
  },
  {
   "text": "出货 β=0.5 而非 3-seed 更高的 β=0.75（+0.30）是符合 PLAN 反过拟合规则的选择，但 Engineer 也如实记录了『总分未达 +2 门槛仍出货』这一偏差——门槛被人为放宽时必须在 METHOD.md 写明，方便审查者判断是否回退。",
   "nodes": [
    "n9"
   ]
  }
 ],
 "next_suggestions": [
  {
   "text": "组成侧网格搜索父本三个手调数（HEART_WEIGHT ∈ {1.3,1.6,2.0}、EDGE_WEIGHT ∈ {0.1,0.25,0.5}、是否丢 Neural Tube），这是唯一被证明有效的杠杆（copy_last 49.77 -> 55.97）；每配置 3 seed 取均值、门槛总分与 de_recovery 均 >= +2，针对全组尤其 covariation/cell_state。",
   "nodes": [
    "n4"
   ]
  },
  {
   "text": "表达位移只在 final 视图做：同名类型的两阶段伪批量差 δ2_c = mean(last|c) - mean(prev|c) 配 T1-02 式 t 统计收缩（se_g=sqrt(2v_g/n)，δ·t²/(t²+k)，k≈4）+ 细胞周期基因强制置 0 + |δ| 99 分位截断；proxy 上无信号可验，别在 proxy 调 β/k。",
   "nodes": [
    "n4"
   ]
  },
  {
   "text": "针对 covariation 54.97（第二弱组）：在抽出的真实细胞上做同类型内的轻微 jitter（同类型内配对置换部分基因值或按类型内协方差采样），保持类型内协方差量级，避免加独立高斯噪声破坏协方差结构；用 3 seed 均值判定。",
   "nodes": [
    "n4"
   ]
  },
  {
   "text": "删掉或惰性化 γ=0 时的 type_growth 计算：当前每次运行都白算 2091 基因 × 4000 细胞的稠密 z 分数，耗时 1.0s -> 2.4s、内存 +0.09GB 而分数不变，在时间/内存受限的节点上是纯损耗。",
   "nodes": [
    "n4"
   ]
  },
  {
   "text": "针对全组（尤其 cell_state/direction）：用 seeds {0,1,2,3,4} 复测 κ ∈ {0,−0.25,−0.5,−0.6}，只有 κ* 的 5-seed 总分均值 ≥ 父节点+2 且 cell_state 均值差 ≥4 才认定 53.03 为真实水平，并把 run.py 默认的 κ=−0.5 改成 κ*。",
   "nodes": [
    "n5"
   ]
  },
  {
   "text": "针对 direction（本节点最大增益 +7.21）与 cell_state：在 κ=−0.5 上扫 wcap ∈ {2,8} 和 floor-m ∈ {1,25}（seed 0 各一次，差 ≥2 才改），确认增益没被 ×4 截断压住，同时看 covariation 是否跌破 51.54−3；再试\"κ=−0.5 配额 + 节点2/4 手调心脏系加权\"的乘性集成（log w 相加后重新截断 ±log4），目标是超过榜最佳 55.97。",
   "nodes": [
    "n5"
   ]
  },
  {
   "text": "针对 final（E9.5+E10.5）：不要默认 κ=−0.5，先在 κ ∈ {0,−0.25,−0.5} 各跑一次；趋势项 B2 零查分验证，必须在 final 上做 s ∈ {0,0.25,0.5} 的 A/B（s=0 即关闭），并保留\"同一阶段喂两次输出逐行等于单阶段\"这条已通过的自检。",
   "nodes": [
    "n5"
   ]
  },
  {
   "text": "先用 ≥3 个 seed 复核 s∈{0.10,0.15,0.20}（γ=0，乘法）确认 +1.8 是否真实，再决定是否在此之上叠加——针对 direction/de_recovery 两组。",
   "nodes": [
    "n6"
   ]
  },
  {
   "text": "cell_state 仍是最大弱组（49.3 vs 节点 2 的 56.9）：增殖信号已被证伪，改从单快照内可导出的信号（类型间分化梯度、kNN 邻域中类型混合比例、类型内亚结构占比）构造组成先验，并与节点 2 的手调权重做对照回归——针对 cell_state。",
   "nodes": [
    "n6"
   ]
  },
  {
   "text": "若后续节点能跑 final 视图，实测 P2 分支的 α∈{0.15,0.25,0.5} 与 cos 门控阈值 0.3，当前 α=0.25 仅是 k018 教训的保守先验，未经验证——针对 final 端 de_recovery/direction。",
   "nodes": [
    "n6"
   ]
  },
  {
   "text": "针对 cell_state / de_recovery：实现类内加权无放回抽样 τ（类内 log 权重 = τ·z_within，z_within=(g_i−ḡ_c)/sd_c 截断 ±2，用 Efraimidis–Spirakis 键 u_i^(1/w_i) 取 top-n），在 κ_hi=−1.25/κ_lo=0 上先跑 τ=±0.4 各一格（seed 0）；判据：|Δ总分|≥2 且同 seed 下 covariation 掉幅 ≤2 才细化并补 seeds，否则回 τ=0（τ=0 必须走原 draw_rows 分支以保证逐行相同）。",
   "nodes": [
    "n7"
   ]
  },
  {
   "text": "针对 covariation / cell_state：试 κ_lo 略 >0（κ_lo∈{+0.15,+0.3}，κ_hi 固定 −1.25，wcap 4/floor-m 10），把低生长率一侧也轻微打散——父节点已测出『精确比例分层』比随机抽样低约 2 分（κ=0 时 cell_state 46.11），κ_lo=0 正落在这一侧。",
   "nodes": [
    "n7"
   ]
  },
  {
   "text": "针对总分（迁移）：final（E9.5+E10.5 双输入）出货前必须重扫 κ_hi∈{0,−0.8,−1.25,−2.0}×κ_lo∈{0,κ_hi}（κ_lo=κ_hi 即对称对照，用来确认单边在 final 上仍占优），并对 trend-s∈{0,0.25,0.5} 做 A/B——趋势项至今零查分验证（proxy 单阶段自动为 0）；切点 z≥log(wcap)/|κ_hi|=1.109 在 final 的类型集合上会命中不同数量的类型，不能直接沿用。",
   "nodes": [
    "n7"
   ]
  },
  {
   "text": "针对 de_recovery（不要再做的）：不要再靠调 κ_hi/wcap 抬 de_recovery，它在所有单边配置上恒为 51.49（配额自由度饱和）；预算应花在类内选择或新的组内信号上。",
   "nodes": [
    "n7"
   ]
  },
  {
   "text": "针对 de_recovery（唯一受损组，52.53）：试只对非心脏类型施加 θ（心脏类保持均匀抽样），或对 DE 高变基因加权后再算 cycle 打分，3 seed 复核，验证能否在不丢 cell_state 增益的前提下收回 de_recovery。",
   "nodes": [
    "n8"
   ]
  },
  {
   "text": "针对全局：θ 细网格 {0.4, 0.5, 0.6} × 3 seed，但只有当 3-seed 均值差 >2 才换 θ，否则维持 0.5（防 proxy 过拟合）。",
   "nodes": [
    "n8"
   ]
  },
  {
   "text": "针对 final 迁移：proxy 与 final 走同一代码路径（只读 inputs_by_time[-1]），θ=0.5 可直接迁移；若 final 有 ≥2 输入阶段，可用 E8.5→E9.5 每类型伪批量差值叠加/替代增殖打分作 m_i，但这是未验证扩展，必须先 proxy 侧小查分再上。",
   "nodes": [
    "n8"
   ]
  },
  {
   "text": "针对 de_recovery（最弱，53.06，copy_last 地板 50.00）：放弃重加权路线，在 β=0.5 基座上叠加节点 6 验证过的方向性位移（单快照伪时间乘法位移曾使 de_recovery 50.00→52.53），或在 final 两阶段视图上用 prev→last 逐类型伪批量差 δ2 配逐基因 t 统计收缩（k≈4）做小幅位移；proxy 上无法验证，需为 final 预留一次查分。",
   "nodes": [
    "n9"
   ]
  },
  {
   "text": "针对 direction/cell_state：只在 β∈{0.6, 0.65, 0.7} 上做 3-seed 细网格（seed 0/1/2），接受条件是这两组相对 β=0.5 再抬 >=2 且 de_recovery 降幅 <=0.6；不要再往 β>=0.75 走（已知 de_recovery 多降 0.53、seed-0 曲线在 0.75 附近已见峰、1.0 回落）。",
   "nodes": [
    "n9"
   ]
  },
  {
   "text": "针对 cell_state/covariation，做与本杠杆正交的组成侧网格（HEART_WEIGHT {1.4,1.6,1.8} × EDGE_WEIGHT {0.25,0.5}）叠加在 β=0.5 上，每点 3-seed；同时可试变体 B（MATURITY_NAME 成熟程序集，w=exp(-0.5·z_cc + β2·z_mat)，β2∈{0.25,0.5}），但先算两轴相关系数，|r|>0.6 则直接放弃以免重复同一方向。",
   "nodes": [
    "n9"
   ]
  }
 ],
 "failure_reasons": [],
 "sources": {
  "plan_sources": [],
  "plan_sources_count": 0,
  "knowledge_entries_by_node": {
   "k004": [
    6
   ],
   "k007": [
    4,
    7,
    8,
    9
   ],
   "k012": [
    5
   ],
   "k014": [
    4,
    5,
    7,
    8,
    9
   ],
   "k017": [
    6
   ],
   "k018": [
    5,
    6,
    7,
    9
   ],
   "k020": [
    4,
    8
   ]
  },
  "lit_search_queries": 0,
  "lit_search_log_present": false
 },
 "health": {
  "incidents_by_kind": {},
  "incidents": [],
  "interrupted": [],
  "infra_oom": [],
  "oom_nodes": [],
  "failed_nodes": [],
  "breaker_events": [],
  "log_warnings": [],
  "log_warnings_count": 0,
  "slice_memory_peak_gb": 79.47,
  "min_mem_available_gb": 52.7,
  "egress_denied": 41,
  "egress_denied_hosts": [
   "github.com",
   "models.opencode.ai",
   "registry.npmjs.org"
  ],
  "run_state": "finished",
  "exit_code": 0,
  "timed_out": null,
  "restarts": null
 },
 "timing": {
  "wall_h": 1.31,
  "budget_h": 3.0,
  "budget_used_pct": 43.6,
  "roles": {
   "analyst": {
    "calls": 6,
    "total_min": 7.8,
    "mean_min": 1.3,
    "max_min": 2.0,
    "tokens_input": 100130,
    "tokens_output": 11485,
    "tokens_reasoning": 5929
   },
   "engineer": {
    "calls": 6,
    "total_min": 155.0,
    "mean_min": 25.8,
    "max_min": 29.6,
    "tokens_input": 331190,
    "tokens_output": 83032,
    "tokens_reasoning": 58862
   },
   "researcher": {
    "calls": 6,
    "total_min": 39.5,
    "mean_min": 6.6,
    "max_min": 8.0,
    "tokens_input": 197158,
    "tokens_output": 23310,
    "tokens_reasoning": 68688
   },
   "reviewer": {
    "calls": 2,
    "total_min": 3.5,
    "mean_min": 1.8,
    "max_min": 1.8,
    "tokens_input": 44206,
    "tokens_output": 3903,
    "tokens_reasoning": 3763
   }
  },
  "node_wall_min": {
   "n": 6,
   "total": 207.7,
   "mean": 34.6,
   "max": 39.6
  },
  "exec_min": {
   "n": 9,
   "total": 10.0,
   "mean": 1.1,
   "max": 1.9
  },
  "promotion_min": {
   "n": 0
  },
  "engineer_session_h": 2.58,
  "concurrency": 3,
  "engineer_slot_utilisation_pct": 65.8,
  "time_left_at_final_min": 107.3
 },
 "official": [],
 "calibration_ledger": [
  {
   "ledger_row": 1,
   "score_row": 2,
   "date": "2026-10-01",
   "run_id": "20260927-172643-grok-t1",
   "model": "xai/grok-4.7",
   "official": 47.2,
   "note": "G0 calibration: heart_jcf_peri, proxy 55.97",
   "rulers": {
    "proxy": 55.97,
    "X1": 46.79,
    "X3": 46.5646,
    "X4": 50.1414,
    "X5": 50.5133
   },
   "official_minus_ruler": {
    "proxy": -8.77,
    "X1": 0.41,
    "X3": 0.6354,
    "X4": -2.9414,
    "X5": -3.3133
   },
   "official_minus_floor": -2.8
  }
 ],
 "previous_runs": [
  {
   "run_id": "20261001-024931-search-t1-spark-eng-default",
   "reason": "latest earlier run on the same board",
   "mode": "search",
   "start": "2026-09-30T18:49:31Z",
   "config_name": "search-t1-spark-eng-default",
   "purpose": "G6 acceptance 4 (comparison): one node with the Engineer on default thinking (options {}); otherwise = search_t1_spark.yaml.",
   "nodes": 4,
   "best_node": 2,
   "best_rank": 56.0634,
   "best_seed0": 55.9694,
   "winner": 1,
   "winner_rank3": 49.2057,
   "winner_seed0": 49.7684,
   "winner_method": "seed copy_last",
   "diff_vs_previous": {
    "config_changed": [
     {
      "key": "budget.max_nodes",
      "before": "1",
      "after": "6"
     },
     {
      "key": "budget.wall_clock_hours",
      "before": "2.0",
      "after": "3.0"
     },
     {
      "key": "concurrency.nodes",
      "before": "1",
      "after": "3"
     },
     {
      "key": "models.engineer.options",
      "before": "{}",
      "after": "(absent)"
     },
     {
      "key": "models.engineer.options.thinking_budget",
      "before": "(absent)",
      "after": "4096"
     },
     {
      "key": "name",
      "before": "\"search-t1-spark-eng-default\"",
      "after": "\"search-t1-spark-c3\""
     }
    ],
    "config_changed_count": 6,
    "files_changed": {
     "configs": {
      "changed": [],
      "added": [
       "agent/configs/search_t1_spark_c3.yaml"
      ],
      "removed": [
       "agent/configs/search_t1_spark_eng_default.yaml"
      ]
     },
     "other": {
      "changed": [
       "models"
      ],
      "added": [],
      "removed": []
     }
    },
    "files_changed_counts": {
     "configs": {
      "changed": 0,
      "added": 1,
      "removed": 1
     },
     "other": {
      "changed": 1,
      "added": 0,
      "removed": 0
     }
    },
    "hashed_in_both": 170,
    "note": "files only hashed by one of the two locks show up as added/removed (older locks hashed fewer files)"
   }
  }
 ],
 "rules": {
  "floor": 50.0,
  "noise": 2.0,
  "noise_source": "agent/prompts/analyst_spec.md（T1 约 2 分、T2 约 1 分；k014）",
  "official_note": "官网分数只用于校准与人工复盘，不回流给搜索；校准差 = 官网 − 本地尺子"
 }
}
