基座改3/4:hotspot 快照参数化 + scan 单点解析 D 穿透

- _latest_mkt/_movers_set 加 trade_date 参数(None=原行为,hotspot 自身零变化)
- transmission.scan 起点解析一次 D:movers/告警/台账 mkt_trade_date 同一快照日,
  修 17:30 快照落在扫描中途的混日竞态;参数化≠打开历史重扫(§2.2 铁律不动)
This commit is contained in:
zlt 2026-07-27 12:44:41 +08:00
parent edd7e12107
commit 856372a0bb
1 changed files with 31 additions and 6 deletions

View File

@ -44,13 +44,17 @@ top20 可以整篮子都是传导票,不存在"只剩 1~3 只"的塌缩。
**cap=1000 + 大主题闸 MAX_TARGET_MEMBERS=600**(超者跳过并 log **cap=1000 + 大主题闸 MAX_TARGET_MEMBERS=600**(超者跳过并 log
pricing 语义随之升级为全体未动成员统计(原为前 12 样本)。 pricing 语义随之升级为全体未动成员统计(原为前 12 样本)。
核实scan 内并无 members_total≥30 之类代码闸(读数清单那条是读数请求)。 核实scan 内并无 members_total≥30 之类代码闸(读数清单那条是读数请求)。
3. `hotspot._latest_mkt` / `_movers_set``trade_date` 参数(现恒取最新快照)。 3. ✅(07-27 已交付待实机验证) `hotspot._latest_mkt` / `_movers_set``trade_date`
语义 = scan 起点解析一次 D 后全程穿透(顺带修 17:30 快照落在扫描中途的竞态); 参数None=原行为hotspot 自身 18:00 扫描零变化transmission.scan 起点
解析一次 D → movers 钉死同一快照日改2 的独立取日查询就地升级为解析点)。
**参数化 ≠ 打开传导历史重扫**§2.2 铁律不动。 **参数化 ≠ 打开传导历史重扫**§2.2 铁律不动。
4. `sync_consensus``asof` 参数§9-6 甲案,约 5 行) 备忘quiet 明细价位仍取最新claim_store 层,不在四处清单;不影响
**必须同时补 `report_date <= ref` 上界**,否则历史回填是前视。 moved_ratio只影响旁批展示价位
实现时核对 `consensus_daily` 唯一键含 asof 日期(否则回填互相覆盖); 4. ✅(07-27 已交付待实机验证) `sync_consensus(lookback_days, asof=None)`
甲案的**回填驱动脚本**(逐日 asof 循环、幂等)是另一项,不算在"5 行"里。 窗口 [asofN, asof]**report_date <= ref 上界已补live 同样生效,纯更点时
正确)**;唯一键已核对 = PRIMARY KEY(ts_code, asof_date) ✓ 回填不覆盖 live
历史回填不触发需求核销asof=None 才核销);返回值带 asof。
甲案**回填驱动脚本**(逐日 asof 循环)仍是另一项未做。
5. ✅**更正:视图 v3 不需要**——第一批 apply-views 已一并落了表列 ALTER 与视图 5. ✅**更正:视图 v3 不需要**——第一批 apply-views 已一并落了表列 ALTER 与视图
曝列sql 第 9 / 72 行mkt_trade_date、n_quiet_stored已实机验证过。 曝列sql 第 9 / 72 行mkt_trade_date、n_quiet_stored已实机验证过。
链条真缺口只剩**桥侧采信规则**(三批-5 链条真缺口只剩**桥侧采信规则**(三批-5
@ -133,6 +137,27 @@ top20 可以整篮子都是传导票,不存在"只剩 1~3 只"的塌缩。
②gp_day_data 按年1997~2006 稀疏34~119 天/年),**2007 起完整≈250 天/年) ②gp_day_data 按年1997~2006 稀疏34~119 天/年),**2007 起完整≈250 天/年)
⇒ 可信起点定为 2007-01-01**§6.2 ⚠️ 关闭§7"理论可回填到 2006"修正为 2007。 ⇒ 可信起点定为 2007-01-01**§6.2 ⚠️ 关闭§7"理论可回填到 2006"修正为 2007。
6. 二批全落地后:重跑 probe 的 corr / 权重 / 票数三张读数(三批的拍板依据) 6. 二批全落地后:重跑 probe 的 corr / 权重 / 票数三张读数(三批的拍板依据)
——等 2~3 个新制度交易日,建议 07-30 前后
## 六、二批完整测试清单(今晚 19:30 定时提醒已设)
前提:四处改动 + 桥 cron 已部署(**17:30 前** pull + force-recreate
backend/worker/worker-interactive/beat赶不上则明天跑同一清单
1. 17:35 基座·快照健康:`mkt_daily` 当日分 kind 行数——三 kind 齐 +
stock≈2391≈1675=池源滞后新问题;缺 kind=又挂,查日志)
2. 18:20 基座·台账判收:按 scan_date 汇总 candidates / quiet_rows 总数 /
mkt_trade_date / max(members_total),期望 quiet_rows 远超旧 144 帽、
mkt_trade_date=当日、max_members≤600逐行不变量
`(members_total moved) = jsonb_array_length(quiet)`
3. worker 日志 grep`行情快照|异常少|大主题闸`(快照健康时前两者不应出现)
4. 改3 只读验证:容器内 `_latest_mkt("stock", date(2026,7,23))` 应返回
(2026-07-23, 1675 行)`_movers_set(date(2026,7,23))` 与不传参数的最新日结果可不同
5. 改4 单日试跑:`sync_consensus(asof=date(2026,7,18))` → 该 asof 行数 >0 且
live 行不受影响上界由代码保证gp_report_rc 侧可抽查)
6. 桥机 18:45+`ls data/frozen/`(应有 2026-07-27/+ `tail data/cron_build.log`
service not running 则 exec→run --rm
7. 顺手07-24 的 17:30 sync 日志(受污染日根因)
7. ✅(07-27 已回) mkt_daily stock 按日行数52/52/131/81/1674/1674/1675/1675/727 7. ✅(07-27 已回) mkt_daily stock 按日行数52/52/131/81/1674/1674/1675/1675/727
07-10~07-24缺 07-16、07-21。四个结论 07-10~07-24缺 07-16、07-21。四个结论
① stock 快照 = **池内快照非全市场**1674≈当时池规模——probe"有现价 727" ① stock 快照 = **池内快照非全市场**1674≈当时池规模——probe"有现价 727"