# 20260927交接：反事实编辑信用 RL 与论文


## 2026-10-01 当前资源与恢复门

## B 臂低熵问题的最新结论

- 原始 O80、B80、M80 的 launch 日志使用同一套 `mini_swe_tito_clean` / `IsolatedAgentDockerEnvironment` 配置、seed=42、temperature=1.0、batch=16、每题8条采样、2400行 dataloader；因此不能把 B 与 M 的差异归因于入口配置。
- `verl_trainer.py` 用 `batch.response_mask` 聚合 `policy_entropy`；`credit_trainer.py` 只把信用加到 `advantages`，不修改 response mask 或 entropy 计算。
- 第一步熵仍为 O=0.3922、B=0.1713、M=0.3777。结论是：B 的异常不是 broadcast credit 改了 entropy mask，原因仍需 raw batch/rollout 级审计或受控重跑确认。
- 证据：`paper-rl/results/credit_arm_config_comparison_20261001.json`、`paper-rl/results/credit_entropy_path_audit_20261001.json`。在查清前，B80 不应被写成完全可解释的主对照；不得用在线 reward 或熵差异直接声称 M 优于 B。
- 第一条 entropy 记录之前，B 日志有203条“没有判分结果”，且全部是 Docker `all predefined address pools have been fully subnetted`；O为0，M为8（BuildKit context deadline exceeded）。因此 B 首步已被地址池耗尽污染，B80 不能作为 M/B 主比较的干净对照，建议在清洁网络池和回收守卫下重跑 B。证据：`paper-rl/results/credit_first_update_preflight_log_audit_20261001.json`。


- 15:12（Asia/Shanghai）只读检查：gpu08 的 GPU0–7 均为 0 MiB、0% 利用率；gpu23 的 GPU0–7 均约 75.7 GiB、0% 利用率，由外部 VLLM 进程占用，不能停止。
- `skyrl-rl` 容器虽然显示运行，但没有 O42 driver ownership；容器运行不等于训练已恢复。
- O42 successor preflight 仍为 `launch_ready=false`：终止后的新 release 尚未绑定计划，前驱未正常完成，且 gpu23 资源仍被占用。不得直接从旧 `O42-retry1-release-v1` 重启。
- 下一步是等待/确认 gpu23 外部任务释放后，重新生成终止后 recovery release 并做两机 preflight；只有 preflight 通过，才可以按用户授权占用 14 张卡启动新的 O42 successor。
- 本次检查没有启动作业、没有停止外部进程，也没有修改模型结果。


重写于2026-09-27 19:38，**跨日更新到2026-09-28 09:02，Asia/Shanghai**。文件保留用户指定名称。动态状态以实际监控为准；最新训练、两机GPU及容量快照为 `paper-rl/results/runtime_progress_20260928_0842.json`，阶段摘要在 `paper-rl/STATUS_20260928.md`。

**最新状态：O42-retry1完成19/80次训练调用；14张授权卡继续用于训练，约08:58监控无报警。第10步存点参数变化已独立核验，效果仍未测。** 后继9条件入口已完成，真实O80/终点参数/CF适用性release仍欠，B/M/E未启动。宿主私有快照已接入现有slot/账本/恢复，真实保存补丁双trial与F0–F3检查通过，新鲜独立假设复查未发现缺口；旧严格规则保持，新XFAIL/ERROR准入未启用。共同环境已完成159题/318控制，34报告未决；补验03已经完成48个环境控制，其中39个有完整严格观测，9个Django empty保留未决。论文已按skill补充测量边界并编译/增量复核，15页、正文9页，主效果表仍空。

本版替代提交 `d264b588` 中的旧交接。旧文本仍可用 `git show d264b588:rl/研究情况/20260927交接.md` 读取。本文不改实验协议、不改原始分数、不启动或停止任务。

## 1. 给下一位 agent 的接手提示词

> 你接手 `/data1/home/zly/swe` 的 Qwen3.5-9B × SkyRL 反事实编辑信用研究，论文在 `paper-rl/`。用户已授权 gpu08 的 GPU0–5 和 gpu23 的 GPU0–7，共 14 卡，要求持续推进并最终使用 ARIS 技能修改论文。gpu08 GPU6/7 和 GPU0 原有小服务要保留。
>
> 先核对本文件最新状态，再读 `paper-rl/TRAINING_RECOVERY_PROTOCOL_20260927.md`、`paper-rl/EVALUATION_PROTOCOL_20260927.md`、`paper-rl/PILOT_DISPOSITION_20260927.md`。不要把历史“正在等待CF”或“O42健康运行”当成当前事实。旧O/B/M及09-27停在40的O42都不是有效主比较；B/M/E未启动，正式策略效果未测。
>
> 接手后先核对O42-retry1最新进度，固定80，不按reward选停点。首三次数据/数值及step10参数检查已完成；不要重复扫描同一存点。质量观察器参数字段静态false，最新证据读 `O42_retry1_step10_independent_review_20260928.json`。后继入口在 `paper-rl/staged/training-successor-20260928/`，最新计划 `successor-entrypoint-check-v3/` 故意未放行，仍须真实O80/参数/CF审阅和资源退出。当前活跃CPU批次是 `eval500-common-validation03-20260928`，01/02均已结束，不要重启原发现队列或旧批次。参考/成员/宿主接收以及旧严格合同的slot接入已经完成，直接复用 `received-slot-20260928/` 和 `host-evidence-20260928/`。下一项是版本化准入与真实模型服务，不再重建接收/账本或重复相同控制。这个组件保证的是所收字节与实际身份/挂载/退出证据，不认证Python语义；训练guard也不能替代终评准入。
>
> 正式比较已经固定：O/B/M 各 seed 42、314159、271828，另 E42 和 base；主要终点 80；主比较是 holdout100 n=16 的 M−B，另有独立 SBV500 n=2。不得再询问是否把 B 加入 holdout，不得按结果选 60/80/81、种子或任务。
>
> 原 O 启动时的 readiness 只放行 O，要保持其历史真实性。B/M 应另建证据绑定的 release；不需要用户重复授权用这 14 张卡，也不能仅把一个布尔值改成 true。训练输入不热改，外部杀进程后不自动重启，不做全局清理。效果只能来自实际同栈评测；允许改进表述，不能编造、挑选或重写结果。

## 2. 会话模型何时切到 Luna，以及旧交接的错误

这是**本对话助手**的模型记录，与服务器上训练的 Qwen3.5-9B 分开。

| 主会话记录时间（北京时间） | 模型 / 推理档位 | 含义 |
|---|---|---|
| 09-27 00:32:10.587 | `gpt-6-astra / xhigh` | 本会话首次记录的模型 |
| **09-27 18:16:50.653** | **`gpt-5.6-luna / medium`** | 首条 Luna `turn_context` |
| 09-27 19:19:07.574 | `gpt-5.6-luna / medium` | 返回 Astra 前最后一条 Luna context；旧交接在该时段生成 |
| **09-27 19:22:17.961** | **`gpt-6-astra / xhigh`** | 本次用户要求重写时已回到 Astra |

Luna 时段约 65 分钟，记录中有 16 条 Luna turn context，不能等同于 16 个完成的轮次。旧交接提交 `d264b588` 的时间为 19:20:22。时间、模型名、行号及 turn ID 见同目录 `20260927交接-model-history.json`。

原日志：`/data1/home/zly/.codex/sessions/2026/09/27/rollout-2026-09-27T00-30-10-01a0de8d-8137-79e0-b196-dcc8436e73a3.jsonl`，三个模型转换记录在第 8、12740、13268 行。只能确认各轮记录的模型，不能据此断言谁点了切换、是否自动降级，或精确 UI 点击时间。

本次按实际证据纠正旧交接和此前陈述的错误，并补齐其遗漏：

| 旧交接/此前陈述的错误或遗漏 | 本次核实后的结论 | 依据 |
|---|---|---|
| 是否加 step60、holdout 是否加 B 仍待拍板 | 主终点80；holdout必须含B；三种子及E42/base已固定 | `paper-rl/EVALUATION_PROTOCOL_20260927.md`、`paper-rl/results/evaluation_slots_20260927.json` |
| B/M 的信用混入在线 reward | 终局 reward 规则相同；辅助信用加入 advantages，terminal returns 不变 | `paper-rl/RECOVERY_PLAN_20260927.md`、`rl/skyrl/swe_skyrl_recipe/credit_trainer.py` |
| 没有交代旧B低熵问题已查到的基础设施证据 | 旧B首更新前已地址池耗尽，大量组被屏蔽；零微批指标污染熵汇总，不能直接解释成策略塌缩 | `paper-rl/results/clean_arms_audit_20260927.json` |
| 没有交代完整CF离线审查已经结束 | 完整 pilot 与244例目标服务复测已完成；离线服务阻塞已解除，生产训练消费未验证 | `paper-rl/PILOT_DISPOSITION_20260927.md` |
| 仅列镜像可用性待查，遗漏已完成的全量同步 | 15:26已逐项确认两机500/500 immutable ID匹配；开新任务时再查是否漂移 | `paper-rl/results/eval_image_availability_20260927.json` |
| base精度处理被列为待选项，缺少原始base主行约束 | 原始base仍是主行；转换仅是开发诊断，不能挑较差base制造提升 | `paper-rl/PRECISION_LOADING_NOTE_20260927.md` |
| batch11只有三个一般性未决 | 包含一个gold未决：Matplotlib22719 的4个固定P2P状态为XFAIL | batch11原始 observation、binary audit |
| “无报警”能证明所有日志/判分正常 | 只能说明现有监控没有触发其检查项；不能据此证明零异常、每步参数都更新或模型效果良好 | `paper-rl/analysis/observe_training_quality.py` |

## 3. 当前真实状态与资源归属

### 3.1 活跃 O42-retry1 与已停止的旧 O42

当前run为 `rl9b-cfcredit-scm-O-s42-b16n8-lr1e-6-20260927-retry1`，位于 `rl/runs/skyrl-qwen35-9b/`。

| 项目 | 当前证据 |
|---|---|
| 启动 | 09-27 23:38:16；原base、seed42、resume=none，固定80调用 |
| 当前阶段 | 08:41完成调用1–18，第19次已准备；首三次消费384条完整判分、step10参数改变已核验 |
| GPU | 10推理+4policy；08:41两机14张授权卡均加载，gpu08 0–5瞬时99–100%，gpu23六卡100%两张0%；这是瞬时采样，不代表持续利用率 |
| 保护对象 | gpu08 GPU0原小服务仍在；GPU6/7不使用 |
| 配置变化 | 仅新数据路径、run名及4个输出路径；算法/学习率/温度/资源布局不变 |
| 输入核验 | 每机3168文件、2384别名及环境版本通过，旧775项绑定未变 |
| 来源核验 | CPU Ray driver和两机parent/child共5进程实际导入新runtime，未初始化CUDA |
| SwanLab | `https://swanlab.cn/@zly7/rl-qwen35-9b/runs/pgk0zqiy` |
| 监督 | 精确driver、容量和消费健康检查，72h上界，不自动重启；另有只读质量观察器 |

在 `rl/runs/rl-paper-20260927/` 下查：

- `O42-retry1-launch-plan-v2.json`、`O42-retry1-release-v1.json`、`O42-retry1-preflight-v2.json`；
- `grading-recovery-v1/manifest.json`、`runtime/`；
- `credit-monitor-rl9b-cfcredit-scm-O-s42-b16n8-lr1e-6-20260927-retry1/latest.json`；
- `quality-O42-retry1/latest.json`。
- tmux `rl-O42-retry1-20260927`、`rl-O42-retry1-quality-20260927`。
- run内`launch-identity.json`及`logs/launch_20260927_233816.log`。

启动证据 `paper-rl/results/O42_retry1_startup_20260927.json`，初始4份检查 `O42_retry1_initial_verdicts_20260927.json`；更新快照 `O42_retry1_verdict_snapshot_20260928_0017.json`。完成时间选择的早期样本不能估计成功率，也尚未证明被trainer消费。模型删除setup.py案例见 `O42_retry1_model_install_failure_20260928.json`，新规则减少负反馈的风险已经写入论文限制。

首三次消费核对：`paper-rl/results/O42_retry1_first3_checks_20260928.json`、`O42_retry1_first3_source_binding_20260928.json`。首批与第2/3批独立收据分别为 `O42_retry1_update1_admission_20260928.json`、`O42_retry1_updates2_3_admission_20260928.json`。按alias/rep/weight-version将384行唯一连接至原始trial，完整报告/观测/完成记录/原始及canonical日志匹配，无未决连接；各批128 live，O辅助信用0。完成事件前缀与原始三条指标行已封存，native reward不等于加格式/P2P规则后的终局训练reward。

| 完成调用 | policy entropy | grad norm | microbatches |
|---|---:|---:|---:|
| 1 | 0.420657 | 0.089603 | 105 |
| 2 | 0.394302 | 0.095124 | 105 |
| 3 | 0.399950 | 0.100206 | 103 |
| 4 | 0.432025 | 0.101348 | 107 |

上述指标是实际返回和数值健康证据，不能单独证明权重改变。**另行完成的step10存点审计**已经提供参数变化实物证据：04:52完成导出、04:59执行器CPU检查结束，05:35独立审查结束。原base分片/索引身份匹配；427个语言张量键和形状完整，共8953803264个元素逐个比较，dtype对齐后329个张量、507546099个元素改变，导出/base/cast-base均无非有限值。329个改变张量在原base和导出中本来都是BF16，变化不能仅由F32→BF16转换解释。

主收据 `paper-rl/results/O42_retry1_step10_parameter_audit_20260928.json`、`O42_retry1_step10_parameter_closure_20260928.json`；独立闭环 `O42_retry1_step10_independent_review_20260928.json`，审查trace `paper-rl/.aris/traces/experiment-audit/2026-09-28_O42-retry1-step10-weights/`。新鲜Astra ultra独立扫描复现全部数值，结论仅限存储权重，same-family/provisional。保存日志是CR/LF归一化、按存点完成标记截断并加末尾LF的文本摘录，不是原始字节前缀；审阅者首次按字节前缀检查失败的记录也保留。

`quality-O42-retry1/latest.json`中的`parameter_change_independently_verified=false`是观察器的静态字段，它不读这次审计；不要为改绿灯热改冻结代码。首1–3次没有逐次存点，step10差异不能倒推每次调用都改变参数，也不能说明模型效果提升。第12次实际entropy0.403365、grad norm0.069231、89 microbatches；这些仍是训练指标，不是终评。

两例模型破坏安装的未判分已定位：Django13807删除setup.py；Requests1142动作删除根目录Python文件。后者存储patch截断，归因依据实际动作/工具结果及安装日志。见 `O42_retry1_install_failures_20260928_0102.json`。两例均不在首三批消费行中，但固定R-03屏蔽/重采样规则可能减少模型失败的负反馈；要持续分臂统计，不能热改输入或追认0分。

driver PID1540420/birth357257764位于gpu08 skyrl-rl容器，namespace4026544285。任何操作重新检查run、host、birth和namespace；不能拿容器PID直接在宿主机kill。系统Python执行pidfd控制，训练仍用原venv。

旧run不带retry1：40次完成、41只准备，22:41精确停止。37个缺native报告零分中，第40步消费18个、第5步消费1个，训练反馈受污染。主要是评分器依赖下载失败，早期那条为GitHub请求失败；外层日志显示4F2P通过，仅用于诊断，不能补造报告/分数。ckpt30/40与HF10/20/30/40保留为故障记录，不能进入主比较或用于恢复。证据为 `O42-missing-report-joined-v2-20260927.json`、`O42-integrity-stop-decision-20260927.json`、`O42-integrity-stop-events-20260927.jsonl`。初次join因版本键类型错误得0匹配，其更正v2和原稿均保留。

修复：离线原生评分闭包先保存测试输出，完整report/observations/completion一致才写/消费奖励；缺报告不凭stdout補0。独立审查发现“有效0后缺TITO元数据仍重采样”的旧路径，R-10声明后修为停止并屏蔽原轨迹。可能改变负反馈、屏蔽和成本，须按臂报告。11项实际函数控制流检查用模拟远程执行/token元数据，不是模型实验；另有真实保存判分3例、损坏证据2例。审查same-family/provisional。

旧step10对base327/427张量变化，step30对step10为330/427、685957159元素变化、非有限0；只证明权重改变，不能挽救受污染的训练比较。日志无时区时间可能为UTC−7，判断新鲜度用mtime/带时区监控。利用率会随加载、同步、生成、policy阶段改变。

### 3.2 两台机器

| 机器 | 地址 | 可使用GPU | 快照中的容量 |
|---|---|---|---|
| gpu08 | 192.168.10.131，当前宿主机 | 0–5；GPU0有须保留的小服务 | /data1约1.84 TB可用；根盘约36.0 GB；08:41网络57 |
| gpu23 | 192.168.10.130，SSH别名`gpu23` | 0–7 | /data1约5.93 TB可用；根盘约66.1 GB；08:41网络34（含2个CPU控制） |

容量数来自08:41监控（十进制TB/GB），不是后继启动承诺。原有监督阈值：网络数>180，任一监测盘可用空间<10GiB或inode<100000会触发处理。实测一个原生checkpoint约125.4 GB、一个HF导出17.93 GB；配置保留2个原生checkpoint。若每臂保留9份HF（10…80及收尾81），模型产物约412 GB/臂、10臂合计4.12 TB，尚不含trial/log增长、其他用户和格式变化。见 `paper-rl/results/training_storage_budget_20260928.json`。后续需按完整臂预算安排已核验产物归档，不能只看10GiB应急线；本次没有搬动或删除任何存点。

gpu08 GPU6/7属于jev，不能借用。GPU0常驻小服务也保留，现有launch材料按其PID/出生/boot/argv摘要识别，不能把“用户名是zly”当成可以停止的理由。

`gc-orphan-networks` 仍在tmux中，每20分钟处理老的无容器Compose网络。`codex-capacity-watcher` 也存在，不能盲目停止；仓库还被 `paper-jev/` 并行使用，提交只包含本任务文件。

### 3.3 CPU控制进度：原定剩余223题全部执行结束

权威完成清单为 `rl/runs/rl-paper-20260927/discovery-queue-completion-20260928.json`：9–18批的223个任务、446个gold/empty槽均有尝试记录，逐批成员与原计划一致，无缺槽/重复。所有实际批次状态为complete_requires_review。这里的“结束”包括超时和未决，不等于全部成功，更不等于500题同版本验证。原队列manifest/status原样保留；没有batch19，也没有尚未启动的原队列任务。

原队列 `cpu-control-queue-v1` 在batch10后停止，原因是一个gold控制没有达到预期，触发只读二元审计断言。队列状态内batch10仍写`running`是失败路径留下的历史字段；批次自己的状态/worker证据显示它已完整执行并退出，不能把该字段当成还活着。

batch11随后经过具名续接决定单独运行，18:52完成。已在gpu23只读确认worker exited，48个精确project无容器/网络残留。独立逐例归因已完成。batch12经新的具名决定于20:03单独启动；没有重启旧队列，也没有修改旧gold完整性门。

| 批次 | 原报告符合预期 | 完整观测且控制分数匹配 | 报告层二元诊断 | 未决 | 独立逐例归因 |
|---|---:|---:|---:|---:|---|
| batch7 | 48/48 | 37/48 | 41/48，含4个部分观测0 | 7 | 已完成，WARN/provisional |
| batch8 | 48/48 | 36/48 | 37/48，含1个部分观测0 | 11 | 已完成，WARN/provisional |
| batch9 | 48/48 | 39/48 | 40/48，含1个部分观测0 | 8 | 尚未逐例完成 |
| batch10 | **47/48** | 完整观测审核通过36/48 | 脚本在gold不符处断言，没有完整binary receipt | 不猜测总数 | 已查Django16502；其余不完整项未整体结案 |
| batch11 | 48/48 | **44/48** | **45/48**，含1个部分观测0 | **3** | 已完成，WARN/same-family provisional；原判定不变 |
| batch12 | **44/48**；worker旗标45/48 | **44/48** | **47/48**，含3个不符参考预期的分数 | **1**缺报告 | 1724/6028已复核，2317与缺报告已定位；非整批冷审 |

“原报告通过”只指gold=1/empty=0等原控制合同符合预期，不能读成“全部测试都运行且通过”，更不能读成模型解题率。

权威目录：`rl/runs/rl-paper-20260927/fixtures/eval500-newprofiles-batch11-observed/`。其中 `raw-audit.json`、`observations-audit.json`、`binary-audit.json` 是已完成只读检查；`status.json`仍叫`complete_requires_review`符合事实。

**batch12已在21:17结束**，48记录完整，worker及48个精确项目均退出。三个分数差异为Requests1724 empty=1、2317 gold=0、6028 gold=0；另xarray4966 empty虽有reward.txt=0，但评分器依赖下载超时，缺正式报告/观测/canonical log，不能当合法native0。47个二元报告诊断包含前述三个不符合参考预期的分数，不等于47个控制通过；缺报告案例没有调用report_outcome，诊断明确留未决。入口 `paper-rl/results/control_batch12_20260927.json`。

batch12续接依据在同目录 `manual-continuation.json`、`preflight-reviewed-v1.json`、`started-observed.json`：仅继续独立环境调查，明确旧gold门未通过；核验前批退出、原14项冻结源、24个镜像ID及资源。plan SHA256为 `1e92a748958fb1fd1cd445e13d7382c47c7d98e9fdd4a9b3a3408ea71bdeb339`。这不放行正式评测。

**batch13于22:44:15完成48控制，worker及48个精确project退出已复核。** 原始检查45/48，完整观测41/48，报告二元诊断42/48（含1个部分观测0），6未决。xarray7393 gold/empty评分器下载失败缺报告；pylint4551/4604/4661 empty缺充分观测；pylint6528 gold缺4个P2P观察。6528 empty有实际F2P失败可判部分观测0，不等于gold也可判。独立审查定位到核数跳过和compact skip ID缺失。09-28新2-CPU候选（只改task.toml）得到gold/empty=1/0，各175固定ID完整；每次仍有2个名单外失败，旧0/0和未决记录保留，候选尚未共同采用。另三个empty已独立归因为collection abort：4551缺get_annotation，4604缺IS_PYPY，4661缺appdirs；维持原未决，不能当parser漏记去修分。入口 `paper-rl/results/control_batch13_20260927.json`，原始目录 `fixtures/eval500-newprofiles-batch13-observed/`。

**batch14于00:52:38完成48控制**：raw46、严格44、报告二元45（含1个部分观测0）、未决3。原14710两条均30分钟超时、无reward；15100 gold原生1含固定ID的XFAIL，严格准入未决，empty有明确F2P失败而可判部分观测0。worker及48精确项目退出。新14710候选仅设置OMP/OPENBLAS/MKL线程1，gold/empty=1/0、64固定ID完整；80raw cases有16重复解析键但无状态冲突。旧进程实测255线程/1CPU，新实际线程数未测；新pair外层约59/62秒，旧超时不覆盖、不宣称稳定因果加速倍数。入口 `paper-rl/results/control_batch14_20260928.json`、`sklearn14710_thread1_control_20260928.json`。

**batch15于01:13完成48控制**：共同候选下原24任务，raw/strict/report均48/48，1222固定ID观测完整；worker及48项目退出。摘要 `paper-rl/results/control_batch15_common_20260928.json`。尚未对全批逐份独立重放，不能称全500验证。

**batch16、17、18均已结束并核对worker及精确项目退出。** 实际目录分别为 `fixtures/eval500-newprofiles-batch{16,17,18}-common-v5/`；按原顺序显式续接，使用共同候选+V5、2并发、0GPU、2h界限。V5只将进程核验/信号控制改用支持pidfd的系统Python，worker仍用原venv；没有自动续批或自动重启。

| 同版本控制 | 题数/控制数 | raw符合预期 | 严格完整观测 | 报告二元结果 | 未决 |
|---|---:|---:|---:|---:|---:|
| 整合8题 | 8/16 | 16 | 16 | 16 | 0 |
| batch15 | 24/48 | 48 | 48 | 48 | 0 |
| batch16 | 24/48 | 48 | 40 | 41（含1个部分观测0） | 7 |
| batch17 | 24/48 | 48 | 43 | 43 | 5 |
| batch18 | 7/14 | 14 | 10 | 10 | 4 |
| 补验01 | 24/48 | 47 | 44 | 45（含1个不符empty预期的1） | 3 |
| 补验02 | 24/48 | 48 | 40 | 42（含2个部分观测0） | 6 |
| 合计 | **135/270** | **269** | **241** | **245** | **25** |

最新汇总为 `paper-rl/results/common_profile_runtime_coverage_v3_20260928.json`；旧87/111题版本原样保留。共同候选余365题尚未形成该版本完整结果；早期其他版本的调查不能加到135的分母。245个二元报告诊断中1个不符合empty预期，因此不是245个控制通过；严格完整观测且符合gold/empty预期的是241个。整合16条和若干异常切片做过独立重放，不能称全部270条都经冷审。

**补验01于06:42结束。** 从原87题之外按字典序取24题（19Astropy/5Django），48记录完整，worker及48个精确project均退出；源/profile/patch审核47、完整观测且预期相符44、报告二元45、未决3。Django10097 empty原生1已独立归因，见8.11；10554/10880/10973 empty原生0但严格判定仍未决，不补0。目录 `fixtures/eval500-common-validation01-20260928/`，摘要 `paper-rl/results/common_validation01_completed_20260928.json`。原始分数、失败检查与状态均保留。

**补验02于07:39:18结束，07:45独立确认worker和48精确项目退出。** 24题/48控制的原报告全部符合预期，完整观测且预期相符40，二元报告诊断42，6个empty未决：Django10999、11099、11141、11206、11265、11451。11276、11477有独立FAILED证据支持部分观测0，其余ERROR不补判。摘要 `paper-rl/results/common_validation02_completed_20260928.json`。这6个新未决尚未逐例独立归因。

**当前活跃CPU批次为补验03，08:40:48显式启动。** 固定500减去已完成135题，从剩余365题按字典序取首24题，均Django，48个gold/empty；不按分数选择。目录 `rl/runs/rl-paper-20260927/fixtures/eval500-common-validation03-20260928/`，tmux `rl-cpu-common-validation03-20260928`，08:41确认worker PID1372022/owned、已有2条记录。0GPU、2并发、每trial1800s、监督7200s，复用V5，不自动重启/接续。启动前368源码/profile、24镜像、环境版本、补验02和保存补丁fixture的50精确项目退出已核验。收据 `paper-rl/results/common_validation03_launch_20260928.json`。不提前计入完成覆盖；结束后完成三类审核和精确退出检查。

**状态更正（09:02）：** 上一段关于“当前活跃CPU批次”的文字是08:41启动时记录。补验03现已在08:57完成；48个raw控制全部符合预期，严格完整39个，9个Django empty保持未决，详见 `paper-rl/results/common_validation03_completed_20260928.json`。以下任务表和未决清单以本更正为准。

截至15:55，O42在第34次调用后随父 `skyrl-rl` 容器 exit137 外部终止，Docker `OOMKilled=false`，driver控制进入review；step20/step30均已审计，step30为329个变化张量、823171568个变化元素、无非有限值。父容器之后被外部重新启动，但没有O42恢复证据，不把它当自动恢复。补验16同一父容器中止，仅2条记录，未计入覆盖；两个残留 scikit-learn 容器/网络已精确清理。详见 `results/O42_retry1_external_termination_20260928.json`、`O42_retry1_step30_parameter_audit_20260928.json` 与 `common_validation16_aborted_20260928.json`。顶部状态段保留为历史快照，接手时以本句和 `STATUS_20260928.md` 为准。

## 4. 研究目标、方法与冻结设置

问题：长程代码轨迹只有终局奖励，难以把辅助学习信号送到有贡献或有破坏性的编辑轮次。当前方法在完整最终产物上移除一个预先选定的编辑块，比较判分，再把差值映射回生成该编辑的完整assistant轮次。

选块不看成绩：连续有文件变化的轮次组成块；筛去测试路径、净效应为零及后续又改过同路径的块，再按rollout key和块索引的确定性hash选一个。反事实保留其他最终文件，只把所选路径恢复到块前状态；不是额外生成一条后续轨迹。

训练效用为 `U=Y+0.25F−0.25G`，`D=U(original)−U(counterfactual)`。Y是resolved，F是固定F2P通过比例，G是任一期望P2P不通过的指示量。训练报告adapter中缺失/跳过按不通过处理；缺失/不可解析报告是unavailable。这个训练定义不等同于正式评测对实际测试观测的更严格准入。

| 臂 | 辅助项 | CF查询 | 作用 |
|---|---|---|---|
| O | 0 | 不做 | 共同终局RL对照 |
| B | 在全部有效生成token上广播 `λDs` | 合格轨迹最多一次 | 与M同类额外判分信息的对照 |
| M | 在所选块完整产生轮次上加 `λDsL/m` | 合格轨迹最多一次 | 检验定位是否优于广播 |
| E | 所选轮次加 `clip(λAL/m,−c,c)`，A是加信用前终局组优势 | 不做 | 廉价终局编辑聚焦对照，不取代B |

其中L是有效生成token数，m是接收信用token数，`s=min(1,cm/(λ|D|L))`（D=0时取1），λ=0.1、c=1、查询率p=1。M/B在同一条参考轨迹上原始带符号质量和L1质量相等；L2质量、DPPO mask、实际梯度范数并不相等。

共同terminal reward包括格式错误−0.5与P2P回归−0.25规则。B/M的信用加在组中心化后的advantages里，**没有混进terminal reward，也不改变terminal returns**。在线reward即使定义一致，也不是同栈测试成绩：策略、轨迹、异步版本和实际消费样本不同。

冻结训练配置：

- 基座 `/data1/models/Qwen3.5-9B-c2022362`，原始revision `c202236235762e1c871ad0ccb60c8ee5ba337b9a`；新run、resume=none。
- 149题、2384原别名、dev39；训练集 `rl/data/sbvtrain2384-clean-scm-v3-20260927`，基础profile `rl/data/sbvtrain149-clean-scm-v3-20260927`。
- Django7530因已确认官方评分名单遗漏而前瞻隔离出训练；原pilot320和正式官方500的成员/标签/分母不改。
- batch16题×8；80次训练调用；lr1e−6；未按标准差归一化GRPO；DPPO阈值0.15；prompt_mean；sample_full_batch=false；zero_variance_filter=false。
- 98,304上下文；温度1；top_p=1、top_k=−1、min_p=0；预算提醒0.35；Harbor超时**×2**。
- 主沙箱并发64；10推理+4policy；policy TP4；CF在gpu23，24并发、单次超时1500s；保存每10步，checkpoint保留最近2个。
- 训练必开SwanLab。参数细节以冻结launch/config为准，不为提高表面reward临时改动。

主要代码：`rl/skyrl/swe_skyrl_recipe/{edit_credit,credit_readiness,credit_trainer,terminal_edit_focus,tito_harbor_generator}.py`；论文方法推导在 `paper-rl/paper/sections/3_method.tex`。

## 5. 为什么旧 O/B/M 全不能当新主比较

这部分已查出具体问题，不应再从“B为什么熵低”重新调查一遍。

1. 旧B在首更新前已发生Docker地址池耗尽。审计记录3841条含该原因的无判分警告，第二次尝试仍失败1079条；一条非超时错误会把8个兄弟轨迹整组屏蔽。被屏蔽微批的零指标会拉低熵汇总。
2. 旧M retry采样版本30–79的6316条已记录轨迹中，5197次CF查询因临时存储不足全部不可用，非零信用为0。采样版本不等于优化步数，预取日志条数也不等于消耗条数。
3. 原判与CF的Git/SCM上下文曾不一致，pytest7490存在原判安装成0.1.dev1而无法执行测试、重建却可执行的反例。旧pilot只检查排序前100条，实际仅覆盖Astropy/Django，不能当跨仓库完整性证明。
4. 更早的M还发生过通过Git历史读取标准答案的污染；这些run和失败记录保留作故障分析。

恢复方案改变了共同Git/SCM环境、数据准入与资源卫生，必须重新做相匹配的O/B/M。不能仅重跑B、再拿旧M/O拼主表。

复核入口：`paper-rl/RECOVERY_PLAN_20260927.md`、`paper-rl/results/clean_arms_audit_20260927.json`、`paper-rl/results/credit_signal_clean_m_20260927.json`。旧run路径见这些审计，不要复用其输出目录。

## 6. 已完成的pilot/信用证据，以及真正未完成的验证

| 已完成证据 | 数字/结论 | 不能据此声称 |
|---|---|---|
| 基座开发pilot | 原dev40×8=320槽，319有原判；1条模型删除setup.py的未判保留 | 策略学习增益 |
| 固定事实重建 | 每题rep0/3/6，共120；已保存报告逐测试标签匹配 | 每个标签都必定实际执行、所有未来模型补丁都可重建 |
| 原CF | 244查询可用；92非零，87正/5负；83/92触发cap | 100%模型解题率、每条信用都精确归因 |
| dev39层 | 238查询，89非零，84正/5负；80/89触发cap | 用此层替换原320分母 |
| 失败原轨迹信号 | 17条非零，12正/5负，跨14题6仓；正项6来自F2P、6仅来自P2P | 失败信用已经造成模型提升 |
| 目标CF服务复测 | 同244产物，gpu23并发24/保留镜像；报告逐字节一致，均值115.142s、p95(lower)189.929s | 长期在线排队稳定性、单独缓存优化的因果效果 |
| 原服务失败 | 均值237.274s、p95416.930s未达180/360门槛，记录保留 | 用新数字覆盖旧失败 |

当前接受决定在 `paper-rl/PILOT_DISPOSITION_20260927.md`：**离线pilot与目标部署服务的等待已结束，下一步是把这些条件落实到真实B/M训练。** 原O readiness中 `cf_pilot_accepted=false` 反映它启动时的历史，不表示现在CF离线工作还没完成。

开发CF缺失观测还做过独立切片核查：27报告/23对，涉及语法缩进、导入名称、类初始化；部分正D来自恢复项目可执行性。因此论文要保留这个解释限制，不能把所有正D都叫“修复目标bug的精确信用”。见 `paper-rl/CREDIT_ORIGIN_FINDINGS_20260927.md` 及 `.aris/traces/experiment-audit/2026-09-27_pilot-missing-observations/`。

尚未完成：B/M真实生成轨迹进入trainer后的CF可用率、非零辅助行/质量、前3次训练调用、实际参数改变和最终学习效果。对D=0的合法反馈不能当基础设施失败；对无效查询也不能静默记成有用的0信用后一直训练。

## 7. B/M/E启动材料：历史证据与恢复要求

**旧B42-v3计划不适用于修复后的主比较，不能执行。** 当前实际入口 `staged/training-recovery-20260927/`只放行O42retry1；其runtime已保留此前CF计时修复。后继9计划已在 `rl/runs/rl-paper-20260927/credit-after-recovery-plans-v2/`生成并通过原生配置解析，仅模式/种子/run路径与活跃O不同；用户的14卡授权已具备，尚缺具体运行的证据release与空闲资源。构建器 `staged/credit-after-recovery-20260928/plan_successors.py`。v1相对路径失败保留，v2绝对路径通过。下述旧材料只作组件证据。

### 7.0 当前后继入口：实现完成，实际放行仍欠

使用 `paper-rl/staged/training-successor-20260928/`，统一收据 `paper-rl/results/training_successor_entrypoint_20260928.json`。预定剩余9条件和04:00前的比较计划一致；从实际O42-retry1的argv/env/cwd生成，只改臂/种子/run名与4个输出路径，复用 `grading-recovery-v1`，原base、149题/2384别名、采样/优化器和14卡配置保持。

F0–F3全部完成：真实CLI、临时模拟拒绝/身份交接、两机各9份真实SkyRL配置解析（CUDA未初始化），以及一次实际忙碌拒绝。最新 `rl/runs/rl-paper-20260927/successor-entrypoint-check-v3/` 中每机3179输入/2384别名匹配，其中含11个原始模型/分词器身份文件；实际preflight有31个拒绝理由，后继进程没有创建。v1/v2保留历史，未来改源后另生成计划。

首轮新鲜Astra xhigh假设审查发现3个具体问题：当前profile/alias manifest未对照bundle冻结哈希；退出检查导入未绑定analysis辅助脚本；SPEC未准确说明继承的自动精确清理。已用既有冻结哈希和已绑定recovery/ops修复，适配审阅者的临时反例验证“同步改判分配置/同步重映射alias”均拒绝；第二轮没有剩余未声明假设或陈旧声明，same-family/provisional。

正常前驱只接受确切retry1或新矩阵run，必须满足1–80各一次完成、原生Training done、完整80导出/原生checkpoint及原始base上的参数审计。导出必须包含427个语言张量（原775中只排除333 visual和15 mtp）；dtype匹配后有实际变化且无非有限值。B/M另有明确CF审阅/证据接口。只读preflight不会清理或发信号；真正启动后复用的监督器会在确认driver退出后清理该run精确资源，不自动重启或接下一臂。

**实现验收不等于启动放行。** `B42-unready-release.json`故意不ready；尚缺真实O80/终点参数/资源退出以及针对恢复后runtime/profile的CF审阅。不能在当前O运行时启动另一个14卡run。首3次只读质量检查和首个原生存点参数审计也不能由这些CPU工具检查代替。

CF材料可复用范围见 `paper-rl/results/cf_recovery_applicability_20260928.json`：恢复runtime相对其声明的next-credit父版本，7组件字节相同、3个CF函数AST相同，149题的config/资源/Dockerfile/instruction未变；改变是离线判分与factual奖励准入。该静态对比不是与原pilot部署的全代码等同，也不证明当前Ray RPC或生产可用率。已有244完整服务复测已被接受，不应无理由重做整个pilot；需据这些边界形成具名CF适用性审阅，生产CF仍在B/M真实消费时验证。

### 7.1 恢复前的三层历史材料

| 层 | 路径 | 当前状态 |
|---|---|---|
| 活跃O历史绑定 | `rl/runs/rl-paper-20260927/training-readiness.json` | ready_arms仅O；24源、747 profile项、4证据项；保持原样 |
| 独立候选recipe | `rl/runs/rl-paper-20260927/next-credit-run-v1/runtime` | 两机已分发；27文件；真实CPU Ray driver/两机parent-child共5进程导入检查通过 |
| 显式后继入口 | `paper-rl/staged/credit-launch-20260927/` | F0–F2、13本地检查、原生配置解析、两轮假设扫查及独立文档检查完成；真实GPU启动未执行 |

候选生成器SHA：`5636190f7114e2647f93f61d1d615f7526fa0195a77b8f7916773f1615018a1a`，源绑定在 `paper-rl/staged/credit-timing-20260927/source_binding.json`。

两项有意的实现变化须记入下一run：稳定query ID/排队与service生命周期记录；CF的Ray `max_retries=0`，禁止框架透明重复trial。成功CF的原始系数对比通过；计时写入失败会走unavailable/health路径，因此不能描述成“绝对零行为变化”。

只隔离driver cwd还不够，要同时设置独立PYTHONPATH及`SKYRL_PYTHONPATH_EXPORT=1`。实际Ray worker保留raylet cwd，但加载来源已核对为独立副本。`reference-only/`中的旧backend仍含覆盖共享recipe的rsync，不能执行。

### 7.2 停训前的历史入口与未放行release

- 脚本：`paper-rl/staged/credit-launch-20260927/launch.py`、`preflight.py`、`native_config.py`。
- 计划样例：`rl/runs/rl-paper-20260927/next-credit-launch-B42-v3.json`。
- 未放行模板：`rl/runs/rl-paper-20260927/next-credit-release-B42-v3.json`，`implementation_ready=false`。
- 已验证的v3计划生成的默认名字仍带`20260927`，不是接手日期占位符；新建其他命名/源版本必须重新生成、校验和绑定，不能悄悄覆盖现有run。
- 结果：`paper-rl/results/credit_launch_validation_20260927.json`；原生配置只出现mode/run路径6项差异。

以上v3属于停训前历史，不再填充或用于启动。当前新模板是 `successor-entrypoint-check-v3/B42-unready-release.json`。release是证据完成记录，不是等待用户再授权；补齐时绑定确切plan、review、CF适用性证据、源/数据身份、真实前驱和参数审计、GPU0保护对象。既有pilot与实现材料按当前适用范围复用；新release另取身份，不为让预检绿灯只改布尔值。

**O42-retry1正常结束后**：核对80次完成、原生日志终止标记、step80真实文件；查现有O监督器的清理结果，再验证两机物理GPU、Ray、精确driver/trial容器/网络。O监督器退出不等同于所有Ray尾部工作结束。不得用全局`ray stop`腾卡。

满足条件后显式执行已复核入口，下一run才转入CF监督器。原生入口、秘密SwanLab key环境继承、全局启动锁和driver身份交接都在代码中；不得手工套用旧backend绕过检查。

### 7.3 监督与首三次调用

旧监督的规则见 `paper-rl/analysis/monitor_credit_run.py`及 `paper-rl/CF_MONITOR_NEXT_RUN_20260927.md`；当前O使用 `staged/training-recovery-20260927/ops/monitor_credit_run.py`，在gpu08宿主机运行，控制调用系统Python。后继B/M必须保留这个pidfd解释器修复并严格关联query ID，E无CF。监督不按reward高低停止、不自动重启：

- 连续16次已发查询不可用，或64次窗口可用率<95%；trainer另检查消费批次有效行与查询前准入失效。
- finished后120秒缺终态、持续观察到的RPC超过1800秒、容量阈值、72小时监督上限均有对应处理。
- 清理需验证driver已退出与精确trial归属；不删镜像、不把remote机器上同数字PID当原driver。

B42和M42各自前3次必须核查有效组、实际消费的辅助行/质量、查询可用率、有限loss/梯度，并取得参数或checkpoint变化证据。函数返回不等于优化器每步已验证，更不等于方法好于O。

## 8. CPU环境问题的具体处理入口

### 8.1 batch11：逐例归因已完成，准入语义仍未解决

| 任务/对照 | 现场记录 | 二元准入 | 已核实原因/剩余边界 |
|---|---|---|---|
| `django__django-17084` empty | F2P `test_referenced_window_requires_wrapping` 为ERROR | unresolved | 测试体queryset.aggregate触发SQL编译器 `misuse of window function AVG()`；配对gold通过。原规则不自动将ERROR改0 |
| `django__django-9296` empty | F2P `test_paginator_iteration` 为ERROR | unresolved | 测试体iter(paginator)报不可迭代；gold增加Paginator.__iter__后通过。保留原未决 |
| `matplotlib__matplotlib-22719` gold | 4个固定P2P标签状态为XFAIL；原reward=1 | **unresolved** | 原生parser按空格截断参数名并后写覆盖，将scatter/bar的PASSED与plot的XFAIL合并；基准源只给plot标xfail。静态标记不证明每个测试体执行 |
| 同题empty | 同4个XFAIL，但另有目标F2P `test_no_deprecation_on_empty_data` 实际FAILED | 已准入0，部分观测 | 该witness只证明二元0，不补齐另外4个状态 |

Matplotlib涉及 `TestPlotTypes::test_mixed_type_exception[number/string`、`test_mixed_type_update_exception[number/string`，精确ID以config和原observation为准，不能自行“修全”标签字符串。当前代码原生grader可将XFAIL记入success；严格consumer仍保留未决。这是**需要决定并验证的共同评测语义/兼容性问题**，并不直接证明测试环境坏了。

完整审查在 `paper-rl/.aris/traces/experiment-audit/2026-09-27_batch11-control-attribution/EXPERIMENT_AUDIT.md`及JSON：48/48原生parser/report/reward复现，792个输入前后不变；10个非PASSED/FAILED状态为2 ERROR与8 XFAIL，无缺失原生expected ID。原48/44/45/3统计保持不变。Matplotlib13989 gold另有固定标签外167 failed/73 skipped，包括FreeType版本、pandas/SVG依赖问题，因此不能把其原生1描述为全套测试干净。

共同观测合同候选在 `paper-rl/staged/observation-contract-v2-20260927/`，**完整准入规则尚未实现或采用**。revision3明确了独立FAILED与不支持XFAIL的优先级、参考集合变化和同item重试；第三轮设计审阅为限定范围PASS、same-family/provisional。56项合成检查只验证原生输入/parser/score，不是准入实现或模型实验。后续采集、成员诊断、参考/宿主接收组件已完成（8.7），旧严格合同slot接入已完成（8.7.4），新规则聚合与准入仍欠。旧XFAIL记录不能靠改文案追认通过。历史归因入口 `paper-rl/results/control_attribution_batch11_20260927.json`。

### 8.2 batch10：已查明的代理变量污染

原Django16502 gold的目标F2P已通过，但P2P header断言出现额外HTTP_PROXY条目；原gold/empty均0。独立候选只为测试子进程删除8个大小写proxy变量，安装与父进程/评分依赖环境保持原样，官方patch、测试断言、标签不变。

| 控制 | F2P | P2P | 原始reward |
|---|---:|---:|---:|
| 原gold | 1/1 | 3/4 | 0 |
| 原empty | 0/1 | 3/4 | 0 |
| 候选gold | 1/1 | 4/4 | 1 |
| 候选empty | 0/1 | 4/4 | 0 |

证据：`paper-rl/results/django16502_proxy_control_20260927.json`、`paper-rl/staged/verifier-proxy-20260927/`、`rl/runs/rl-paper-20260927/fixtures/evalctl-django16502-no-test-proxy-v1/`。

独立审计支持这个狭窄候选，WARN/provisional；每条件只有一次，八变量一起变化，不能声称HTTP_PROXY唯一因果、重复稳定性或500题已全修复。该题不在当前149训练池；O的输入没改。

复制计划时曾遗留旧batch10的selection_algorithm/selection_inputs。实际tasks/selection已指定单题，但元数据确有矛盾；原plan保留，追加 `plan-selection-correction.json`。修复后的2控制不能反向把原batch10的47/48改成48/48。

### 8.3 已纳入共同候选的兼容性修复及其限制

- Astropy7606：pytest3.3.1空字符串参数ID回退问题；窄shim恢复固定ID，gold/empty与242预期测试观测验证。弃用过的pytest4.6.11尝试保留。
- Astropy8707：pytest7.4的旧nose warning被当error；候选pytest7.1.3加stdlib distutils，gold/empty及固定观测通过。
- Astropy8872：vendored distutils警告阻断收集；候选stdlib distutils恢复81个固定测试观测，名单外ERROR仍保留。
- 多个Django案例：subtest、拼接输出、docstring别名导致parser漏配或同名覆盖；batch5/6/7/8已有逐例审计，不能据其批量给未来模型异常计0。
- Django7530、10097有已知官方评分覆盖限制，原始500标签不改。完整空预测的0分规则须走最终产物准入，而不是把空树fixture的native reward当模型提交成绩。

前三项Astropy修复已纳入共同500候选；Django的成员映射/覆盖限制没有因此解决。详见 `paper-rl/EVAL_OBSERVATIONS_AND_COMPAT_20260927.md`（其中早期“进行中/未实现”段落是历史，须结合后继记录）、`paper-rl/.aris/traces/experiment-audit/`。旧149训练控制的298/298是报告合同检查；后来重解析265份有完整canonical观测，不能追认全部都满足最新门槛。

### 8.4 发现队列结束后的处理边界

原队列已全部执行结束。下一项不是重跑9–18批，而是按实际profile和固定任务ID整理未决，再为新的兼容性探针或共同版本补验写独立问题、有限预算和输出目录。已有结果可直接只读重解析；只有新问题需要实际执行时才新建attempt。旧14批等未决不覆盖，不把跨版本累计覆盖当同版本验证。

原自动队列的“所有gold完整”门曾阻止续接，这是有效历史；后续批次有各自具名决定，旧门没有被删除。不能把原队列状态改成成功来掩盖该路径，也不能重启它去重复已完成任务。共同终评环境仍需单独放行。

### 8.5 Requests三类新问题

- **1724：固定评分在这一对参考控制上不区分补丁。** gold、empty均为6 F2P+79 P2P全部PASSED，唯一suite失败在固定名单外，原生1重放一致。Python3.9符合缓存原生规格，不能未经实验把结果归因到Python版本。独立审查 `paper-rl/.aris/traces/experiment-audit/2026-09-27_requests1724-control/` 为WARN。审查者初次误称日志相同，后用初始hash纠正：两份日志的hash、临时目录、耗时均不同，本地22文件与远端一致；原错误及撤回保留在trace，不能再当日志复用证据。
- **2317：外部依赖导致gold失分。** gold的8 F2P通过，133 P2P中1项在外部HTTP请求中连接被重置；empty另有目标F2P失败。固定源码支持HTTPBIN_URL，但off-host测试还硬编码Google地址。只读镜像提取与短时stdlib urllib探针在 `rl/runs/rl-paper-20260927/requests2317-source-inspection/`：普通httpbin/get成功，带Google目标的redirect-to被重置，Google直连失败。不是Requests verifier重跑、未证实精确网络原因或修复；默认环境路线未记录实际代理配置，不能解释为成功的代理对照。
- **6028：独立候选恢复固定控制分数。** 原6项代理清理遗漏no_proxy/NO_PROXY，gold四个P2P因继承环境失败。新profile `rl/data/sbv-requests6028-no-test-no-proxy-20260927/`仅补清这两个变量，21:08在原目标pair退出后单独启动，21:11结束；gold=1、empty=0，二者固定2 F2P+185 P2P观测完整，empty仅2 F2P失败。原/新都有名单外8项缺mocker ERROR及11跳过，不能称全套测试干净。三个只读审核通过，worker退出且2项目无残留。独立审查WARN/provisional，4份原生输出复现、116项声明hash一致、130输入稳定；一次执行/条件不证明长期稳定性。汇总 `paper-rl/results/requests6028_proxy_control_20260927.json`。

**已修复评分器启动路径，旧xarray4966 empty仍无效。** 原pytest外层stdout已有4 failed/21 passed，但随后uv下载评分器virtualenv21.13.0依赖超时，脚本只写reward0，没有native report、逐测试观测或canonical log。worker仅凭reward旗标误计“符合预期”，原始/严格审核将它挡住。后继离线原生评分器已固定依赖并提前保存日志，另有新xarray4966配对控制和265份历史判分重放；修复已用于retry1与共同候选。不能把新控制当成旧缺报告attempt已被补判。对应实现/收据见 `paper-rl/TRAINING_RECOVERY_PROTOCOL_20260927.md`、`paper-rl/results/grading_recovery_paper_update_20260928.json`。

1724/2317的44份原始文件及配置绑定见 `paper-rl/results/requests_control_observations_20260927.json`。6028计划/全部原始记录/审核在 `rl/runs/rl-paper-20260927/fixtures/evalctl-requests6028-no-test-no-proxy-v1/`；启动时与batch12合计最多4个CPU控制、0GPU，没有修改旧队列或O源。来源补丁在 `paper-rl/staged/requests6028-no-proxy-20260927/`，精确退出复核在 `paper-rl/results/requests6028_runtime_completion_20260927.json`。6028修复已纳入共同候选，1724的参考非区分性和2317的HTTP问题仍保留；这些均不是模型效果。

### 8.6 共同500候选已整合并完成限定验证

目录 `rl/data/sbv500-common-offline-candidate-v1-20260928`，源/转换器在 `paper-rl/staged/common-eval-profiles-20260928/`。7覆盖为Astropy7606/8707/8872、Django16502、Requests6028、Pylint6528、sklearn14710；其余使用固定v6来源，全部统一离线原生评分闭包。500成员、config/instruction/Dockerfile/镜像身份保持，7501任务文件+1顶层manifest。独立源审查核对13527 path-entry/10569物理路径、500脚本变换与语法。

合并后选择7覆盖+xarray7393，8任务16前瞻gold/empty控制全部raw/strict/report通过，独立native重放一致，1678固定ID观察完整。名单外失败、ERROR、XFAIL、skip及parser重复键保留，不称全suite通过。worker和16项目退出。权威闭环 `paper-rl/results/common_eval_profile_closure_20260928.json`，源PASS、整合整体WARN/限定对照PASS，same-family/provisional、复用审阅上下文。原preparation/integration收据pending字段保留其生成时点，后续状态使用sidecar。

这不是500题runtime验证、观测合同采用、真实模型服务或终评放行；manifest的execution_ready/adopted仍false。v1控制plan在dispatch前缺image_tag失败，v2仅补从原Dockerfile得到的8tag和来源后执行。已绑定文档/摘要的一次临时说明追加已恢复原字节，未来批次说明和当前审查状态移至独立文档/sidecar；哈希证明端点相等。

同版本后续已完成159题/318控制，34未决，另有一个empty1不符合参考预期；数字见3.3。剩余341题未形成本版本完整结果；补验03已经结束，9个Django empty仍未决。需区分可重放证据和需新执行的环境变化；不能只改manifest的ready字段或把旧通过数相加。

### 8.7 pytest阶段采集器：F0–F2完成，正式准入仍欠

按 `aris:research-implement-feature` 实现，代码为 `paper-rl/staged/phase-observer-20260928/`，实际参考profile为 `rl/data/sbv-phase-reference-candidate-v1-20260928`。组件将收集到的完整nodeid、标记声明、setup/call/teardown报告及异常类写入独立JSONL，不计算成绩，也没有装进当前训练。

- F0真实最小pass/fail和输出复用拒绝检查通过。首次在宿主/训练venv执行因缺pytest失败，原失败保留；后来使用已固定任务镜像，未向活跃环境装包。
- F1合成8item/23个phase报告，覆盖静态/动态XFAIL、run=False、XPASS、条件字符串不重复求值、含空格完整ID和raises/strict声明；不把合成测试称为模型或真实benchmark效果。
- F2真实Matplotlib22719和sklearn15100各gold/empty共4控制：分别收集98与111个item，pytest8.3.3与6.2.4；每次分别8与4个XFAIL报告，均在call阶段。计数包含固定名单外item，不是固定测试覆盖数。全部worker及精确项目退出。
- 对历史基线的完整native report、状态图/实例身份和新gold1/empty0核对一致；不要求日志字节、耗时或metadata相同。比较还跨越了旧在线/新离线评分器，因此不是隔离插件单因素的因果验证。
- 当前严格consumer仍给2个empty有效0、2个gold未决，原分数与准入未变。`wasxfail`可为空字符串，必须按是否为None判别；通过状态加wasxfail是XPASS。call阶段报告不证明每条断言都执行，也不证明候选代码不能伪造进程内记录。

入口 `paper-rl/results/phase_observer_reference_validation_20260928.json`；代码README及 `implement-stage/{SPEC,ASSUMPTIONS,BUILD_NOTE}.md` 说明范围。新鲜Astra xhigh假设扫查首轮发现比较基线/保持条件两项语义缺口，P18/P19已显式声明，第二轮无新gap/stale；仍为same-family/provisional。trace在 `paper-rl/.aris/traces/research-implement-feature/2026-09-28_phase-observer/`。

**后继完整成员、参考存储、宿主接收和旧严格合同slot接入已实现**，见下；版本化新准入与实际模型运行仍欠。Sympy使用不同runner，不能直接套pytest插件。已绑定dispatch的旧ASSUMPTIONS字节另存 `implement-stage/revisions/assumptions-at-control-dispatch.md`，定位更正为独立sidecar；不要改原决定去适配后写的文档。

#### 8.7.1 完整成员诊断：已能解释覆盖和别名，不能签发成绩

按同一实现skill构建 `paper-rl/staged/member-evidence-20260928/`。CLI只读上述4份已经保存的phase-reference控制；既有冻结来源、原生parser、日志/观测/判分和历史strict决定均核对。人工状态前缀只用于完整nodeid到原生名字的投影，绝不算作真实状态。

| 任务 | 全部收集成员 | 固定原生ID | 对应完整成员 | 多成员别名家族 | PASSED/XFAIL异质家族 |
|---|---:|---:|---:|---:|---:|
| Matplotlib22719 | 98 | 69 | 94 | 8 | 4 |
| sklearn15100 | 111 | 94 | 108 | 7 | 1 |

两组原生gold1/empty0保持，严格判定仍是gold未决、empty部分观测有效0；69/94个固定ID中PASSED/FAILED分别65/93，其余XFAIL。相关94/108个完整成员均有call报告，但不证明断言全部执行/通过。实际样本没有混合FAILED别名冲突；组件分别保留每个成员状态、非call失败、marker声明、动态/静态XFAIL、原生逐行赋值及last-write结果。名单外成员不扩大分母。

首轮假设复核发现1个未声明语义前提及4项不符/不完整约定：唯一call被缺item_end降为unknown、旧receipt/输入未对照既有历史摘要、inventory单独路径未核对实际共用parser、缺member字段异常未捕获、README将固定家族变化误写成全部collection变化。已逐项修正并先写M18–M21：唯一call保留，生命周期另列；来源对照既有收据；候选缺字段报告unavailable；名单外变化仍单列。累积F0/F1及26个明确标注的内存反例全部通过，实际CLI生成 `implement-stage/real-diagnostics-v3/`，旧产物保留。未修改原始证据、评分、正式准入或活跃训练。

第二轮独立假设复核完成：逐项复现修正、26反例及两份v3产物，135份输入未变；无剩余未声明语义或陈旧声明，same-family/provisional，不是正确性或跨模型族认证。原始回复为 `implement-stage/SILENT_ASSUMPTION_SWEEP.json`，完整语义声明在 `REPORT.md`，摘要为 `paper-rl/results/member_evidence_validation_20260928.json`。参考/传输的后续完成状态见下两节；旧严格slot接入见8.7.4，有效marker来源、其他runner和新准入仍欠。不要重复跑这4条参考控制。

#### 8.7.2 宿主受控参考存储已完成

`paper-rl/staged/reference-store-20260928/`复用已核验的控制来源、成员诊断及评测器private目录约定。它先固定独立gold参考，再读取empty比较；候选成员不能反向定义参考全集。实际两份gold packet和两份比较在 `rl/runs/rl-paper-20260927/controlled-reference-store-v1/private/`，复制的config只保留任务身份/固定组，没有gold patch字段。每次读取仍依赖并复核原始冻结控制；不是可以删掉原证据的离线备份。

F0–F2及16个临时文件/内存反例通过；独立Astra xhigh另复现16项检查、79个被消费源码/证据文件未变，0未声明/陈旧项，same-family/provisional。当前真实比较与旧v3诊断完全一致，原native1/0和gold未决/empty部分0保持。入口 `paper-rl/results/controlled_reference_store_validation_20260928.json`、组件 `implement-stage/REPORT.md`。

这个组件只负责宿主存储和保存控制比较；实际容器挂载/结束时接收已由下节v3完成，旧严格合同slot集成见8.7.4。0700/0600及摘要不认证Python语义；有效marker来源判定与新准入仍欠。需要的是复用已有参考和接收器，不是再搭实时传输服务或重复封存相同控制。

#### 8.7.3 实际Harbor证据接收v3：实现/复核完成，后继slot集成见8.7.4

当前代码 `paper-rl/staged/host-evidence-20260928/{receiver,receiving_environment_v3,run_controls_v3}.py`。在agent运行前绑定实际容器ID/创建/镜像/项目/挂载，拒绝暴露run/private；清理前暂停该精确容器，原字节复制phase、native log、observations、report、completion和capture共六文件到run/private，恢复容器后再清理。只支持三个标准可写日志挂载，可另有只读挂载。缺失/非法/超64MiB单列，不创造0/1，不认证解释器内的marker或断言。

首轮审阅找到了真实调用链缺口：Harbor外层吞取消会提前发布result；继承的chown/down没有时限、45s终止宽限不匹配；测试体失败时退出确认不在finally。V3的SingleStepTrial工厂确实返回新子类，等待停止任务结束再完成finalize，传播取消/晚到错误。权限客户端15s、down/stop120s、接收器直接Docker调用30s，当前挂载下客户端预算545s、TERM宽限600s。对本地存储阻塞或外部SIGKILL不作保证；worker退出后另查planned-attempts中的精确容器/网络，不将进程死亡当资源清零。

真实v1对照保持native1/0；v2的15s down上限在07:04–07:05实测失败，阻止正常result发布，两个空网络经确认worker退出/精确归属/无容器后单独清掉，原失败不覆盖。v3新对照07:12–07:14运行：实际Trial/环境类名正确，gold/empty1/0，六份副本逐字节一致，98成员phase与旧参考报告/状态相符，worker及精确项目在07:15独立确认退出。v1/v2/v3全保留；这些是接收链路控制，不并入共同135题覆盖，更不是策略成绩。

九项原模拟边界测试和八项新增实际Harbor控制流模拟检查通过；第二轮未发现剩余未声明/陈旧约定。因新鲜agent线程上限，审阅复用此前方法审阅上下文，same-family/provisional，不是正确性认证。入口 `paper-rl/results/host_evidence_receiver_validation_20260928.json`、组件 `implement-stage/REPORT.md`，原始两轮回复与失败记录在trace。所有活跃训练/共同补验源均未热改。

#### 8.7.4 接收证据到slot/账本/恢复：F0–F3已完成

组件 `paper-rl/staged/received-slot-20260928/` 复用host-evidence v3、原FixedArtifact agents、SlotExecutor、completion恢复及专用服务检查。新backend在派发前记录确切config/task/trial/attempt/host/namespace，判分只读私有快照，并用固定离线grader重放report/observations/completion；可写trial日志不再作为这个backend的判分输入。

8项合成dispatch检查覆盖私有快照有效但公开日志坏、快照损坏、原生重放矛盾、错误来源、缺判分保持未决、不可应用产物独立0、gold XFAIL仍未决、配置不被正规化修改。另8项入口检查保留80存点、真实服务/开发生成/精度与源要求，实际false-ready CLI在创建输出前拒绝。合成数据明确标注，不是新模型结果。

08:20–08:22在gpu23实际运行一个已有Django14007开发补丁，两次trial、0GPU：CapturingSavedPatchAgent保存最终产物，新鲜verifier接收五份native文件（phase缺失），报告与既有开发报告一致，账本score1，重复执行不新增attempt，两个completion包精确可恢复。生成阶段关闭verifier，六文件全部缺失是预期，不伪造判分。08:26独立确认worker与两个精确项目退出。目录 `rl/runs/rl-paper-20260927/fixtures/received-slot-smoke-v1/`；该诊断不计入135题环境覆盖或正式模型效果。

第一次远端预检发现两旧模块、两缺模块，旧字节归档在fixture下；精确同步四个评测候选文件后，47源码/15profile/原保存输入和镜像/环境匹配才启动，没有修改训练副本。F3两次测试入口失败与成功日志均保留。

新鲜Astra xhigh独立审阅读原diff及继承模块，重跑16项测试、核对收据来源并重放实际保存报告，未声明0、陈旧0；same-family/provisional。确定性检查通过不等于方法有效。收据 `paper-rl/results/received_slot_integration_20260928.json`，完整语义选择在 `implement-stage/REPORT.md`。

新正式入口 `received_cohort.py` 要求 `evidence_transport=host-evidence-v3` 和 `report_contract=existing-strict-observations-20260927`，同时继承原所有就绪检查。**没有创建execution_ready=true的manifest，也没起模型服务。** 旧严格合同保持：原生XFAIL不扩成1，缺native文件仍未决，身份/哈希/重放矛盾会记录未决并停止当次cohort。有效marker/别名/ERROR的revision3规则、真实模型加载/生成及共同环境采用仍欠。不要再将这个状态写成“slot接入尚未实现”，也不要把它写成“正式终评已就绪”。

### 8.8 Sympy ERROR：有实际异常，不等于都能按模型错误记0

batch16选定8题16条已独立归因：13372、13480、13798、13878、15809、17139、17318、17630。16份native重放一致、367个输入摘要未变；empty固定列表中10个ERROR、1个FAILED、0missing。7题的异常来自目标代码测试体；**13878 test_arcsin末端是Python3.9 collections.Iterable弃用警告被提升为异常，存在兼容性混杂**。完整路径FAILED别名不是额外独立失败witness。原7未决和17630的部分观测0都保留。入口 `paper-rl/results/batch16_sympy_attribution_20260928.json`，审查使用复用上下文Astra ultra、same-family/provisional。

batch17的5个empty未决为19637、19954、21379、22456、22714；batch18的4个为24066、24213、24443、24562。09-28后继独立审查已逐例完成：18份native输出精确重放，674历史绑定匹配、476输入未变；每个empty有1个实际F2P测试体ERROR，全部P2P通过，无缺expected ID、无独立expected FAILED。9个gold有效1、9个empty仍未决。19637还在gold/empty各有两个名单外AST兼容性错误，不能与其目标kernS的UnboundLocalError混为一谈。入口 `paper-rl/results/batch17_18_sympy_attribution_20260928.json`，fresh Astra ultra、same-family/provisional。下一步是逐槽位准入规则实现，不能重复把这些案例当成“测试没跑”调查。

### 8.9 sklearn15100：动态XFAIL和同名覆盖已经查清

后继source/phase审查只涉及已保存的gold/empty两控制和一个固定ID family。镜像工作树测试文件与config.base_commit的Git对象字节一致；官方test patch仅新增strip_accents断言，保留相关函数不变。三个完整参数化成员映射到同一个被空格截断的原生ID：CountVectorizer PASSED、TfidfVectorizer PASSED、HashingVectorizer XFAIL；原生last-write留下XFAIL。

HashingVectorizer分支实际调用 `pytest.xfail`，发生在 `pytest.raises` 和 `fit_transform` 之前；判断条件是estimator类别，没有检查IS_PYPY。理由文字提到PyPy不能证明当前平台触发了条件。collector里的call阶段/XFailed/空marker声明与此一致。**进入call不是执行了后续断言。** gold原生1仍未决；empty由独立的test_strip_accents FAILED支持0，但观测完整性仍false。revision3当前明确排除dynamic XFAIL的正准入，不能仅因原因查清就改成通过。

56输入未变、24历史绑定一致，独立审查复用上下文、same-family/provisional。入口 `paper-rl/results/sklearn15100_xfail_attribution_20260928.json`；源码与base提取在 `rl/runs/rl-paper-20260927/sklearn15100-{xfail-source,base-source}-v1/`。这项归因只验证一个alias family；通用成员诊断及宿主接收的后续完成状态见8.7，正式准入adapter仍欠。

### 8.10 Sympy13878的Iterable候选：结束但未获采用条件

候选在 `paper-rl/staged/sympy13878-compat-20260928/` 和 `rl/data/sbv-sympy13878-iterable-candidate-v1-20260928/`。只读源码/启动探针确认Python3.9的旧collections.Iterable getter本来就返回并缓存同一个collections.abc.Iterable对象，只是在缓存前发弃用警告；原Sympy runner将该警告提升为异常，还会另起Python子进程。新候选通过仅用于bin/test及其子进程的sitecustomize预缓存这个别名，其他警告、断言、测试补丁/标签、镜像、评分器与配额不变。不是给所有DeprecationWarning设ignore。

03:08独立启动一对gold/empty，2并发CPU、0GPU、单trial1800秒、controller7200秒上界。运行目录 `rl/runs/rl-paper-20260927/fixtures/evalctl-sympy13878-iterable-v1/`。

- gold完成：native/strict均1，20个固定ID全通过；名单外仍有10个MutableMapping弃用警告错误，不能称全套测试干净。
- empty在早期输出test_arcsin F，随后长时间执行test_frechet；03:38到单次上限后取消，外层记录TimeoutError、trial记录CancelledError，verifier_result为空，缺native report/observations/canonical log。这个F标记不被补写成完整0分。
- raw/完整观测/报告二元均只有1/2通过，另一条未决；旧batch16的原生0/严格未决保持原样。候选没有并入共同500，也不向训练输入回写。
- 03:39确认worker exited及2个精确项目无残留。启动事件原文件mode0600，直接宿主读取曾PermissionError；后用现有控制容器导出字节相同的可读副本，原字节/权限未改，实际owner记录为uid2001/gid2000。这些是配置证据，不是运行时认证。
- `report-diagnostic-v1.json.log`保留远端缺分析脚本的失败；没有生成v1判分收据。同步已完成记录后在本地运行已有诊断器生成 `report-diagnostic-v2.json`，明确missing artifacts、未调用report_outcome、score=null。

这次验证说明单个警告路径可以去除，但后续计算与运行预算还未形成完整可用对照。下一步先明确如何在既定时间预算内保留真实终止/部分测试证据。任何预算或兼容配置修改都另建问题和版本，在固定任务/标签下验证；本次超时保留为未决，不并入成功控制数。

独立审查现已闭环：runtime audit为complete_with_unresolved_timeout，候选控制验收FAIL，整体诚信结论WARN、same-family/provisional；旧pending审查原字节保留，最终状态用sidecar记录。原事件与可读副本摘要逐一相同，远端8源/16 profile及镜像身份一致；empty缺7项native产物，不存在可重放的完整0。统一入口 `paper-rl/results/sympy13878_iterable_control_20260928.json`，最终审查 `paper-rl/.aris/traces/experiment-audit/2026-09-28_sympy13878-iterable/final-runtime-audit.json`。

### 8.11 Django10097：固定名单不区分gold/empty，正式空提交仍为0

补验01的Django10097 gold/empty均为原生1；独立审计确认历史pair也为1/1，不是新离线grader回归。当前438个固定F2P+1432个P2P标识均PASSED；六个完整URLValidator用例在gold通过、empty失败，但不在固定名单内，也不是别名隐藏了固定失败。当前四类native文件精确重放，历史stdout能重现报告但缺原始观测/canonical输入，旧严格报告判定仍未决。所有13个config字段与保存官方parquet一致，native vendor与缓存4.0.3源码一致；107个原输入在审查期间未变。

报告分数与正式预测准入分开：`verdicts.py`对空prediction先返回0，之后才会调用report_outcome；不能把empty参考测试报告1写成正式空模型提交1。该任务不在当前149训练题中；官方500成员/标签不变，不据此删题或改分。入口 `paper-rl/results/django10097_control_observations_20260928.json`，fresh Astra ultra、same-family/provisional；完整审计trace `experiment-audit/2026-09-28_django10097-common-validation/`。审查用的部分cohort index已封存在trace，后续同步了完整48记录，任务本身文件未改。

## 9. 正式评测协议已经固定

权威文本：`paper-rl/EVALUATION_PROTOCOL_20260927.md`；逻辑槽：`paper-rl/results/evaluation_slots_20260927.json`；统计：`paper-rl/results/evaluation_analysis_20260927.json`。

| 项目 | 已固定内容 |
|---|---|
| 模型 | base + O/B/M各3种子 + E42，共11个模型条目 |
| 训练种子 | O/B/M：42、314159、271828；E：42 |
| checkpoint | **80**；10–70仅诊断/恢复，81不替代80 |
| 主比较 | holdout100，每题16条，M−B，三个配对训练种子等权平均 |
| 次比较 | 同holdout的M−O；M42−E42只能称单训练种子对照 |
| 广覆盖补充 | 官方500，每题2条；与holdout16队列独立，不拼成n=18 |
| 总逻辑槽 | 11×(500×2+100×16)=**28,600**；不是已完成样本数 |
| 分数 | 每题固定n条均值，再对题等权；不是best-of-n/pass@k |
| 不确定性 | 附录：固定随机种子20260927、10000次种子/任务二维配对bootstrap；只有3训练种子的局限必须保留 |

分区要分清：实际训练149/训练外351是一种划分；原train150/holdout100/原其余250是另一种划分。Django7530作为训练隔离项单列，仍在官方500。351不表示模型预训练未见。

首次有效原始报告决定槽位终局；合法0或1不重复尝试。一条已产生固定补丁的明确verifier基础设施失败，最多一次同补丁重判；产物形成前明确基础设施故障，最多一次生成替补；原attempt、原因、种子和证据都保留。

未决保留固定分母，不冒充0、不删除。N个计划槽有K个已知、S次成功时只给 `[S/N,(S+N−K)/N]`；完整主比较尚未完成时不写完整点估计或显著性结论。ERROR/超时类名本身不足以判定归因。

未来若资源约束要求减少种子/对照或改变协议，要在查看确认性结果之前另建版本、说明代价并收窄主张。现在没有重新选择step60或是否纳入B的需要。

## 10. 终评入口、模型装载与真正的阻塞

### 10.1 实现已经做到哪

候选目录：`paper-rl/staged/final-eval-20260927/`。

| 模块 | 已实现/验证 | 仍缺什么 |
|---|---|---|
| `final_artifact.py`、`artifact_transport.py`、clean agents | 相对私有baseline捕获最终产物，涵盖commit/staged/ignored/binary/symlink；子模块身份保留；不可表达的嵌套repo变化明确未决 | 实际模型生成后的端到端验证 |
| `verdicts.py` | 报告/任务/标签/原观测一致；成功需完整成功证据；独立expected FAILED可支持部分观测二元0 | XFAIL等共同语义处置与全部profile验证 |
| `attempt_ledger.py`、`slot_executor.py` | 首次有效报告、显式有限重试、固定分母；模型HTTP隐式重试设0 | 真实服务运行而不是mock后端 |
| `service_identity.py`、`cohort_runtime.py`、`cohort_cli.py` | 服务PID/端口/内容/epoch绑定；新生命周期不抹掉旧attempt | 固定模型服务实际加载、生成与中断接续冒烟 |
| `adjudication.py` | 追加具名归因、精确证据/补丁/旧事件绑定，合法0/1不可覆盖 | 对真实未决样本承担具体判断；程序不证明判断正确 |
| `recovery.py` | 正常校验后封存completion，恢复原产物/原判分，防止已得0却再判1；累计63本地检查通过 | 真实服务环境验收；裸文件/不完整封存仍不能强行恢复 |
| 独立采集/成员/参考/宿主接收组件 | `phase-observer`、`member-evidence`、`reference-store`、`host-evidence` v3均完成各自验证；实际挂载、冻结副本和退出有证据 | 正式slot接入、有效marker来源判定、版本化准入；不另建接收框架 |

存在真实CPU保存补丁的Harbor链路冒烟，包括子模块版本；08:22又完成私有快照接入现有slot/账本/恢复的双trial验证（8.7.4）。没有新模型采样/优化。单测、保存补丁回放、输入hash检查都不代表正式终评已跑。

目前逻辑manifest为 `execution_ready=false`，没有正式结果。不要直接复用旧 `tito_eval_runner_clean.py` 的mtime/目录续跑、异常类直接记0等路径作为本轮终评取用规则。

### 10.2 装载与精度

**以下装载锚点属于已作废的旧O42，不是当前retry1。** 旧语言导出有427张量；补原base视觉塔333个后，CPU/meta检查760个键/形状匹配。raw锚点在 `rl/runs/rl-paper-20260927/anchors/O42-step10-raw-v1`，仅作装载诊断，不能用于新主比较或替代80步终点。当前retry1的step10已在CPU完成参数核验（3.1），尚未完成真实vLLM服务装载验证。

48个基座F32的A_log/norm权重在训练checkpoint和HF导出里均为BF16，不能只归咎最后的HF序列化。未验证master权重或实际forward精度影响。原base四分片/revision身份已查；主base行保留原始模型。开发侧可以设计转换往返对照，不能挑一个更弱的base来抬升相对增益。

下一步是在合法可用GPU上核对实际服务加载类、dtype、tokenizer、生成质量，再冻结各候选共同装载规则。当前O正在使用14卡，不能借动态训练引擎冒充固定checkpoint服务，也不能借GPU6/7。

证据入口：`paper-rl/PRECISION_LOADING_NOTE_20260927.md`、`results/O42_step10_parameter_audit_20260927.json`、`results/O42_step10_special_parameter_storage_20260927.json`。旧loading plan的source绑定曾被后继源码变更取代，使用前要生成匹配当前版本的新计划。

## 11. 接下来要做什么：具体交付顺序

| 优先级 | 工作 | 现在可做/依赖 | 完成标准 |
|---|---|---|---|
| P0 | 监督O42-retry1至固定80 | 已完成18调用，第19次准备；首3和step10检查已过 | 跟踪判分/消费/容量；到80再核终点产物，不按reward停、不重复扫描同一step10 |
| P1 | 归因共同版本全500覆盖的未决与环境差异 | 500题/1000控制；113未决，20个部分观测，5个参考/环境差异；最终汇总已按23个保留cohort重算 | 对当前113个未决/20个部分观测、Requests异常、最终Sympy未决和参考差异逐例查明边界；不补写0、不扩大准入 |
| P1 | 将已完成的ERROR/XFAIL归因接入逐槽位规则 | batch17/18九条及sklearn15100已审查 | 参考归因与实际模型attempt分开，保留原判分；不因ERROR或call阶段自动准入 |
| P1 | 处理Sympy13878后续耗时与Requests2317 HTTP问题 | Iterable候选已完整结束：gold1、empty超时无判分；原对照保留 | 先明确运行预算/终止证据与判分边界，不反复放宽规则追求控制通过 |
| P1 | 在已接入的slot链路上实现版本化准入 | 接收→固定产物→native重放→账本/恢复已验证；revision3设计可用 | 核对参考成员与实际attempt、有效marker/别名/ERROR；新规则另版本验证，旧规则不热改、不把字节来源当解释器语义认证 |
| P1 | 新评分口径B/M独立release | 新后继入口与两机9配置检查已完成，可复用CF证据 | 完成具名CF适用性审阅，绑定真实O80/参数/资源证据；实际启动待前驱结束 |
| P2 | 完成共同500候选剩余验证与观测规则 | 同版本159题/318控制；余341未完成；补验03的9项新未决待归因 | 保留1个empty1预期差异和34未决；按证据处理，不把原始0或ERROR自动改成严格0 |
| P2 | O80正常结束、存点核验、精确资源清理 | O实际完成 | 80的有效产物、终止日志、两机driver/容器/网络/Ray尾部检查、存储盘点 |
| P2 | B42→M42及各自前3次真实训练检查 | 证据release+资源可用 | 信用进入消耗批次，可用率/梯度/参数变化有实物证据，持续监督到80 |
| P3 | E42及其余两种子O/B/M | 开发侧方案确认，holdout未看 | 固定seed/endpoint的独立新run；若缩减，在揭盲前留修订版本 |
| P3 | 开发侧模型服务、精度与终评端到端冒烟 | 固定checkpoint与可用GPU | 真实加载/生成/产物/判分/账本/身份同链路通过，失败预算按协议 |
| P4 | 28600逻辑槽同栈终评、统计、成本 | 共同环境和服务执行绑定就绪 | 不挑attempt、不缩分母，逐种子/分区/未决界限与原始结果可追溯 |
| P4 | ARIS结果到主张及论文改稿 | 有真实比较证据 | 结论由结果决定，图表有来源，LaTeX/PDF/数字/引用审查完整 |

“CPU工作可以推进”和“正式模型评测已经允许开跑”是两个不同状态。没有新的人类授权缺口时不重复问用户，但具体实现/资源证据不能省略。

为什么这样排：当前14卡已有真实训练，CPU空出来应优先解除终评的判定与环境问题；增加一次没有新问题的参考重跑不会产生模型效果证据。step10核验已排除“导出完全等于base”这个具体问题；仍需80终点与正式M−B/M−O比较。后继9配置不是9个已排队运行的任务，不能建立自动重启/抢卡等待器。

## 12. 悬而未决的问题及其边界

1. **学习效果**：M是否优于B/O？当前未测，不能由pilot非零比例、O在线reward或启动器通过预测正结果。
2. **生产CF**：目标244例服务通过是否能转化为长期B/M实际消费？需要前3次和持续消费账本；还有真实异步排队、未完成查询、磁盘增长的边界。
3. **XFAIL/报告完整性**：Matplotlib22719 gold的native1与严格消费者冲突已归因；采集、成员诊断、参考存储、实际宿主接收v3均完成。旧严格合同model-slot绑定已实现并经保存补丁实际验证，但真实模型生成、有效marker来源判定与新准入仍欠；不能把call等同断言通过、把暂停复制当解释器语义认证或伪造PASSED。
4. **parser身份与功能异常**：Django subtest/拼接/别名及ERROR如何在逐槽位证据上处理？Sympy13878有兼容性混杂；batch17/18九条empty的逐例归因已完成，sklearn15100的动态xfail/三成员别名也已查清。剩下是规则和执行证据的衔接，参考结论不自动适用于模型的新补丁。
5. **共同环境**：同版本已完成159题/318控制，34未决、1个empty1预期差异；341题尚未形成本版本完整结果。补验02/03新增的15个Django empty未决需逐例核查，不能直接套早期Django归因。Django10097名单不区分性已审查，不改分/删题；10554/10880/10973及新15项当前empty未决保持。HTTP2317、XFAIL/成员身份、collection failure及真实模型加载/执行绑定仍欠，不能把参考控制写成500题模型评测可用。
6. **模型装载/精度**：实际vLLM加载与生成是否符合统一规则？BF16特殊参数影响量尚未测；不能弱化原base。
7. **成本与工期**：10个训练臂按历史30–40h/臂估约4200–5600 GPU小时，14卡约12.5–16.7天，另加评测和失败重跑；这是计划估计，不是交付承诺。按当前实测格式，10臂模型产物约4.12 TB，gpu08当前可用1.84 TB，需在后继开跑前安排存储。用户未给新硬截止，不能编造排期或偷偷减实验。
8. **论文贡献强度**：CF定位是否确有未参与RL任务的收益、E能否解释效果、查询成本是否值得？若开发证据不支持，要保留阴性结果、修订方法并控制holdout使用，而非改分数。

9. **新奖励守卫的生产表现**：首3次384条完整native连接及有限非零梯度已核实，step10实际存储参数变化也已独立核验；后续缺判分/重试/屏蔽比例仍需跟踪。两例模型破坏安装说明R-03也可能减少负反馈，不能不报这个局限。合法0不可重采样，当前证据不作运行时防篡改保证。

已经解决/已定的事不再列为悬案：旧B污染证据、离线CF服务复测、500镜像首次同步、80步终点/三种子/holdout含B、共享terminal reward定义、原223题队列、首三次O及step10检查、采集/成员/参考/宿主接收v3及旧严格slot接入组件、Django10097固定名单原因。组件完成不等于正式比较完成。

## 13. 论文现状与后续skill流程

当前 `paper-rl/paper/main.pdf` 为15页、正文9页的方法/协议稿，`submission_ready=false`。正文在 `main.tex`、`sections/`，不要把早期diagnostic稿或旧污染run数字搬回来。

已做ARIS paper-write修订、160项主张核对（149精确、11舍入，4702输入）、13篇18处引用的输入新鲜度核对以及分页/HTML复核；这验证当前稿和当前证据的一致性，不是“论文已可投稿”。两轮此前冷审3→4/10均No，保留历史。

21:03前后按`aris:paper-write`在附录新增1724/2317四份控制的测量边界，独立增量审查无critical/major问题、采纳一项次数措辞建议。重新编译无warning，PDF仍14页/正文9页，第11页已渲染核对；bibliography未变。此项不是新版全篇160项重审。证据为 `paper-rl/results/requests_appendix_update_20260927.json`；正文没有新增学习增益主张。

09-28按 `aris:paper-write` 修订旧fallback描述、O40排除/基座重跑、离线评分证据、Pylint175测试资源对照及模型破坏安装也可能失去负反馈的局限。增量审查一项范围错误已纠正：只有缺token元数据及terminal-reward处理块捕获异常被屏蔽，CF辅助异常保留终局学习。剩余critical/major0，另采纳一项措辞建议。新reviewer因线程上限不可用，复用独立CPU2审阅者Astra ultra，明确same-family/provisional及复用上下文。编译通过，无溢出或未定义引用，第11/12页已视觉核对；underfull版面提示保留。回执 `paper-rl/results/grading_recovery_paper_update_20260928.json`，不是新版160项全篇重审。

03:35按 `aris:paper-write` 又在附录补充两个测量边界：sklearn15100的call阶段动态XFAIL/三成员同名覆盖，以及九个Sympy任务的实际ERROR与别名。新鲜Astra xhigh增量审阅精确重放20份判分、135输入未变，无critical/major；3条可选文字建议已采纳并经同一审阅者核对。PDF仍15页/正文终止于第9页，第11页已视觉检查；正文各节和bibliography字节未变。回执 `paper-rl/results/phase_evidence_paper_update_20260928.json`。只有附录测量说明更新，效果主表仍未填写，不是完整论文数字/引用重审。

当前有根据的内容：方法定义、原始质量恒等式、pilot信号与cap分布、服务复测、实现/环境局限。当前无根据的内容：学习增益、跨模型普遍性、定位因果正确率、充分的失败信用贡献或高于基线的正式主表。

07:19按 `aris:paper-write` 在附录增加Django10097一段：每份参考报告原生1、当前每控制1870固定ID PASSED、六个完整测试差异在名单外，并区分正式空prediction的0和历史报告缺观测的未决。复用该案独立审计上下文做增量复核：0critical/0major，两个小修已逐字采纳并复核；same-family/provisional，不是全篇新冷审。正文、宏和bibliography字节未变；PDF仍15页/正文9页，第11页视觉检查通过，0overfull/undefined，10条underfull提示保留。回执 `paper-rl/results/django10097_paper_update_20260928.json`。

后续按需要使用 `aris:experiment-audit` → `aris:result-to-claim`，再 `aris:paper-write`/`aris:paper-writing`、`aris:auto-paper-improvement-loop`，最后编译和数字/引用复核。语义审阅标注same-family/provisional；不能因用了另一子agent就称跨模型独立认证。用户要求最后用skill修改论文，这项要求仍然有效。

## 14. 可直接使用的核对命令

以下从 `/data1/home/zly/swe` 执行。均为只读，不包含清理或启动命令。比较监控的observed_at与当前时间，陈旧文件不能证明进程仍活着。

```bash
python3 - <<'PY'
import json
from pathlib import Path
root = Path('rl/runs/rl-paper-20260927')
q = json.loads((root/'quality-O42-retry1/latest.json').read_text())
m = json.loads((root/'credit-monitor-rl9b-cfcredit-scm-O-s42-b16n8-lr1e-6-20260927-retry1/latest.json').read_text())
print('quality', q['observed_at'], q['phase_counts'], q['alerts'])
print('host', m['observed_at'], m['phase'], m.get('driver'), m['alerts'])
print('exports', q['checkpoint_exports'])
PY
```

```bash
python3 - <<'PY'
import json
from pathlib import Path
files = [
    'rl/runs/rl-paper-20260927/discovery-queue-completion-20260928.json',
    'paper-rl/results/common_profile_runtime_coverage_v3_20260928.json',
    'paper-rl/results/phase_observer_reference_validation_20260928.json',
]
for name in files:
    d = json.loads(Path(name).read_text())
    keys = ('observed_at','task_count','attempt_records','unstarted_original_queue_tasks',
            'common_profile_tasks','counts','rungs_passed','current_report_admission',
            'remaining_common_profile_tasks_without_new_runtime_controls','remaining')
    print(name, {k:d[k] for k in keys if k in d})
PY
```

当前O42retry1已经启动，不要重执行launch；其入口有输出拒绝覆盖和资源检查。旧B42-v3预检仅为历史材料，不能据旧计划启动后继。若发现source mismatch，调查实际变化并构建新证据版本，不绕过。

不要为“重验”重复跑已完成的gold/empty trial、覆盖已存在audit receipt或清空输出目录。需要新检查时另取输出名、写明新增问题；常规读取已有结果即可。

旧文件 `O42-retry1-release-v1.json` 仅表示实现材料 ready；`O42-retry1-preflight-release-v1.json` 仍明确 implementation_ready=false。两者都不是当前可启动 release，不能用旧文件绕过外部终止后的重新绑定。

外部终止后的实际 successor preflight 已于15:xx只读运行并拒绝放行，报告 `rl/runs/rl-paper-20260927/successor-entrypoint-check-v3/post-termination-preflight-20260928.json`：release未绑定当前plan、前驱正常完成/参数证据缺失、gpu08/gpu23观测失败、前驱资源退出未建立、Ray可用性观测失败。该拒绝没有启动任务，也没有改变旧release。

09-29再次启动 gpu23 的 `skyrl-rl` 基础容器只做观察，新的只读preflight仍拒绝：release/predecessor证据缺失，且gpu23的8张卡全部被占用。没有启动 O42 或 successor；报告为 `rl/runs/rl-paper-20260927/successor-entrypoint-check-v3/post-termination-preflight-20260929.json`。

## 15. 外部终止后的恢复顺序

当前 O42 与补验16共享父容器在 09-28 被 exit137 终止。Docker `OOMKilled=false`，不能把原因写成已证实的容器内存不足；父容器后来出现过一次外部重新启动，但没有重新绑定原 driver，因此 O42 仍是 `ownership_requires_review`。恢复时必须按下面顺序重新取得证据：

1. 先保存并核对 `O42_retry1_external_termination_20260928.json`、原生日志、`ckpt/global_step_30` 和 `export/global_step_30`；step30 的存储权重审计已经完成，证明427个语言张量中329个变化、823171568个元素变化、无非有限值，但不证明训练效果。
2. 核对当前父容器的host、boot、PID namespace、driver PID/start ticks和argv；旧driver身份不能复用。若仍无法绑定，保持冻结，不发信号、不清理共享Ray。
3. 用 `training-successor-20260928` 的独立preflight生成新计划和release；前驱必须声明外部终止、绑定step30恢复点，并重新满足资源、源码、base、题池、真实服务和CF条件。旧O42 retry1 release不直接变绿。
4. 恢复前只做小规模真实冒烟并核对训练账本；恢复后的调用序号、checkpoint和失败预算要单独记录。O42最终80步产物未完成前，不启动B/M/E或正式模型终评。

补验16的重试也保持独立目录。原批次只完成2条记录，重试预检因父容器未运行被阻断；两者都不进共同覆盖。见 `common_validation16_aborted_20260928.json` 和 `common_validation16_retry_blocked_20260928.json`。

## 16. 文件入口、版本与协作边界

| 用途 | 入口 |
|---|---|
| 当前总体状态 | `paper-rl/STATUS_20260928.md`；09-27状态页只作历史，动态信息优先实际监控 |
| 修复前因果与旧run失效证据 | `paper-rl/RECOVERY_PLAN_20260927.md` |
| 后继训练设计与03:15修订 | `paper-rl/refine-logs/EXPERIMENT_PLAN.md` |
| 完整pilot与服务最终处置 | `paper-rl/PILOT_DISPOSITION_20260927.md`、`EXPERIMENT_AUDIT_SERVICE_20260927.md` |
| 正式终评规则/槽 | `paper-rl/EVALUATION_PROTOCOL_20260927.md`、`results/evaluation_slots_20260927.json` |
| 实际观测准入现实现 | `paper-rl/staged/final-eval-20260927/verdicts.py`及同目录README后继段 |
| 归因与恢复完成证据 | `paper-rl/staged/final-eval-20260927/implement-stage/recovery/closing-receipt.json` |
| 两机镜像 | `paper-rl/results/eval_image_availability_20260927.json` |
| 环境声明 | `paper-rl/.aris/compute/direct-ssh.md`、`env-spec.json`，声明hash前缀094de19b |
| CPU原固定计划及完成清单 | `rl/runs/rl-paper-20260927/cpu-control-queue-v1/manifest.json`、`discovery-queue-completion-20260928.json` |
| 共同候选同版本覆盖 | `paper-rl/results/common_profile_runtime_coverage_v3_20260928.json`；旧87/111题版本保留 |
| 新O首三次检查及原始前缀绑定 | `paper-rl/results/O42_retry1_first3_checks_20260928.json`、`O42_retry1_first3_source_binding_20260928.json` |
| 新O step10独立参数复核 | `paper-rl/results/O42_retry1_step10_independent_review_20260928.json`（链接原测量、闭环和独立审查） |
| 存点/导出存储估算 | `paper-rl/results/training_storage_budget_20260928.json` |
| 阶段采集器范围/验证 | `paper-rl/staged/phase-observer-20260928/README.md`、`paper-rl/results/phase_observer_reference_validation_20260928.json` |
| 完整成员诊断与复核 | `paper-rl/staged/member-evidence-20260928/README.md`及`implement-stage/` |
| 成员诊断确定性验证/两轮审查摘要 | `paper-rl/results/member_evidence_validation_20260928.json` |
| 宿主受控参考存储 | `paper-rl/results/controlled_reference_store_validation_20260928.json`、`staged/reference-store-20260928/` |
| 完成的共同版本补验01 | `paper-rl/results/common_validation01_completed_20260928.json` |
| 完成的共同版本补验02 | `paper-rl/results/common_validation02_completed_20260928.json` |
| 已完成共同版本CPU补验03 | `paper-rl/results/common_validation03_completed_20260928.json`、`fixtures/eval500-common-validation03-20260928/` |
| 接收证据到slot/账本/恢复 | `paper-rl/results/received_slot_integration_20260928.json`、`staged/received-slot-20260928/` |
| 实际宿主接收v3与取消/退出证据 | `paper-rl/results/host_evidence_receiver_validation_20260928.json` |
| Django10097与论文增量修订 | `paper-rl/results/django10097_control_observations_20260928.json`、`django10097_paper_update_20260928.json` |
| 本对话模型时间线 | `rl/研究情况/20260927交接-model-history.json` |

重要提交：`60421ad5`（论文当前实质修订）、`5abf5317`（原CPU队列）、`443d9786`（恢复候选/完整镜像）、`7d32e661`（独立recipe）、`02aeb550`/`d1c9ecbf`/`84b30fba`（新启动入口F0–F2）、`96a33902`（入口复核/代理候选）、`4a848b20`（O32与batch11状态）、`d264b588`（已被本版纠正的旧交接）。

后继关键提交：`fe6d87fb`（O42恢复/14卡重跑）、`56341552`（Pylint两核/后继配置/论文恢复说明）、`ce0ecaae`（共同候选与限定整合）、`f2e8d58a`（O首批准入与batch16启动）、`66de99c4`/`1698faee`/`38369e1d`（阶段采集F0/F1/F2和新鲜假设扫查）。这些提交分别证明对应范围，不代表终评已完成。

历史边界收据 `results/successor_launch_boundary_20260928.json`说明旧恢复入口只收O42并只认旧O40停训前驱。该限制保留原样；后继已在独立 `training-successor-20260928/` 实现并审核，见7.0。当前O的入口和runtime没有原地修改。

当前分支 `judge-net-20260821` 是共享脏工作树；已有其他任务更改和未跟踪历史材料。`paper-jev/`提交会并发推进HEAD。只暂存/提交本任务明确改动的路径；不得stash、reset或把无关数据扫进一次commit。部分raw artifacts和审计trace只在本地/远端文件系统，不在Git；git commit不等于实验数据备份，迁移必须保留源与摘要。

本轮Django10097审查约86 MB的原始快照/展开case数据继续保留共享文件系统，不把这些重复数据加入Git；位置、大小和摘要见该审计trace的 `RAW_ARCHIVE_INDEX.json`。审阅文本、脚本、汇总和索引入库。新关键提交：`12c4decb`（接收F0）、`7a76ed8f`（真实Harbor接收F1）、`c9d665dc`（初版边界检查）、`4739dcfb`（外层取消/清理预算修正与v3实际验证）；最终闭环提交 `ee45059b`。接收slot接入提交：`aa357645`（F0）、`6d396a57`（F1）、`c30a0613`（F2真实保存补丁）、`5fb87a7d`（F3就绪检查），独立扫查及本次状态另见后继提交。

安全边界：不全局pkill、不宽过滤docker rm、不system/image prune、不停整套Ray；任何删除只在确认run已结束后按精确project及挂载归属处理。保持活动源冻结；修补后继版本要用独立目录。外部终止后不自动重启，不建立GPU等待器。GPU6/7和常驻小服务的权限不因空闲而改变。

接手后第一轮应交付：O42retry1最新健康、补验03进展；随后在已有接收→slot→账本/恢复链路上推进版本化准入，并处理共同版本25项未决。参考存储、成员诊断、接收器及slot接入都已有实际验证，不再重建同类组件或重复相同gold/empty。后继入口也已完成，沿v3计划与既有CF证据准备具名release及存储预算，真实启动等待O80。不要重复首三次/step10检查、重启旧队列或借旧O存点。已有14卡授权，无需再问；真实效果仍须同栈终评。
