前世今生
The history
第一阶段:立项与继承(2026-10-05 起)
Stage 1: scoping and inheritance (from 2026-10-05)
项目从两个已有成果上起步(D001):MosaicSelfCal(重叠自校准)与 MaskingMethodDemo(掩膜方法演示)。同日 D003 定下方法论基调:拟合/减数据契约 T01–T07 原样继承,本项目检验它们而不是重新推导——校准必须测量生产流水线本身,不是它的变体。D006 定下分工:执行交给 Codex,Claude 规划与评审。
The project started on two existing assets (D001): MosaicSelfCal (overlap self-calibration) and MaskingMethodDemo. The same day, D003 set the methodological tone: the fitting/reduction contracts T01–T07 are inherited as-is; this project tests them rather than re-derives them — the calibration must measure the production pipeline, not a variant. D006 set the division of labour: execution to Codex, planning and review to Claude.
来源:Source: cognition-os/04_DECISION_LOG.md D001/D003/D006
第二阶段:把诊断变成考试(2026-10-06)
Stage 2: from diagnosis to an exam (2026-10-06)
第一轮诊断(E001-E005)确认了症状并排除了几个候选:CDFS 63 个 case 全部向外变亮,边缘/内部净面亮度中位数 1.54\(\times\)(12–14′ 对 0–4′);超额跟着探测器不跟天空(LOO 残差 +0.19/10′);候选 QPB 欠归一或残余 SP。I010 关键转折:边缘超额在四次排除后依然存在——不是 SP 单一解释、不是仪器线、不是未分辨 CXB(每个候选都有对应检验)。这把问题从"找到元凶"变成"建一个可打分的考试"。
The first diagnostic round (E001–E005) confirmed the symptom and eliminated candidates: in CDFS all 63 cases brighten outward, edge/inner median net SB 1.54\(\times\) (12–14′ vs 0–4′); the excess follows the detector, not the sky (LOO residual +0.19/10′); candidates were QPB under-normalisation or residual SP. The I010 turning point: the edge excess survives four eliminations — not a single-SP explanation, not the instrumental lines, not the unresolved CXB (each candidate had its test). This turned the question from "find the culprit" into "build a scorable exam".
同日 D005/D007 冻结了基准测试:固定天域 + 覆盖它的 ObsID 集合,谱级答案只给"必须相同的天空成分"打分(CXB 每例自由,吸收掩膜深度差异)。
The same day, D005/D007 froze the benchmark: a fixed sky cell plus the ObsIDs covering it, with a spectral answer that scores only the sky components that must be the same (CXB free per case, absorbing mask-depth differences).
来源:Source: MosaicSelfCal/cognition-os/insights/I008, I010, MosaicSelfCal/BENCHMARK.md, cognition-os/04_DECISION_LOG.md D005/D007
第三阶段:工具与子项目(2026-10-10 至 13)
Stage 3: tools and sub-projects (2026-10-10 to 13)
D011 注册了 XMM–EP-FXT 交叉校准子项目(FXT 低粒子背景做参考)。D014 注册 ParetoGTICal。10-13 是结构性的三天:D015 把 xsherpa 与 esas_data_reduction 从只读兄弟变成被本项目迭代的工具(发现→issue→版本化发布→DXC 固定版本重测);D016 固定 xsherpa dev3、pn QPB 标度只许 test-only;D017 给每个子项目独立的认知 OS,伞形问题定为"处理后的光子信号对年代、离轴角、姿态角、SP/QPB 状态不变"。ObsConsistency 就位(NGC 3221/5775 逐观测分解)。
D011 registered the XMM–EP-FXT cross-calibration sub-project (FXT's low particle background as reference). D014 registered ParetoGTICal. The 13th was structural: D015 turned xsherpa and esas_data_reduction from read-only siblings into tools this project iterates (finding → issue → versioned release → DXC re-test pinned); D016 pinned xsherpa dev3 and made the pn QPB scale test-only; D017 gave every sub-project its own cognition OS, with the umbrella question set to "the processed photon signal is invariant to epoch, off-axis angle, roll angle, SP/QPB state". ObsConsistency was in place (per-observation decomposition of NGC 3221/5775).
来源:Source: cognition-os/04_DECISION_LOG.md D011/D014/D015/D016/D017, cognition-os/02_CURRENT_QUESTION.md
第四阶段:考试集与分数(2026-10-13 至 16)
Stage 4: the exam set and the scores (2026-10-13 to 16)
考试集 v4 r240 冻结(D019/D020):7 problem、18 ObsID、45 case。逐观测拟合(R3)给出第一批结构化结论:WCDFS/M31 的天空在 A 变体下一致且平;LMC 不一致——后来发现是 0690744801 的孔径选择(RT-M15)。红队密集期:RT-M01 发现仪器线(Al-K/Si-K)主导暗场计数级面亮度;RT-M08 发现离轴角用错了参考点(档案目标 vs 指向,16/40 换 bin)——\(\theta\) 体系全部重算;RT-M09 证明了 ARF-BACKSCAL 组合是对的,防住一个"修复"倒退。D022/D023/D024/D025 密集决策:Virgo 拟合环境、ciao-4.18、xsherpa dev6(G2 分组默认)、dev7(cstat 模式)。
The exam set v4 r240 was frozen (D019/D020): 7 problems, 18 ObsIDs, 45 cases. The per-observation fits (R3) gave the first structured verdicts: WCDFS/M31 skies consistent and flat under variant A; LMC inconsistent — later traced to 0690744801's aperture selection (RT-M15). The dense red-team period: RT-M01 found the instrumental lines (Al-K/Si-K) dominate faint-field count-level SB; RT-M08 found the wrong off-axis reference (archive target vs pointing, 16/40 cases change bin) — the whole \(\theta\) system was recomputed; RT-M09 proved the ARF-BACKSCAL combination right, blocking a "fix" that would have double-counted. Dense decisions D022/D023/D024/D025: the Virgo fit environment, ciao-4.18, xsherpa dev6 (G2 grouping default), dev7 (cstat mode).
来源:Source: MosaicSelfCal/RESEARCH_PLAN.md R3 rows, cognition-os/REDTEAM_QUEUE.md RT-M01/M08/M09/M15, cognition-os/04_DECISION_LOG.md D019–D025
第五阶段:SP 主导(2026-10-17 起)
Stage 5: SP takes over (from 2026-10-17)
PI 判断边缘变亮以 SP 为主("SP dominate the edge brightening"),给出七步路线图(见 MosaicSelfCal/RESEARCH_PLAN.md)。R18a/b/c 测出 SP 自己的空间分布(硬带接近 ESAS det 图,光子 vignetting 被排除);R18c 找到 proton 真正用的图(flare 图 = CCF XMM_FLARE_0001)与正确的每相机旋转(MOS2 是 PA+270,不是 PA+180——R18a 的 +12.9 % 因此撤回)。R18e/f 把相机一致的边缘步长做成 edgestep 包(v1/v2,RT-M52/M55 把校准问题摊开:\(\sigma\) 未校准,s 不能当天线读数)。R16/R16b/R16c 排除了 common-CCD 与 CCD4 重纳。R17 系列定下叠加规则。R19 系列把"SP 检测下限"倒过来:M31 的 SP 在下限之下,"探测不到"不等于"无害"(RT-M40)。
The PI judged the edge brightening SP-dominated ("SP dominate the edge brightening") and gave the seven-step roadmap (see MosaicSelfCal/RESEARCH_PLAN.md). R18a/b/c measured SP's own spatial distribution (hard band close to the ESAS det map, photon vignetting excluded); R18c found the maps proton really uses (flare maps = CCF XMM_FLARE_0001) and the right per-camera rotation (MOS2 is PA+270, not PA+180 — R18a's +12.9 % was withdrawn for this). R18e/f built the camera-consistent edge step into the edgestep package (v1/v2; RT-M52/M55 exposed the calibration problems: \(\sigma\) not calibrated, s not readable as an antenna). R16/R16b/R16c excluded common-CCD and CCD4 re-admission. The R17 series set the stacking rules. The R19 series inverted the "SP detection floor": M31's SP lies below its floor, so "undetectable" is not "harmless" (RT-M40).
来源:Source: MosaicSelfCal/RESEARCH_PLAN.md (SP 路线图与 R16–R19 行)(the SP roadmap and the R16-R19 rows), cognition-os/PITFALLS.md (RT-M33/M36/M40/M41/M45/M52/M55 条目)(the RT-M33/M36/M40/M41/M45/M52/M55 entries)
第六阶段:年代与协方差(2026-10-18 至 19)
Stage 6: epochs and covariances (2026-10-18 to 19)
R20 家族把 SP 水平问题拆成十几个可检验的小问题:重复指向(R20b/c)只是上限,受 QPB 协方差限制(R20d/e/f/g 把这个协方差本身量到构造层面);R20h/i 发现 MOS1/MOS2 SP 率比在 2012 年台阶(0.68→1.47),与 CCD3 丢失完全退化;R20k 排除了掩膜足迹与角区模板陈旧;R20l 量了硬带 QPB 水平(最多解释 21\(\pm\)10 %);R20m(QPB 库年代)\(\Delta R\le0.06\),解释不了台阶;R20n 排除了逐成分全局相机标度;R20o(在跑)检验每观测公共因子。同一时间 SAS 22.1 后端过了代码审(v1.8.0-dev.5,91+6 测试),RT-M74 抓出 -back.pi STAT_ERR/TUNIT 缺陷。
The R20 family split the SP-level question into a dozen testable pieces: repeat pointings (R20b/c) give upper limits only, limited by the QPB covariance (R20d/e/f/g measured that covariance down to the construction); R20h/i found the MOS1/MOS2 SP-rate ratio steps in 2012 (0.68→1.47), perfectly degenerate with the CCD3 loss; R20k excluded the mask footprint and stale corner templates; R20l measured the hard-band QPB level (explains at most 21\(\pm\)10 %); R20m (QPB library epoch) \(\Delta R\le0.06\), not explaining the step; R20n excluded per-component global camera scales; R20o (running) tests the per-observation common factor. In parallel the SAS 22.1 backend passed code review (v1.8.0-dev.5, 91+6 tests), and RT-M74 caught the -back.pi STAT_ERR/TUNIT defects.
来源:Source: MosaicSelfCal/RESEARCH_PLAN.md (R20b–R20o 行)(the R20b-R20o rows), cognition-os/08_RUNNING.md §3/§7, cognition-os/tool_iteration.md 45
死胡同与教训
Dead ends and their lessons
项目记录死胡同与记录进展同样认真;每条都变成了规则(PITFALLS)。
The project records dead ends as carefully as progress; each became a rule (PITFALLS).
- "SP 计数看起来像光子一样 vignetting"(R6 早期):flat SP 扣除让 WCDFS 斜率变负、LMC 不动——没有单一模板同时满足两个场。教训:SP 需要自己的空间模板(PI 2026-10-17),后来 R18 系列测出它。"SP counts look vignetted like photons" (early R6): flat-SP subtraction sent WCDFS negative and left LMC untouched — no single template fits both fields. Lesson: SP needs its own spatial template (PI 2026-10-17), which the R18 series then measured.
- R18a 的 +12.9 % 撤回:MOS2 det→sky 旋转用错(PA+180 而不是 PA+270),自检通过但仍是错的。教训:每个投影图都要对着 SAS 的 det/sky 图像对逐相机验证。R18a's +12.9 % withdrawn: the MOS2 det→sky rotation was wrong (PA+180 instead of PA+270) and passed its own reproduction checks anyway. Lesson: validate every projected map against the SAS det/sky image pair, per camera.
- "R 的年代台阶":RT-M75(1.25\(\sigma\))、R20m(\(\Delta R\le0.05\))、R20n(0.918/1.599)逐步把一个诱人的读法拆掉。教训:先解开天空再读年代;一个 7\(\sigma\) 在含场偏移的误差模型下可以是 3.1\(\sigma\)。"The epoch step of R": RT-M75 (1.25\(\sigma\)), R20m (\(\Delta R\le0.05\)), R20n (0.918/1.599) dismantled a tempting reading step by step. Lesson: unlink the sky before reading epochs; a 7\(\sigma\) can be 3.1\(\sigma\) under a field-offset error model.
- cheese 掩膜读反(RT-M36):把 0 当可用,报成"移除 48–92 %",实际 8–52 %。教训:用之前对着 mask-im 检查约定。The cheese mask read backwards (RT-M36): treating 0 as usable reported "48–92 % removed" where the truth is 8–52 %. Lesson: check the convention against mask-im before use.
- R17 注入检验的假偏差:inject_test.py 把所有 case 折过 cases[0] 的 ARF,制造了 −29…+32 % 的"叠加偏差"。教训:真实与注入必须用同一个 builder。R17's fake stacking bias: inject_test.py folded every case through cases[0]'s ARF, manufacturing a −29…+32 % "stacking bias". Lesson: real and injected data must go through the same builder.
- 模拟器把抽样写回模板(RT-M42):QPB 抽样链每代叠加,方差 1.03→5.5。教训:每代从冻结的模板抽样,检验 var/mean\(\approx1\)。A simulator wrote its draw back into the template (RT-M42): the QPB draw chain compounded, variance 1.03→5.5. Lesson: draw every replicate from a frozen template and test var/mean\(\approx1\).
- common-CCD 不是解药(R16):相交 CCD 集把全场缩到最残缺观测的足迹,反常观测原封不动(+21.8→+22.2 %),一致观测反而丢面积。教训:保留各观测自己的足迹,公共足迹只做诊断。Common-CCD is not a cure (R16): intersecting CCD sets shrinks the field to the most-reduced observation's footprint, leaving the anomaly untouched (+21.8→+22.2 %) while the consistent observations lose area. Lesson: keep each observation's own footprint; report the common footprint only as a diagnostic.
- R20i 的 QPB 率 \(\times\)5(R20k 发现):把计数 \(\times\) eV 重叠而不除以通道宽。教训:手工波段积分要对照拟合自己的波段行率核对。R20i's QPB rates \(\times\)5 (found by R20k): multiplying counts by the eV overlap without dividing by the channel width. Lesson: check any hand-made band rate against the fit's own band-row rates.
来源:Source: cognition-os/PITFALLS.md, cognition-os/REDTEAM_QUEUE.md (RT-M36/M42 行)(the RT-M36/M42 rows), MosaicSelfCal/RESEARCH_PLAN.md (R16/R17/R18a 行)(the R16/R17/R18a rows)