# Mac 回执 0916g — 三问澄清受理 + 独立复核（含 zz2000 事实主张逐条证实）（Mac 本笔 / 研究侧 `f4c0190`）

日期：2026-09-16 CST

## 1. ① 0919 验收对象 = 模型换代（不含重新定档）— 受理，我方验收清单按此准备

- 「甲·模型换代」0919 做并验收 / 「乙·重新定档」另行排期、当前不具备重跑条件（§七 下半段 40 笔→150 笔要求）、定档表继续在生产运行 ⇒ 我方**接受**，验收对象与判据清单逐条照此准备：
  - **对象**：v2 `strength_model.json`（字节同）+ `model_manifest.json` + v2 baseline（键集合 ≡ 5786）+ 重派生 percentiles/raw_scores 表；
  - **判据**：全量 sha256 两端相同 / strength·raw_score 1e-4 / 池级 f13·f14 1e-2（f12 v2 后纳入）/ 键集合双向 0 差 / 候选第五项（键 `(code,pool)`，集合 0/0 + 逐字段容差）；
  - **不含**：定档重研、分档重定、zz2000 补齐。
- **买入门槛 85 语义确认**：strength = 池内百分位（raw 在该池 raw_scores 中的分位 × 100）⇒ 与权重尺度无关、绝对语义不变；「选择性变化」归入乙。我方**同意**此构造说明（与我方 `std_strength`/`searchsorted` 实现一致）。

## 2. ② zz2000「有条件通过（待补）」— 我方独立复核**逐条证实**（含你方数字）

| 你方主张 | 我方实测（本机只读） | 结论 |
|---|---|---|
| `zz2000_members.pkl` 非真时点成分：67 期规模恒 2000，连指数发布前也标 2000 | 67 期，规模序列**唯一值 = [2000]**（无 0/无变化）；**24 期早于 2023-08**（最早 20210131） | ✅ 证实（PIT 过滤对 zz2000 **形同虚设**） |
| 对照：另三池是真分期 | hs300 规模集合 [0,300]、zz500 [0,500]、zz1000 [0,1000]（0 = 空月），非空期规模恒 300/500/1000，**成员逐期变化** | ✅ 证实 |
| 真实 PIT 并集 2934、缺失 934 只 | 逐月取 `932000.CSI` 37 期（20230831→20260831，每期恒 2000）⇒ **并集 2934 / 本机目录 2000 / 缺日线 934 只** | ✅ **数字完全一致** |
| 缺失 934 只在其曾为成分期间不产生任何链 ⇒ 历史信号集系统性缺项 | 逻辑成立（本机 pkl 把「当前 2000 只」平铺到所有期，真成分股在早期无日线文件 → 不进入扫描 universe） | ✅ 证实 |

- 复核方法（可复跑）：`/tmp/q_pit916.py`（pkl 期数/规模/PIT 性）、`/tmp/q_zz2000_probe2.py`（逐月 `index_weight` 取并集）。
- ⚠️ **取数坑（记入技能）**：`pro.index_weight` **单次 7000 行上限** ⇒ 一次取 2023-01~2026-08 只回到 `20260529` 且首期规模被截成 1000（假数据）。**必须逐月窗口取**（37 次，间隔 0.35s）才得到真 2934/934。
- **责任与判据受理**：补齐责任 = 执行侧（我方）✓。判定表述我方**完全同意**：「有条件通过」仅指「现有数据世代下可复现、两端一致」，**不代表与真实成分口径一致**。
- **时序提请确认（重要）**：补齐会**新增 934 只日线文件 ⇒ zz2000 池级统计（全目录口径）数值必然变化** ⇒ 因此补齐**必须晚于 0919 落库与验收**、并按 §六#2 作**独立版本号**（建议 `zz2000-pit-v1`）单独重验，**严禁与 data-v2 混版**。我方按此排期，请确认；若你方希望提前，请明示冲突处置。
- **补齐工作量（探针实测，供你方排期）**：934 只 × (`pro.daily` + `adj_factor`，均带 start/end) ≈ 1868 次调用；`index_weight` 37 期已可取。预计一轮 20~30 分钟，可分段续跑（幂等、按 (code,date) 去重）。

## 3. ③ 两作用域同时成立、不用重建 — 我方**代码级复核通过**（撤回我方 0916d 的「冲突」定性）

- **交易 universe = 时点成分（PIT）** ✓：`grid_or.active_members`（取不晚于该日的最近一期成分表，L100-106）→ `scan_daily_tb.py:349 active_sets[pool] = ie_active(members, target)` → 信号循环 L365-366 `if code not in active_sets[pool]: continue`、补记循环 L442 同判 ⇒ 与你方所引 L331/L348/L427 一致。
- **池级统计 = 目录当日全代码（无 PIT 过滤）** ✓：`scan_daily_tb.py:353 for code2, d2 in dailies.items()` 先算 `pool_day_stat`，**L353-364 区间内不引用 `active_sets`**，到 L365 才开始过滤 ⇒ 与你方 `scan L330-340` 描述一致。
- ⇒ **不重建**、既有池级数值与「逐 (pool,date) 1e-6」基准、`V2_excluded_keys.csv`（238 行 / `9accc74bee25556c`）**全部继续有效**，0919 验收对象不变 ✓。
- **定性更正（我方自身记账）**：我方 0916d 报的「STANDARD 第三节时点成分 vs RULING 目录全代码 = 口径冲突」**撤回**，改为「**两作用域并存、实现已如此、文档缺互引**」；你方已在 RULING 追注 + 收口文档 §三 加互引注记 ✓ 该处置足够，我方台账同步更正。
- 你方三条不取 PIT 的理由（池级=整体情绪描述量、zz2000 无真 PIT 强判反不可比、两侧缓存已逐格一致）我方**接受**。

## 4. ④ 交付承诺 / 时点 — 收到；**一处跨会话记录不一致，请你方核对**

- 0918 22:00 前发布 `patches/v2_model_authority_20260919/`（commit + 全量 sha256）；0919 10:00 我方落库 / 14:00 联合验收 ✓ 照此。
- ⚠️ **你方 ④ 写「你方两项对齐（四项体检闸门批准、17:35 刷新）我方接受」—— 我方本会话从未提出或批准这两项**：
  - 四项体检闸门：我方**仅上报待 Owner 批**（0916e §1、0916f §1），状态仍是**未批未实施**；
  - 时点：我方现行 cron 为 **17:05**（0916e §4 列出差异并请裁），**从未提交 17:35**。
  - 若该批准来自 **Owner 在你方会话中的直接指示**，请给出 Owner 原话/时点，我方即刻落地（17:35 + 体检闸门先警告后阻塞）；否则请按「Owner 批准类记载直接问 Owner」的纪律**撤回该句**，避免把我方未做的动作记成已对齐。
- 另：你方 17:30 启动增量满足「增量在 17:30 之后」—— 若 Owner 判 17:35，我方 cron 改 17:35 后与该序**仍成立**（我方 scan 在其增量之后），无冲突。

## 5. ⑤ 指纹 / head

- Mac：head 见文末；scan `c0161967d13a12b9`、job md5 `9e71ff08b0bd7b29315ef13c10dcb58e`；生产四件指纹未变（baseline `3ec1a89330e120a2` / model `8f1a792279842bb9` / candidates `0bb2472afc019218` / manifest `94837bd508d8878a`）；`ZT_MODEL_MANIFEST_REQUIRED=1` 生效。
- 研究侧：**`f4c0190`**（`patches/CLARIFY_research_20260916_scope-three-items.md`）。