策略详解:MS_z3.5_corePolicy: MS_z3.5_core
1. 一段话回答1. One-paragraph answer
MS_z3.5_core 是一条"只看高能段、逐段检验正超出"的 GTI 规则。它只读每次观测自己的 2.5–8 keV 视场光变曲线(不看未曝光角落、不读归档 2.filter、不按 ObsID 分支),把耀斑定义成"一段持续的正超出":先估一个安静参考率,再找出所有超出参考 0.7 个泊松标准差的连续段,只把"整段累计超出超过 z² 个泊松偏差且至少含 200 s 活时间"的段连同一格保护带一起删掉。它来自 2026-10-14 的 E012 政策搜索(执行者 sol,六个已消费设计案例),模块此后冻结未再调(SHA-256 fb2e0451…)。在 E019 的 R9 跨集检验里,它是三个在 25 观测的 M31 test 子集与其余三个集上全部 8 个"集 × 相机"格子里都优于 2.filter 的政策之一,保留 0.74–0.88 倍 2.filter 的时间,每个集里排名前 6–25。但 RT-16(2026-10-16 已裁定)指出:这个胜利大部分是"修好了 2.filter 自己失败的观测" —— 在 M31 MOS1 上去掉 2.filter 最差的两个观测(0301、2601)后,MS 的配对差从 −0.80 变成 +0.33,即持平。RT-16 当时提到的 FLR_z3 领先,到 E022/R13 已查明来源:它靠一条绝对硬度门把 Virgo-server 集 34–38% 的曝光整段丢掉;而 MS 加上 E021 的场门(XJ.MS)在 M31 上是 −1.53 [−2.31, −0.73] / −3.84,会否掉 0800733101 与 0800731701,但在 P004 的三条冻结读数条件里失手两条(LH MOS2 上对 FLR_z3 的 Δσ_R 的 p84 为 +0.81,要求 ≤ +0.5 pp;Virgo-server 上丢 8 个观测,而 FLR_z3 丢 51–54,要求 ≤ 它所丢的十分之一即 5.1–5.4)。主候选留给 PI 决定。还悬着的事:R7(剖面预注册)排队中;谱验证 C2 未做;R2/E021 已完成,其跨观测参考没能超过单观测领先政策。
MS_z3.5_core is a "high-band-only, run-by-run positive-excess" GTI rule. It reads only each observation's own 2.5–8 keV FOV light curve (no unexposed corner, no archived 2.filter, no ObsID branching) and defines a flare as a coherent positive excursion: estimate a quiet reference rate, find every contiguous run above it by more than 0.7 Poisson standard errors, and cut a run only when its integrated positive Poisson deviance exceeds z² and it holds at least 200 s of live time — plus one cell of padding. It comes from the E012 policy search of 2026-10-14 (executor sol, six consumed design cases), and the module has been frozen since (SHA-256 fb2e0451…). In E019's R9 cross-set test it is one of the three policies that beat 2.filter in all 8 set × camera cases on the 25-observation M31 test subset and the other three sets, keeping 0.74-0.88 of 2.filter's time and ranking in the top 6-25 of each set. But RT-16 (triaged 2026-10-16) finds that most of this win is "repairing 2.filter's own failed observations" — on M31 MOS1, dropping 2.filter's two worst observations (0301, 2601) takes MS's paired difference from -0.80 to +0.33, i.e. no significant difference. The FLR_z3 lead that RT-16 mentioned was traced by E022/R13 to an absolute hardness gate that drops 34-38% of the Virgo-server exposure outright; MS plus the E021 field gate (XJ.MS) gives -1.53 [-2.31, -0.73] / -3.84 on M31 and rejects 0800733101 and 0800731701, but it fails two of P004's three frozen reading conditions (on LH MOS2 its delta sigma_R against FLR_z3 has p84 = +0.81, required ≤ +0.5 pp; it drops 8 Virgo-server observations, required ≤ one tenth of FLR_z3's 51–54, i.e. 5.1–5.4). The main candidate awaits the PI. Still open: R7 (the pre-registered profile test) is queued; the spectral check C2 has not been done; R2/E021 is complete and its cross-observation reference did not beat the single-observation leaders.
results/c001_policy_search/sol/policies_sol.py (scan_core, policies); .agent/jobs/2026-10-14-pareto-policy-search/REPORT.sol.md; cognition-os/experiments/E012_policy_search_cases.md; E019_criterion_v3_random_effects.md §R9 与 §RT-16sections R9 and RT-16; cognition-os/RESEARCH_PLAN.md R2/R7/R8b; cognition-os/experiments/E021_xq_cross_observation_reference.md; E022_flr_hardness_gate.md §R13section R13; prereg/P004_gated_leaders.md。2. 它用什么、不用什么2. What it uses and what it does not
| 输入Input | 用不用Used? | 为什么重要Why it matters |
|---|---|---|
| 2.5–8 keV 视场光变曲线(20 s cell 的计数与活时间)The 2.5–8 keV FOV light curve (per-20 s-cell counts and live time) | 用USED | 这是唯一输入。它落在 1.000–2.395 keV 打分窗口之外,所以"选择"与"测量"不碰同一批光子。The only input. It lies outside the 1.000–2.395 keV scoring window, so selection and measurement never touch the same photons. |
| 8–12 keV 视场光变曲线The 8–12 keV FOV light curve | 用USED | 与 2.5–8 keV 相加成"高能段总计数",一起做泊松检验(两个不相交的高能带)。Added to the 2.5–8 keV band as the "high-band total count" for the Poisson test (two disjoint high-energy bands). |
| 未曝光角落计数Unexposed-corner counts | 不用NOT USED | D015:判据不能依赖角落,因为 MOS1 上角落太吵(σ = 0.0133)。MS 是 corner-free 的:把角落换成它的均值,掩码不变(自动检测)。D015: the criterion must not depend on the corner, which is too noisy on MOS1 (σ = 0.0133). MS is corner-free: replacing the corner by its mean leaves the mask unchanged (detected automatically). |
| 归档 2.filter GTIThe archived 2.filter GTI | 不用NOT USED | D013:新政策独立于 2.filter 建造;它是及格线,不是底座。MS 从整次观测出发,自己决定切什么。D013: new policies are built independently of 2.filter, which is the passing line, not the base. MS starts from the whole observation and decides its own cuts. |
| 0.5–2 keV 打分带The 0.5–2 keV scoring band | 不用NOT USED | 选择与打分同一批事件会让一致性得分为 0.0%(PITFALLS)。政策模块只看公共键:live、mid、origin、h、u、cn、ct、meta。Selecting and scoring on the same events gives a consistency score of 0.0% (PITFALLS). Policy modules see only the public keys: live, mid, origin, h, u, cn, ct, meta. |
| ObsID / 元数据分支ObsID / metadata branching | 不用NOT USED | D015:案例角色是按光变曲线肉眼定的,一条通用规则不能靠"认 ObsID"过关。MS 没有任何按观测编号的条件语句。D015: case roles were set by eye from light curves, so a general rule may not pass by "recognising an ObsID". MS has no per-observation conditional statement. |
cognition-os/04_DECISION_LOG.md D013/D015; cognition-os/PITFALLS.md; scripts/c001_policy_score.py (PUBLIC_KEYS, module_policies 的角落检测corner detection); results/c001_policy_search/sol/audit.json (28/28 无角落)(28/28 corner-free).3. 算法,从零一步步讲3. The algorithm, step by step, from zero
下面每一步都对应冻结模块 policies_sol.py 里 scan_core(t, c, z) 的一段代码,z = 3.5 就是名字里的 3.5。先说清楚:z = 3.5 是设计参数,不是标定过的假阳性率。搜索里同时试过 3.5/4/4.5/5/6/7 六个值,报告明确写了"检测阈值是启发式设计参数,不是标定的假阳性概率"。
Each step below maps to one block of scan_core(t, c, z) in the frozen module policies_sol.py, and z = 3.5 is the 3.5 in the name. State plainly: z = 3.5 is a design parameter, not a calibrated false-positive rate. The search tried 3.5/4/4.5/5/6/7 together, and the report says "detection thresholds are heuristic design parameters, not calibrated false-positive probabilities".
第 0 步:把观测切成 100 s 的格子Step 0: cut the observation into 100 s cells
每个 20 s 的原始 cell 按时间归入 100 s 的格子(blocks 函数)。每格得到两个数:活时间 t_i(秒,来自 EXPOSU,不是"有事件的格子数")和高能段计数 c_i = h_i + u_i(2.5–8 keV 加 8–12 keV)。
Every raw 20 s cell is binned into 100 s cells (the blocks function). Each cell gets two numbers: live time t_i (seconds, from EXPOSU, not "cells with events") and high-band count c_i = h_i + u_i (2.5–8 keV plus 8–12 keV).
第 1 步:估一个安静参考率 μStep 1: estimate a quiet reference rate mu
这一步是整条规则的"锚"。把格子按 5 个一组并成 500 s 的块,取这些块的率的下四分位数,再按泊松噪声修正:μ ← μ + 0.67449·√(μ/中位活时间)。然后做 4 轮"只信低的那部分"的迭代:凡是计数超过 μ·t + 3.5√(μ·t) 的块都算被污染,剔除后重新加权平均,重复 4 次。为什么不能直接用中位数:当大部分时间都在耀发时,中位数本身就坐在耀斑里(PITFALLS 记了这个失败)。
This is the rule's anchor. Group the cells into 500 s blocks of 5, take the lower quartile of their rates, then correct for Poisson noise: mu ← mu + 0.67449·√(mu/median live time). Then run 4 rounds of "trust only the low part": any block with counts above mu·t + 3.5√(mu·t) is treated as contaminated, and mu is re-averaged over the rest, 4 times. Why not the plain median: when most of the time is flaring, the median itself sits inside the flare (PITFALLS records this failure).
第 2 步:找"支撑段"(support runs)Step 2: find the support runs
对每个 100 s 格子,把计数和期望值都做 3 格(300 s)的滑动平均,然后问:平滑后的超出 (c − e) 是否大于 0.7 个泊松标准差 √e?是就是 1,不是就是 0。再用 3 格的结构元素做一次闭运算(把 ≤ 2 格的短缝隙填上),得到一串连续的 1 段 —— 这些就是候选耀斑段。观测的首尾格子单独判断,不让边界把一段耀斑切成两半。
For each 100 s cell, smooth both the counts and the expectation over 3 cells (300 s) and ask: is the smoothed excess (c − e) larger than 0.7 Poisson standard errors √e? Yes → 1, no → 0. Then apply a binary closing with a 3-cell structure (fills gaps of up to 2 cells), giving a set of contiguous runs of 1s — the candidate flare runs. The first and last cells are judged separately, so an edge cannot cut a flare in half.
第 3 步:逐段做泊松检验,决定切不切Step 3: test each run and decide whether to cut
对每个支撑段 [a, b),把整段的观测计数 n 与期望计数 e 相加,算正的泊松偏差(Poisson deviance)D = 2·[n·ln(n/e) − n + e]。只有当三个条件同时成立才切:n > e(必须是正超出)、D > z² = 12.25(z = 3.5 时)、且该段活时间 ≥ 200 s。最后把切掉的段各向外膨胀 1 格(100 s 保护带)。
For each run [a, b), sum the observed counts n and expected counts e over the whole run and compute the positive Poisson deviance D = 2·[n·ln(n/e) − n + e]. A run is cut only when all three hold: n > e (it must be a positive excess), D > z² = 12.25 (for z = 3.5), and the run holds at least 200 s of live time. Finally each cut run is dilated by 1 cell (100 s of padding).
"core" 改了第 2 轮什么What "core" changed in round 2
第 1 轮的 MS 用一组很宽的滑动窗口(4/8/16/32/64 格)扫描,任何超标的窗口都把覆盖的格子标成坏。宽窗口的毛病是:一个大耀斑会污染很多与它重叠的长窗口,把旁边无关的安静时间一起删掉。第 2 轮改成上面的"支撑段 + 整段检验"。效果在 2801 上最清楚:第 1 轮 MS_z3.5 只保留 10.88% / 11.52%(M1 / M2),第 2 轮 MS_z3.5_core 保留 75.67% / 74.99%。
Round 1's MS scanned with a set of broad sliding windows (4/8/16/32/64 cells) and marked every covered cell bad whenever a window exceeded the threshold. The flaw: one big flare contaminates many long overlapping windows and deletes unrelated quiet time next to it. Round 2 replaced this with the "support run + whole-run test" above. The effect is clearest on 2801: round-1 MS_z3.5 kept only 10.88% / 11.52% (M1 / M2); round-2 MS_z3.5_core keeps 75.67% / 74.99%.
可以照抄的伪代码Pseudo-code a student can re-implement
def ms_z3p5_core(cells, z=3.5):
# cells: list of (live_seconds t_i, high_band_counts c_i) on a 100 s grid
# 1. reference rate mu on 500 s blocks
blocks = group_by_5(cells)
mu = lower_quartile([c_i / t_i for blocks])
mu += 0.67449 * sqrt(mu / median(t))
for _ in range(4):
ok = [c <= mu*t + 3.5*sqrt(max(mu*t, 1)) for each block]
mu = sum(c[ok]) / sum(t[ok])
expected = [mu * t_i for each cell]
# 2. support runs: 300 s smoothed excess above 0.7 sigma
s = [ (smooth3(c)[i] - smooth3(expected)[i]) > 0.7*sqrt(max(smooth3(expected)[i],1)) ]
s = binary_closing(s, 3 cells) # fill gaps of up to 2 cells
s[0] = (c[0]-expected[0]) > 0.7*sqrt(max(expected[0],1)) # edges judged alone
s[-1] = (c[-1]-expected[-1]) > 0.7*sqrt(max(expected[-1],1))
# 3. cut a run only if it is a positive, significant, long-enough excursion
bad = zeros
for (a, b) in runs_of_true(s):
n = sum(c[a:b]); e = sum(expected[a:b])
D = 2 * (n*log(n/e) - n + e)
if n > e and D > z*z and sum(t[a:b]) >= 200:
bad[a:b] = True
keep = not dilate(bad, 1 cell) # 100 s padding
return keep
results/c001_policy_search/sol/policies_sol.py (blocks, base_rate, scan_core,第 105–130 行, lines 105-130); .agent/jobs/2026-10-14-pareto-policy-search/REPORT.sol.md "MS — coherent positive excursion runs" 一节与 "What worked"(2801 的 10.88%/11.52% → 75.67%/74.99%)sections "MS - coherent positive excursion runs" and "What worked" (2801: 10.88%/11.52% to 75.67%/74.99%); cognition-os/PITFALLS.md (中位数基线失败)(the median-baseline failure).4. 五个观测的实做例子4. Five worked examples
每张图画的是同一批东西:蓝色细线是 20 s 格子的 2.5–8 keV 视场率;灰色虚线是 MS 自己估的安静参考率 μ;红色阴影是 MS 真正删掉的段;底部黑色粗条是归档 2.filter 保留的时间。所有数字都是从缓存光变曲线现算的(脚本 make_figures_policy_ms.py,与冻结模块同一份代码路径)。
Every figure draws the same things: the thin blue line is the 20 s-cell 2.5–8 keV FOV rate; the grey dashed line is MS's own quiet reference rate mu; the red shading is what MS actually cuts; the thick black bar at the bottom is the archived 2.filter kept time. All numbers are recomputed from the cached light curves (script make_figures_policy_ms.py, the same code path as the frozen module).
results/c001_frontier/cache/0800730201_M1.npz; results/c001_policy_search/sol/policies_sol.py; REPORT.sol.md (全部 28 个最终政策在 0201 上保留 100%)(all 28 final policies keep 100% on 0201).
results/c001_frontier/cache/0800730301_M1.npz; cognition-os/experiments/E012_policy_search_cases.md §Correction (RT-03)section Correction (RT-03).
results/c001_frontier/cache/0800730101_M1.npz; REPORT.sol.md §Results and interpretationsection Results and interpretation; results/c001_policy_search/sol/table.md.
results/c001_frontier/cache/0800732801_M1.npz; REPORT.sol.md §What workedsection What worked; 段位置与偏差由作者用run positions and deviances recomputed by the author with make_figures_policy_ms.py.
results/c001_frontier/cache/0800733101_M1.npz; REPORT.sol.md §What failed or remains unresolvedsection What failed or remains unresolved; cognition-os/experiments/E014_m31_mosaic_test.md §Correction (RT-09)section Correction (RT-09); 04_DECISION_LOG.md D015 的 d_ref 更正D015's d_ref correction.
Lockman Hole 0101(0022740101):缓存里也有它。MS 在 M1 上只保留 3.5%、M2 上 3.4%,2.filter 保留 23.4% / 17.4%。这是 RT-06 认定的 2.filter 失败(espfilt 峰锁在耀斑上,6.8 倍中位数),MS 在这里比 2.filter 切得更狠 —— 是更接近真相还是过度切割,R2(跨观测安静参考)要回答的正是这个问题。
Lockman Hole 0101 (0022740101): it is also in the cache. MS keeps 3.5% on M1 and 3.4% on M2, against 2.filter's 23.4% / 17.4%. This is the 2.filter failure identified by RT-06 (espfilt's peak locks onto a flare, 6.8× the median); MS cuts harder than 2.filter here — whether that is closer to the truth or over-cutting is exactly what R2 (a cross-observation quiet reference) is meant to answer.
results/c001_frontier/cache/0022740101_M1.npz 与and 0022740101_M2.npz; cognition-os/REDTEAM_QUEUE.md RT-06 F-04; cognition-os/RESEARCH_PLAN.md R2. 保留比例由作者 2026-10-16 从缓存现算。Retention fractions recomputed by the author from the cache on 2026-10-16.5. 它在 Pareto 前沿上的位置5. Where it sits on the Pareto front
单次观测内:保留时间对纯泊松误差Within one observation: kept time against Poisson-only error
下面两张图画的是 157 个候选政策(基线 + E012 三个执行者的合并模块)在同一观测里的位置。横轴是保留活时间,纵轴是 σ_stat = 1/√N(N = 保留的 0.5–2 keV 计数,30″ 掩模)。注意这张图的纵轴只是计数噪声,不含系统项,所以"越靠右下越好"只对"曝光几乎免费"的深场成立;在 M31 上系统项主导(见第 6 节)。
The two figures below show 157 candidate policies (the baseline plus the merged E012 modules of three executors) in the same observation. The x-axis is kept live time and the y-axis is sigma_stat = 1/√N (N = kept 0.5–2 keV counts, 30" mask). Note that this y-axis is counting noise only, with no systematic term, so "lower right is better" holds only where exposure is nearly free (deep fields); on M31 the systematic term dominates (see section 6).
results/c001_frontier/cache/0800730301_M1.npz; 政策掩码由policy masks recomputed with ps.baseline_policies 与and ps.module_policies (results/c001_policy_search/merged/policies_merged.py).
results/c001_frontier/cache/0800730101_M1.npz; results/c001_policy_search/sol/table.md (σ_tot 与 p16–p84)(sigma_tot and p16-p84).
叠加后:σ_R 对保留时间,四个集 × 两个相机Stacked: sigma_R against kept time, four sets x two cameras
这是 C001 v3.1 判据(E019)下的位置:σ_R = √(Σ K_o τ²_o / Σ K_o + 1/N_P),τ²_o 是每次观测的潜在一个非负超出(负二项后验),1/N_P 是拼接后的计数项。每张子图一个"集 × 相机",横轴是相对 2.filter 的保留时间比。p16/p84 是观测重采样的散布,不是置信区间(RT-08 F02:覆盖率 52%)。
This is the position under the C001 v3.1 criterion (E019): sigma_R = √(Σ K_o τ²_o / Σ K_o + 1/N_P), where τ²_o is each observation's latent nonnegative excess (a negative-binomial posterior) and 1/N_P is the concatenated counting term. Each panel is one set × camera, and the x-axis is the retained time relative to 2.filter. p16/p84 are the spread from resampling observations, not confidence intervals (RT-08 F02: coverage 52%).
results/c001_risk_v31/risk.json (M31)(M31); results/c001_risk_v31_sets/cdfs/risk.json, lh_stage/risk.json, virgo/risk.json; results/r13_gated/*/risk.json 的fields policy = R13:XJ.MS; cognition-os/experiments/E019_criterion_v3_random_effects.md §R9section R9.
与 2.filter 的配对差,带它的散布Paired difference against 2.filter, with its spread
risk.json 的files, fields delta_vs_2.filter 与and delta_vs_2.filter_p16/p84; XJ.MS 来自from results/r13_gated/*/risk.json 的fields policy = R13:XJ.MS; E019 §R9section R9.
五个政策 × 四集 × 两相机的完整表The full table: five policies x four sets x two cameras
| 集(观测数)Set (observations) | 相机Camera | 政策Policy | T/2.filterT/2.filter | σ_Rsigma_R | σ_R_netsigma_R_net | σ_RCsigma_RC | Δσ_R [p16, p84]delta sigma_R [p16, p84] |
|---|---|---|---|---|---|---|---|
| M31 test(25)M31 test (25) | M1 | MS_z3.5_core | 0.884 | 4.15% | 2.38% | 4.15% | −1.00 [−1.66, −0.29] |
| M1 | 2.filter | 1.000 | 5.15% | 4.09% | 5.15% | 0.00 [0.00, 0.00] | |
| M1 | FLR_z3 | 0.870 | 3.81% | 2.35% | 4.11% | −1.34 [−1.98, −0.65] | |
| M1 | RT3_h2.5_l1 | 0.927 | 4.00% | 2.57% | 4.00% | −1.15 [−1.82, −0.41] | |
| M1 | XJ.MS(带门, R13)XJ.MS (gated, R13) | 0.873 | 3.74% | 2.12% | 4.06% | −1.41 [−2.05, −0.70] | |
| M2 | MS_z3.5_core | 0.881 | 3.89% | 2.84% | 3.89% | −1.96 [−2.68, −1.13] | |
| M2 | 2.filter | 1.000 | 5.84% | 5.30% | 5.84% | 0.00 [0.00, 0.00] | |
| M2 | FLR_z3 | 0.851 | 3.93% | 3.07% | 3.98% | −1.92 [−2.58, −1.18] | |
| M2 | RT3_h2.5_l1 | 0.930 | 4.38% | 3.55% | 4.38% | −1.46 [−2.03, −0.81] | |
| M2 | XJ.MS(带门, R13)XJ.MS (gated, R13) | 0.868 | 3.30% | 2.33% | 3.47% | −2.54 [−3.48, −1.54] | |
| CDFS(34)CDFS (34) | M1 | MS_z3.5_core | 0.805 | 2.96% | 2.43% | n/a | −3.88 [−4.46, −3.30] |
| M1 | 2.filter | 1.000 | 6.84% | 6.63% | n/a | 0.00 [0.00, 0.00] | |
| M1 | FLR_z3 | 0.823 | 3.23% | 2.74% | n/a | −3.61 [−4.07, −3.17] | |
| M1 | RT3_h2.5_l1 | 0.885 | 3.70% | 3.29% | n/a | −3.14 [−3.61, −2.69] | |
| M1 | XJ.MS(带门, R13)XJ.MS (gated, R13) | 0.805 | 2.96% | 2.43% | n/a | −3.88 [−4.46, −3.30] | |
| M2 | MS_z3.5_core | 0.822 | 3.06% | 2.70% | n/a | −3.41 [−3.87, −2.93] | |
| M2 | 2.filter | 1.000 | 6.47% | 6.31% | n/a | 0.00 [0.00, 0.00] | |
| M2 | FLR_z3 | 0.833 | 3.40% | 3.06% | n/a | −3.07 [−3.49, −2.65] | |
| M2 | RT3_h2.5_l1 | 0.893 | 3.67% | 3.36% | n/a | −2.80 [−3.19, −2.41] | |
| M2 | XJ.MS(带门, R13)XJ.MS (gated, R13) | 0.822 | 3.06% | 2.69% | n/a | −3.41 [−3.87, −2.93] | |
| LH stage(13)LH stage (13) | M1 | MS_z3.5_core | 0.536 | 3.60% | 2.59% | n/a | −5.57 [−6.00, −5.10] |
| M1 | 2.filter | 1.000 | 9.16% | 8.94% | n/a | 0.00 [0.00, 0.00] | |
| M1 | FLR_z3 | 0.483 | 3.63% | 2.91% | n/a | −5.53 [−6.39, −4.74] | |
| M1 | RT3_h2.5_l1 | 0.637 | 4.31% | 3.55% | n/a | −4.85 [−5.54, −4.18] | |
| M1 | XJ.MS(带门, R13)XJ.MS (gated, R13) | 0.504 | 3.32% | 2.35% | n/a | −5.84 [−6.39, −5.28] | |
| M2 | MS_z3.5_core | 0.505 | 3.97% | 3.11% | n/a | −5.04 [−5.70, −4.29] | |
| M2 | 2.filter | 1.000 | 9.00% | 8.79% | n/a | 0.00 [0.00, 0.00] | |
| M2 | FLR_z3 | 0.480 | 3.63% | 3.07% | n/a | −5.37 [−6.38, −4.48] | |
| M2 | RT3_h2.5_l1 | 0.636 | 4.51% | 3.85% | n/a | −4.49 [−5.01, −3.95] | |
| M2 | XJ.MS(带门, R13)XJ.MS (gated, R13) | 0.473 | 3.76% | 2.99% | n/a | −5.24 [−5.91, −4.58] | |
| Virgo-server(142)Virgo-server (142) | M1 | MS_z3.5_core | 0.742 | 3.70% | 2.96% | n/a | −3.58 [−4.05, −3.11] |
| M1 | 2.filter | 1.000 | 7.28% | 7.01% | n/a | 0.00 [0.00, 0.00] | |
| M1 | FLR_z3 | 0.539 | 4.05% | 3.47% | n/a | −3.23 [−3.82, −2.66] | |
| M1 | RT3_h2.5_l1 | 0.830 | 4.05% | 3.43% | n/a | −3.23 [−3.69, −2.77] | |
| M1 | XJ.MS(带门, R13)XJ.MS (gated, R13) | 0.727 | 3.48% | 2.79% | n/a | −3.80 [−4.28, −3.30] | |
| M2 | MS_z3.5_core | 0.755 | 3.37% | 2.82% | n/a | −3.34 [−3.79, −2.85] | |
| M2 | 2.filter | 1.000 | 6.71% | 6.50% | n/a | 0.00 [0.00, 0.00] | |
| M2 | FLR_z3 | 0.507 | 3.84% | 3.40% | n/a | −2.87 [−3.36, −2.36] | |
| M2 | RT3_h2.5_l1 | 0.840 | 3.87% | 3.43% | n/a | −2.84 [−3.27, −2.36] | |
| M2 | XJ.MS(带门, R13)XJ.MS (gated, R13) | 0.740 | 3.09% | 2.52% | n/a | −3.62 [−4.05, −3.13] |
σ_RC 只在 M31 上有定义(那里的指向是不同天空,丢掉一个指向要付 V_miss 的代价;√V_miss = 6.7% / 5.1%,M1 / M2);CDFS、LH 与 Virgo-server 是同天空集,打分器输出 n/a。MS 不丢任何指向(每个集最多丢 1 个观测,E022),所以它的 σ_RC = σ_R。Δσ_R 是配对差,方括号是 p16–p84 散布,不是置信区间。MS 在 8 个格子里全部为负、散布全部不含 0 —— 但 RT-16 表明 M31 MOS1 的负值主要由 2.filter 最差的两个观测贡献(去掉后 +0.33,持平)。RT3_h2.5_l1 保留时间最多(0.64–0.93),FLR_z3 在 M31 上更优但靠的是整观测硬度过硬门(E022:它在 Virgo-server 上丢掉 51–54/142 个观测,含 NGC 1399 热气体)。XJ.MS 是 R13 的带门变体:MS_z3.5_core 的光变掩码加上 E021 的场门(丢掉 0800733101、0800731701 与各集里 3–8 个最差观测)。在 M31 test 子集上它比裸 MS 略好(M1 −1.41 对 −1.00;M2 −2.54 对 −1.96),σ_R_net 也更低(2.12% / 2.33% 对 2.38% / 2.84%);但它要付门丢掉曝光的代价,在 P004 的三条冻结读数条件里失手两条(LH MOS2 上对 FLR_z3 的 Δσ_R 的 p84 为 +0.81,要求 ≤ +0.5 pp;Virgo-server 上丢 8 个观测,而 FLR_z3 丢 51–54,要求 ≤ 它所丢的十分之一即 5.1–5.4)。
sigma_RC is defined on M31 only (there the pointings are different sky, so dropping one costs V_miss, with √V_miss = 6.7% / 5.1% for M1 / M2); CDFS, LH and Virgo-server are same-sky sets and the scorer reports n/a. MS drops no pointing (at most 1 observation per set, E022), so its sigma_RC equals sigma_R. delta sigma_R is a paired difference and the brackets are the p16-p84 spread, not a confidence interval. MS is negative in all 8 cells with no spread containing 0 — but RT-16 shows the M31 MOS1 negative is carried mostly by 2.filter's two worst observations (+0.33 without them, no significant difference). RT3_h2.5_l1 keeps the most time (0.64-0.93); FLR_z3 does better on M31 but through its absolute-hardness whole-observation gate (E022: it drops 51–54 of 142 Virgo-server observations, including the NGC 1399 hot gas). XJ.MS is the R13 gated variant: the MS_z3.5_core light-curve mask plus the E021 field gate (dropping 0800733101, 0800731701 and the 3-8 worst observations of each set). On the M31 test subset it is slightly better than bare MS (M1 -1.41 vs -1.00; M2 -2.54 vs -1.96) and its sigma_R_net is lower too (2.12% / 2.33% vs 2.38% / 2.84%); but it pays for the exposure the gate discards and fails two of P004's three frozen reading conditions (on LH MOS2 its delta sigma_R against FLR_z3 has p84 = +0.81, required ≤ +0.5 pp; it drops 8 Virgo-server observations, required ≤ one tenth of FLR_z3's 51–54, i.e. 5.1–5.4).
results/c001_risk_v31/risk.json 与and results/c001_risk_v31_sets/cdfs/risk.json, lh_stage/risk.json, virgo/risk.json 的fields T_vs_2filter, sigma_R, sigma_R_net, sigma_RC, delta_vs_2.filter (test 子集,作者 2026-10-16 逐格读出)(test subset, read cell by cell by the author on 2026-10-16); E019 §R9section R9; cognition-os/experiments/E019_criterion_v3_random_effects.md §v3.1(V_miss)section v3.1 (V_miss); XJ.MS 一行来自the XJ.MS row comes from results/r13_gated/{m31,cdfs,lh_stage,virgo}/risk.json 的fields policy = R13:XJ.MS (test 子集)(test subset), 与and cognition-os/experiments/E022_flr_hardness_gate.md §R13、section R13, prereg/P004_gated_leaders.md.6. 一致性与剖面6. Consistency and profiles
E014:31 个 M31 观测叠成一个马赛克E014: 31 M31 observations as one mosaic
E014 把 31 个 M31 halo 观测当成一次拼接观测,用当时的 v_W 判据打分。在保留 ≥ 0.88 倍 2.filter 曝光的政策里,MS_z3.5_core 是最好的一档:1.3%(M1)与 1.6%(M2),对应 0.88 倍的 2.filter 时间。同一份产品里 2.filter 是 4.4% / 4.9%,绝对最小点(EH_B300_n-1,MOS2)只有 0.55% 但只保留 0.16 倍时间。P(best) 分散在 10–30 个政策上,最大 0.18 —— 最好的政策没有定论。
E014 treated the 31 M31 halo observations as one concatenated pointing and scored them with the then-current v_W criterion. Among policies keeping at least 0.88× of 2.filter's exposure, MS_z3.5_core is the best tier: 1.3% (M1) and 1.6% (M2), at 0.88× of 2.filter's time. In the same products 2.filter gives 4.4% / 4.9%, and the absolute minimum (EH_B300_n-1, MOS2) is 0.55% but keeps only 0.16× of the time. P(best) is spread over 10-30 policies with a maximum of 0.18 — the best policy is not resolved.
cognition-os/experiments/E014_m31_mosaic_test.md §Stage 2; results/e014_m31_mosaic/sol/run31/mosaic.json (作者复核:MS test 子集 σ_tot,noD = 1.30% / 1.61%,T/2.filter = 0.883 / 0.884;2.filter 4.35% / 4.94%)(author's recheck: MS test-subset sigma_tot,noD = 1.30% / 1.61%, T/2.filter = 0.883 / 0.884; 2.filter 4.35% / 4.94%).E020:垂直剖面一致性 —— "未检出",而且功效很低E020: vertical-profile consistency — "not detected", and with little power
E020 问的是一个更接近科学产出的问题:换 GTI 政策能不能让 M31 halo 的垂直剖面在不同观测之间更一致?答案经过 RT-12 修正后是:未检出,且这个检验的功效很低。
E020 asks a question closer to the scientific output: can changing the GTI policy make the M31 halo vertical profile more consistent between observations? After the RT-12 correction the answer is: not detected, and the test has little power.
| 量Quantity | 2.filter2.filter | MS_z3.5_coreMS_z3.5_core | 配对差 [95%]paired delta [95%] |
|---|---|---|---|
| M1 中位 τ_b(4′ 箱)M1 median tau_b (4' bins) | 9.03% | 10.37% | −0.8 pp [−3.11, +1.16] |
| M1 合并 χ²_νM1 pooled chi2_nu | 7.95 | 6.91 | −0.71 [−1.57, +0.02] |
| M2 中位 τ_b(4′ 箱)M2 median tau_b (4' bins) | 10.79% | 9.22% | −1.11 pp [−3.24, +0.70] |
| M2 合并 χ²_νM2 pooled chi2_nu | 13.87 | 10.64 | −2.43 [−3.91, −1.27] |
RT-12 的原话:如果 E019 的观测内项与一个结构性项正交相加,从 2.filter 换成领先政策只预测 Δτ_b ≈ −0.8…−1.1 pp(M1)与 −1.9 pp(M2),而配对 bootstrap 的 sd 是 0.7–1.9 pp —— 预测只有 1–2σ。所以"没有政策显著改善剖面"必须读成"未检出,功效低",不是"剖面与 GTI 无关"。
RT-12's own words: if E019's within-observation term adds in quadrature to a structural term, switching from 2.filter to the leaders predicts only Δτ_b ≈ −0.8…−1.1 pp (M1) and −1.9 pp (M2), while the paired bootstrap sd is 0.7-1.9 pp — the prediction is only 1-2σ. So "no policy significantly improves the profile" must be read as "not detected; low power", not as "the profile is unrelated to the GTI".
RT-12 还撤回了一句话:"剩下的散布不是 GTI 效应"是错的。去掉每次观测的 z 无关偏移后,中位 τ_b 从 8.8% → 6.5%(M1)与 11.5% → 8.7%(M2),即 τ_b² 的 43–46% 是一个可用 GTI 修的逐观测偏移。MS 在这个偏移统计上:M1 +2.20 pp [−1.22, +3.78]、M2 −1.28 pp [−3.14, +0.13] —— M2 上方向为负但区间含 0,记持平;M1 上为正。做这个统计的 Q_d0.05_n2 用角落,MS 不用。
RT-12 also withdrew one sentence: "the remaining scatter is not a GTI effect" is wrong. Removing each observation's z-independent offset takes the median τ_b from 8.8% to 6.5% (M1) and 11.5% to 8.7% (M2), i.e. 43-46% of τ_b² is a per-observation offset a GTI can fix. For MS on that offset statistic: M1 +2.20 pp [-1.22, +3.78] and M2 -1.28 pp [-3.14, +0.13] — on M2 the sign is negative but the interval contains 0, so no significant difference; on M1 it is positive. The policy that does well there, Q_d0.05_n2, uses the corner; MS does not.
cognition-os/experiments/E020_m31_vertical_profile.md §Correction (RT-12); results/e020_m31_profile/luna/run2/consistency.json (4′ 箱的 τ_b、χ²_ν 与配对 Δ,作者 2026-10-16 逐行读出)(4' bins: tau_b, chi2_nu and paired deltas, read row by row by the author on 2026-10-16); results/redteam/rt12-profile/hermes/check1b_power.out (MS_core 的预测 −1.88%、bootstrap sd 0.96%、z(obs vs 0) = −0.16)(MS_core: prediction -1.88%, bootstrap sd 0.96%, z(obs vs 0) = -0.16); check2c_remove_offset.out; check7c_pooled_fixed.out.E010:Al 线稳定性 —— 线检验目前排不出政策名次E010: Al-line stability — the line test cannot rank policies at present precision
E010 对 20 个政策叠合了 ln(L_K/L_B)。结论:Al-K 线在保留与拒绝时间之间稳定到约 1%,所有政策共有一个约 +1% 的偏移,政策之间的差别 ≤ 1% 且可由稀释解释。线检验不能用来给政策排名。MS_z3.5_core 不在 E010 的 20 个政策名单里(那份工作在 E012 之前),所以这里没有 MS 的专属数字 —— 这是空缺,不是通过。
E010 stacked ln(L_K/L_B) over 20 policies. The conclusion: the Al-K line is stable between kept and rejected time to about 1%, all policies share a common +1% offset, and differences between policies are ≤ 1% and explained by dilution. The line test cannot rank policies. MS_z3.5_core is not among E010's 20 policies (that work predates E012), so there is no MS-specific number here — that is a gap, not a pass.
cognition-os/experiments/E010_line_stack_per_policy.md; results/c001_line_stack/sol/stacks.json (政策名单)(the policy list).7. 已知失败与限度7. Known failures and limits
| 事项Item | 数字 / 状态Number / status | 为什么是问题Why it matters |
|---|---|---|
| 0800733101 失败The 0800733101 failure | 保留 2.27 / 3.75 ks(M1 / M2),σ_tot 95.7% / 27.0%,2.filter 是 81.88% / 26.56%keeps 2.27 / 3.75 ks (M1 / M2), sigma_tot 95.7% / 27.0% against 2.filter's 81.88% / 26.56% | 整次观测基线被抬高(d_ref 对孪生 0701 是 73.5%,MOS1),时间筛选看不见一个随时间恒定的成分。报告明确说"孪生参考暴露了一个单靠时间稳定性看不见的残余水平问题"。D017(PI,2026-10-16):无法确定基线的观测需要被剔除,候选规则是线锚标志 ln(H_kept/L_Al)(E021/R11)—— 而 MS_z3.5_core 在这个标志下不剔除任何观测(max z 2.5),即它治不了这一类。The whole observation has a raised baseline (d_ref against twin 0701 is 73.5% on MOS1); temporal screening cannot see a component that is steady in time. The report says the twin reference "exposes a residual level problem that temporal stability alone misses". D017 (PI, 2026-10-16): observations whose baseline cannot be determined are removed, and the candidate rule is the line-anchored flag ln(H_kept/L_Al) (E021/R11) — under which MS_z3.5_core rejects nothing (max z 2.5), i.e. it cannot fix this class. |
| 干净案例上的水平审计The clean-case level audit | 0701 上保留 90.73% / 92.81%,掩模后 kept/all 水平 = 0.97711 / 0.97649on 0701 it keeps 90.73% / 92.81%, masked kept/all level = 0.97711 / 0.97649 | 在干净观测上任何切割都会把保留的 0.5–2 keV 均值压低 0.3–1.6%(D015 的零测试)。这个向下的位移不证明没有选择偏差,只说明它很小。报告原话:"这些观测到的向下位移不证明不存在选择偏差"。On a clean observation any cut lowers the kept 0.5-2 keV mean by 0.3-1.6% (D015's null test). This downward shift does not prove the absence of selection bias, only that it is small. The report: "these observed downward shifts do not prove absence of selection bias". |
| 只在六个已消费案例上设计Designed on six consumed cases only | E012 / sol 报告:开发数据,不是冻结验证E012 / the sol report: development data, not frozen validation | z = 3.5 与 0.7σ、200 s 这些常数都是在这六个案例上调出来的。R9 的四个集里,M31 之外的三个集没有参与设计,CDFS 对 E007 是开发数据 —— 报告自己列了这条保留。z = 3.5 and the 0.7-sigma and 200 s constants were all tuned on these six cases. Of R9's four sets, the three outside M31 took no part in the design, and CDFS was development data for E007 — the report lists this caveat itself. |
| 散布不是置信区间The spreads are not confidence intervals | RT-08 F02:覆盖率 52%,全干净马赛克上 0%RT-08 F02: coverage 52%, and 0% on an all-clean mosaic | p16/p84 只描述"重采观测"的离散,不对应真实风险区间。读它们时不能写"显著优于"。p16/p84 describe only the spread from resampling observations and are not intervals on the true risk. They must not be read as "significantly better". |
| RT-16 已裁定:胜利的来源RT-16 triaged: where the win comes from | 已裁定,1 条实质TRIAGED, 1 material | 符号在所有打分器变体下都活下来;但 M31 MOS1 上前 5 个观测承担了 MS 的 K·τ² 下降的 138%,去掉 2.filter 最差的 0301 与 2601 后 Δσ_R 从 −0.80 变 +0.33(持平)。它当时倾向 FLR_z3,而 E022/R13 后来查明 FLR 的领先来自绝对硬度门(丢掉 Virgo-server 34–38% 的曝光),所以主候选仍未定,留给 PI。另更正了"每个集排名前 1–50"的说法:CDFS MOS1 上 MS 的排名是 12–25。The sign survives every scorer variant; but on M31 MOS1 the top 5 observations carry 138% of MS's K·τ² drop, and removing 2.filter's two worst (0301, 2601) takes Δσ_R from -0.80 to +0.33 (no significant difference). It leaned toward FLR_z3, which E022/R13 later showed comes from an absolute hardness gate (discarding 34-38% of the Virgo-server exposure), so the main candidate is still open and awaits the PI. It also corrects "top 1-50 in every set": on CDFS MOS1 MS ranks 12-25. |
| R7 未跑R7 has not run | 排队中(R2 之后)QUEUED (after R2) | 预注册的剖面检验(RT-12 F-02 的逐观测偏移统计,远盘箱,带 QPB 相减变体)还没做,所以"剖面更一致"这件事对 MS 仍是未检出。The pre-registered profile test (RT-12 F-02's per-observation offset statistic, far-disk bins, with a QPB-subtracted variant) has not run, so "a more consistent profile" remains undetected for MS. |
| 谱验证 C2 未做The spectral check C2 has not been done | 未做NOT DONE | C001 的快速判据最终要用天空谱参数的一致性检验(C2,P002 之后)。MS 目前只有光变曲线层面的证据。C001's quick criterion must finally be checked against sky-spectral consistency (C2, after P002). MS currently has light-curve-level evidence only. |
| R2 已完成:跨观测参考没有超过它R2 done: the cross-observation reference did not beat it | 已完成(E021)DONE (E021) | XQ 家族(codexnim 的 HSH_q20_z3、FFC_q20_z4、XOG)在 M31 上没有超过单观测领先政策;M31 MOS1 上 HSH 是 −0.21 [−1.18, +0.78](持平)。E021 还确认:R9 的"全部 8 格"只在 25 观测 test 子集上成立,M31 全 31 观测上 MS MOS1 是 −0.80 [−1.62, +0.06](持平)。E022(R12):FLR_z3 的优势来自它的整观测硬门(Virgo-server 上丢 51–54/142),MS 每个集最多丢 1 个观测,在 CDFS、LH、Virgo-server 上与 FLR 相当或更好。The XQ families (codexnim's HSH_q20_z3, FFC_q20_z4, XOG) did not beat the single-observation leaders on M31; on M31 MOS1 HSH is -0.21 [-1.18, +0.78] (no significant difference). E021 also confirms: R9's "all 8 cells" holds on the 25-observation test subset only; on all 31 M31 observations MS MOS1 is -0.80 [-1.62, +0.06] (no significant difference). E022 (R12): FLR_z3's edge comes from its whole-observation hardness gate (dropping 51–54 of 142 on Virgo-server); MS drops at most 1 observation per set and matches or beats FLR on CDFS, LH and Virgo-server. |
| R13:带门的 XJ.MS 失手两条冻结读数条件R13: the gated XJ.MS fails two frozen reading conditions | 已跑,未通过 P004RAN, fails P004 | XJ.MS = MS_z3.5_core 的掩码 + E021 的场门(否掉 0800733101、0800731701)。它在 M31 全 31 观测上是 −1.53 [−2.31, −0.73] / −3.84,比裸 MS 强,但 P004 的三条冻结读数条件里它没达到两条:LH MOS2 上 Δσ_R 对 FLR_z3 的 p84 是 +0.81(要求 ≤ +0.5 pp),Virgo-server 上丢 8 个观测而 FLR_z3 丢 51–54,十分之一是 5.1–5.4(要求 ≤ 十分之一)。第三条(M31 全 31 上 Δσ_R 对 2.filter 不含 0,或否掉 3101 与 1701)它满足。所以带门变体不是现成的替代品;它治得了 3101 那一类,代价是丢掉已接受的曝光。XJ.MS = the MS_z3.5_core mask plus the E021 field gate (rejecting 0800733101 and 0800731701). On all 31 M31 observations it is -1.53 [-2.31, -0.73] / -3.84, stronger than bare MS, but it misses two of P004's three frozen reading conditions: on LH MOS2 its delta sigma_R against FLR_z3 has p84 = +0.81 (required ≤ +0.5 pp) and it drops 8 Virgo-server observations where FLR_z3 drops 51–54, so one tenth is 5.1–5.4 (required ≤ one tenth). The third condition (M31 all-31 delta sigma_R against 2.filter excluding 0, or rejecting 3101 and 1701) it meets. So the gated variant is not a drop-in replacement: it fixes the 3101 class at the cost of discarding accepted exposure. |
.agent/jobs/2026-10-14-pareto-policy-search/REPORT.sol.md §What failed or remains unresolved、§Clean-case selection audit、§Policies put forwardsections What failed or remains unresolved, Clean-case selection audit, Policies put forward; results/c001_policy_search/sol/table.md; cognition-os/experiments/E019_criterion_v3_random_effects.md §RT-08、§R9 与 §RT-16sections RT-08, R9 and RT-16; cognition-os/experiments/E021_xq_cross_observation_reference.md; E022_flr_hardness_gate.md; cognition-os/04_DECISION_LOG.md D017; cognition-os/RESEARCH_PLAN.md R2/R7/R12/R13。8. 如何亲手跑它8. How to run it by hand
政策代码在数据树里,是冻结的只读模块;打分脚本在代码树里。下面每条命令都在 lang 上实跑过(作者 2026-10-16,退出码 0),输出写到 $TMPDIR,不改动任何收据。
The policy code is a frozen read-only module in the data tree; the scoring scripts are in the code tree. Every command below was run for real on lang (by the author on 2026-10-16, exit code 0), writing to $TMPDIR and touching no receipt.
8.1 模块在哪里,怎么读它8.1 Where the module is and how to read it
cd /u/Lang3/program/DiffuseXrayCalibration/ParetoGTICal
# The frozen module (SHA-256 fb2e0451...79b26, unchanged since the E012 search):
# /u/Lang3/Data/DiffuseXrayCalibration/ParetoGTICal/results/c001_policy_search/sol/policies_sol.py
# MS_z3.5_core = scan_core(t, c, 3.5) inside policies(): out[f"MS_z{z}_core"]
# It is loaded by the scorer under the name "sol." through the merged module:
# results/c001_policy_search/merged/policies_merged.py -> "sol.MS_z3.5_core"
# and by c001_risk.py under the name "merged:" -> "merged:sol.MS_z3.5_core"
8.2 导出 GTI 区间8.2 Export GTI intervals
cd /u/Lang3/program/DiffuseXrayCalibration/ParetoGTICal
PYTHONDONTWRITEBYTECODE=1 python3 scripts/c001_export_gti.py --out "$TMPDIR/gti_ms.json"
# Prints per observation, in ks, for none / 2.filter / EH_B1000_n2 / sol:MS_z3.5_core /
# sonnet:CP_h_p6_d0.05. The JSON is {obsid: {policy: [[t0, t1], ...]}} in TT seconds,
# MOS1 and MOS2 intersected (a time is kept only when both cameras keep it).
实跑输出(2026-10-16,作者):0201 的 MS 保留 15.6 ks(1 个区间,与 none 相同);3101 的 MS 保留 2.266 ks(2 个区间),2.filter 2.8 ks。每个 ObsID 只跑六个基本案例,这是 E013 的五仪器检验入口。
Real output (2026-10-16, the author): on 0201 MS keeps 15.6 ks (1 interval, the same as none); on 3101 MS keeps 2.266 ks (2 intervals) against 2.filter's 2.8 ks. It runs only the six basic cases; this is the entry point for E013's five-instrument test.
8.3 重新打分(v3.1 判据)8.3 Rescore with the v3.1 criterion
cd /u/Lang3/program/DiffuseXrayCalibration/ParetoGTICal # M31 halo (the default --glob 080073*01): PYTHONDONTWRITEBYTECODE=1 python3 scripts/c001_risk.py --out "$TMPDIR/risk_m31" # One of the other three sets: PYTHONDONTWRITEBYTECODE=1 python3 scripts/c001_risk.py --set cdfs --out "$TMPDIR/risk_cdfs" PYTHONDONTWRITEBYTECODE=1 python3 scripts/c001_risk.py --set lh_stage --out "$TMPDIR/risk_lh" PYTHONDONTWRITEBYTECODE=1 python3 scripts/c001_risk.py --set virgo --out "$TMPDIR/risk_virgo" # Reads: per_obs.json, risk.json, summary.txt. Look for the row "merged:sol.MS_z3.5_core".
不带 --out 时默认写 results/c001_risk_v31/,会覆盖记录在案的结果。要演示就指向 $TMPDIR(脚本只读输入)。本页所有数字来自已有的 results/c001_risk_v31/ 与 results/c001_risk_v31_sets/,作者只读未写。
Without --out the default writes results/c001_risk_v31/ and would overwrite the recorded results. To demonstrate, point it at $TMPDIR (the scripts only read their inputs). Every number on this page comes from the existing results/c001_risk_v31/ and results/c001_risk_v31_sets/, which the author read but never wrote.
scripts/c001_export_gti.py 与and scripts/c001_risk.py 的(their --help 实跑(2026-10-16)与作者对导出脚本的实跑runs on 2026-10-16, plus the author's real run of the export script); results/c001_policy_search/sol/policies_sol.py; results/c001_policy_search/merged/policies_merged.py。