← 归档索引 · 2026-10-17 00:03 · 信号纵向跟踪+反馈闭环-23:15(原23:30并入·2合1)
# Cron Job: 信号纵向跟踪+反馈闭环-23:15(原23:30并入·2合1)

**Job ID:** c85cc7fd1251
**Run Time:** 2026-10-17 00:03:11
**Schedule:** 15 23 * * 1-5

**Prompt Characters:** 7240
## Prompt

[IMPORTANT: The user has invoked the "script-output-integrity" skill, indicating they want you to follow its instructions. The full skill content is loaded below.]

---
name: script-output-integrity
description: 消费预跑脚本注入的数据时加载。先判数据真假再分析,识别假成功/降级/空段并标注完整度。
version: 1.0.0
author: Hermes Agent
license: MIT
category: fugui
tags: [data-integrity, silent-failure, consumer-side, cron]
metadata:
  hermes:
    tags: [data-integrity, silent-failure, consumer-side, cron]
    related_skills: [silent-failure-defense, pan-gan-signals]
---

# 消费脚本输出 —— 先判真假,再分析

> 面向**读**注入数据的人(分析 cron),不是**写**脚本的人。
> 建造侧(怎么写不产生假成功)看 `silent-failure-defense`。

## When to Use

```
□ prompt / 上下文里出现「预跑脚本输出」「Script Output」「以下数据由预跑脚本采集」
□ 要用脚本采集的数据做判断、写报告
□ 某段数据看起来"有内容"但可疑(一行字样、空段、括号里的说明)
```

## 铁律:数据段先过完整性,再进入分析

**禁止把「缺失/降级」当作「正常数据」分析。** 缺失要标注,不要脑补。

### 识别清单(按严重度)

| 形态 | 真实含义 | 动作 |
|---|---|---|
| `xxx.sh: timeout` | **该段根本没跑**(不是"超时所以没数据")。典型是 `timeout N cd` 类缺陷 | 该段判为【零数据】,禁用其做主力判断 |
| `failed to run command '...'` | 内建命令被 timeout 包住 → 整段从未执行 | 同上 |
| `Traceback` / `ModuleNotFoundError` | 该段完全不可用 | 同上 |
| `❌<名> 失败(rc=N)` | 该段采集失败(已诚实上报) | 标注缺失,相关结论降级 |
| `(xxx不可用)` / `[超时]` / `数据采集失败` | 降级标记,段落内容为空 | 标注缺失 |
| `[SILENT]` | 无内容(合法语义:无异常/无新增) | 不要当数据,也不要当错误 |
| 空段 / 只有标题 | 采集为空 | 标注缺失 |
| 接口**无报错返回空 DataFrame** | 路由瞬时降级(非"今天无数据") | 重试一次再定性;仍空 → 判缺失 |

> 实测(2026-09-28 12:05):`data_hub.get_realtime_quotes(8 codes)` 一次返回 0 行**且不抛异常**,同一批码 30 秒后重跑全部正常 → 是瞬时静默降级。
> 判据:**空/无异常 ≠ 无数据;先重试,再定性**。消费侧把"空"当"没有"会导致整段结论凭空消失。

### 必须做的三件事

```
1. 报告开头标注完整度:「数据完整度: N/M 段可用」,缺失段逐条列名
2. 缺失段对应的结论 → 标注「基于间接推理 / 置信度降级」,不得伪装成实测
3. 禁止:用缺失段当论据;用"数据暂缺"当结论;脑补缺失段的内容
```

### 反面案例(实测,2026-09-11)

```
## Script Output
【午间扫描 | 2026-09-11 12:00】
midday_scan.sh: timeout        ← 整块市场数据就是这一行假的
【心法扫描 | 2026-09-11 12:00】
════ Phase 0: 板块主力方向 ════
```

该报告被连续数周当成正常午间分析发出,AI 拿着这行假消息当市场数据做判断。
**根因:消费侧没有"先判真假"这一步。**

### 一句话判据

**看到数据段,先问「这段是真的吗」,再问「这段说明什么」。**
顺序反了,后面全废。

The user has provided the following instruction alongside the skill invocation: [IMPORTANT: You are running as a scheduled cron job. DELIVERY: Your final response will be automatically delivered to the user — do NOT use send_message or try to deliver the output yourself. Just produce your report/output as your final response and the system handles the rest. SILENT: If there is genuinely nothing new to report, respond with exactly "[SILENT]" (nothing else) to suppress delivery. [SILENT] is a literal ASCII control token — never translate or rephrase it, whatever language the rest of your answer uses. Never combine [SILENT] with content — either report your findings normally, or say [SILENT] and nothing more. FAILURE: If a delegated child fails and this cron run must be recorded as failed, put [CRON_FAILURE] on the first line by itself, then explain the child failure on following lines. RECURSION: This is a run of an EXISTING scheduled job — execute the task now. NEVER create or update a cron job because of recurring or future-schedule language in the task prompt below; treat phrasing like "each Monday" or "every day at 9" as context for this run, not as a request to schedule another job.]

## Output from job 'f06f0ff60f0c'
The following is the most recent output from a preceding cron job. Use it as context for your analysis.

```
# Cron Job: 进化简报-每日22:55(回测结果→明日校准)

**Job ID:** f06f0ff60f0c
**Run Time:** 2026-10-16 22:55:53
**Mode:** no_agent (script)

---

📈 进化简报 2026-10-16(窗口14天)
  回测率: 100.0%(62/62 条近期判断已回测)
  累计: 落账1801 已决1194 待决0
  总命中: 59.7% [47~71%] n=62 (上期 18.3%) | 平均超额 -0.45pp
  ── 分方向 ──
    看空     n= 24 命中 70.8% [51~85%] 超额-1.1pp ★可信
    看多     n= 21 命中 57.1% [37~76%] 超额+0.9pp
    中性     n= 17 命中 47.1% [26~69%] 超额-1.4pp
  ── 来源可信度(n≥10 才列)──
    ✓ 龙头融合+确认链-21:40                 n= 12 66.7%
  🔴 闭环部件停摆(该跑没跑 → 校准断链):
     · 判断回测闭环-每日22:45
     · 超额制全量重算
     · 经验学习闭环
     · 每日判断练习仪(老板10-05指定)
  用法: 下判断前先看本简报 —— 上面✅的来源可以更信,✗的来源要打折;🔴停摆部件是系统盲区。
```

## Script Output
The following data was collected by a pre-run script. Use it as context for your analysis.

```
=== 信号纵向跟踪 ===
验证/回填: 130条
更新169条
信号总数: 148 | 已完整验证(T+20齐): 23 | 跟踪中(未到T+20): 125

          类型   数量    T+5命中    T+5均值
----------------------------------------
    breakout    9  1/9=11%    -5.2%
      launch   65 11/38=29%   -10.3%
  pre_launch   74 21/62=34%    -3.0%

最近信号:
  2026-10-15 君实生物(688180.SH) T5=- -
  2026-10-15 恒烁股份(688416.SH) T5=- -
  2026-10-15 德明利(001309.SZ) T5=- -
  2026-10-15 北京君正(300223.SZ) T5=- -
  2026-10-15 普冉股份(688766.SH) T5=- -
  2026-10-15 博创科技(300548.SZ) T5=- -
  2026-10-15 长飞光纤(601869.SH) T5=- -
  2026-10-15 中际旭创(300308.SZ) T5=- -
信号纵向跟踪报告
============================================================
总计: 420只 | 命中(T+5>2%): 63只 命中率15% | 平均T+5=-4.8%

来源                     数量    命中率    平均T+5   平均T+20
--------------------------------------------------
  low_launch          242     8%    -7.3%  —(无T+20)
  dragon_preselect    155    23%    -1.6%  —(无T+20)
  pre_launch           19    32%    +1.1%    -5.2%
  launch                3    33%    -0.7%    -4.0%
  breakout              1     0%    -4.0%   -11.7%

板块                 数量    命中率    平均T+5
----------------------------------------
  半导体             128    13%    -8.9%
  汽车配件             29     7%    -4.2%
  未知               23    30%    +0.6%
  生物制药             22     9%    -5.4%
  电气设备             18     6%    -5.7%
  机械基件             15    13%    -6.2%
  火力发电             14    14%    -3.9%
  通信设备             14     0%    -6.9%
  软件服务             14    36%    +0.9%
  电器仪表             14    21%    -2.2%

趋势: 最近7天命中率8% vs 之前16% ↓下降
=== 参数反馈 ===
{
  "pre_launch": {
    "hit_rate": 31.6,
    "count": 19,
    "avg_t5": 1.09
  },
  "launch": {
    "hit_rate": 33.3,
    "count": 3,
    "avg_t5": -0.7
  },
  "breakout": {
    "hit_rate": 0.0,
    "count": 1,
    "avg_t5": -4.04
  },
  "dragon_preselect": {
    "hit_rate": 23.2,
    "count": 155,
    "avg_t5": -1.65
  },
  "low_launch": {
    "hit_rate": 8.3,
    "count": 242,
    "avg_t5": -7.29
  }
}

📊 信号反馈日报(原23:30 并入本段)
记录8个新信号 | 验证/回填133条历史信号
──────────────────────────────
  pre_launch_5日: 21/62 = 34%
  pre_launch_10日: 18/35 = 51%
  pre_launch_20日: 8/19 = 42%
  launch_5日: 11/38 = 29%
  launch_10日: 5/10 = 50%
  launch_20日: 0/3 = 0%
  breakout_5日: 1/9 = 11%
  breakout_10日: 0/9 = 0%
  breakout_20日: 0/1 = 0%
```

信号纵向跟踪:1) signal_feedback.db 渐进验证(缺T+20的行持续回填,未到T+20不提前落标);2) 更新 signal_track.json 所有信号的 T+1/T+3/T+5/T+10/T+20 快照;3) 输出 signal_feedback.db 类型命中率报告(阈值统一2%);4) 有已完成信号时输出各来源/板块命中率与参数反馈(low_launch/dragon_preselect 来源,数据齐了自然出现,无数据不硬凑)。

## 产出规范(四性·应用性;2026-10-12 老板令「所有 cron 要有关联性/逻辑性/应用性」)
1. **判断落账(必做,除非本次无判断)**:凡产出含方向性判断(看多/看空/回避/中性 + 可核对的触发条件),必须落 judgment_ledger:source=信号纵向跟踪-每日23:15、date、direction、horizon、trigger、falsify(可自动核对,不写「注意风险」这种空话)、judgment、reason([数据源][路径][判断] 三要素齐全,写入端拒收空件)。纯数据播报 → 跳过落账,并在报告里写明「本次无判断落账」。
2. **归档 IMA(强制,写完报告后必做)**:最终报告必须归档到 IMA(与 QQ 投递内容完全一致):
```
cat > /tmp/信号纵向跟踪-每日2315_$(date +%Y%m%d).md << 'REPORT_EOF'
[在此粘贴你的完整报告全文,一字不差]
REPORT_EOF
timeout 60 bash ~/.hermes/scripts/upload_stdin_to_ima.sh "信号纵向跟踪-每日2315_$(date +%Y%m%d)_完整版" < /tmp/信号纵向跟踪-每日2315_$(date +%Y%m%d).md >/dev/null 2>&1
```
归档成功后再输出最终报告(系统自动投递 QQ);归档失败在报告末尾标注「⚠️ 归档失败」。
3. **先数据后判断**:引用上方【数据摘要】的具体数字;数据段标了 [不可用] 就首行声明数据不全,禁止照常下结论。

**Response Characters:** 2296
## Response

# 信号纵向跟踪+反馈闭环 2026-10-16(23:15)

**数据完整度: 3/3 段可用**(信号纵向跟踪 / 参数反馈JSON / 信号反馈日报)——无 timeout、无❌、无空段。
**独立复算已通过**:signal_log SQL(156条) + signal_track.json(done=420) 逐项对齐脚本输出(来源表、板块表、T+5/10/20 窗口、近7天8% vs 之前16% 均复算一致)。口径说明:表一"信号总数148"是当日8条新信号入库前的快照(148+8=156=当前库),非缺数。

## 一、信号面(先数据后判断)
- **全池 T+5 命中15%(63/420)、均值 -4.8% —— 全池期望为负。**
- 来源分化(命中率 / T+5均值):
  - **pre_launch 19条 32% / +1.1% —— 唯一正收益**;反馈库 **T+10 51%(18/35)、均值+2.82% = 全系统最强窗口**
  - dragon_preselect 155条 23% / -1.6%(大样本负期望)
  - low_launch 242条 8% / -7.3%(最大样本最差,较10-15再恶化:9.1%→8.3%)
  - launch T+5 29%、均值-10.3%(深负);breakout T+10 0/9、T+20 0/1,逐窗单调恶化
- **趋势:近7天 8%(5/64)vs 之前 16%(58/356),继续下降。**
- 板块:半导体128条 13%/-8.9%(最大桶最拖累);软件服务14条 36%/+0.9% 为正。

## 二、判断落账 3条(#2547/#2548/#2549,三要素齐,已回读验证)
1. **#2547 看空 pre_launch 20日持有窗口(conf=4)**——10-14 #2349 自设证伪条件**已触发**:n=19≥15、命中42%<55%、均值-5.22%<+3% 两条件同时满足(10-14为73%/+7.3% n=11,新增8条全未命中且深负),同源#2230亦触发 → **窗口收回T+10**(T+10 51%/+2.82% 未触发证伪,仍有效)。
2. **#2548 回避 low_launch(conf=4)**——维持10-15#2481,证据加码:n=242、8%、-7.3%,样本+44且趋势向下。
3. **#2549 回避 dragon_preselect(conf=3)**——首次落账(台账此前0条评估):n=155、23%、-1.6%,负期望。

## 三、闭环健康核查(对进化简报🔴4项逐一实测)
1. **判断回测闭环-22:45:🔴 今天真失败 rc=124,根因已定位**:`judgment_backtest_calibrate.sh:9` 外层 `timeout 60 bash wrapper.sh`,而 wrapper 内部预算=300s回测+90s归档+60s验证+30s胜率=**480s,外层60s必杀内层**。22:45:52起跑→22:46:55被杀:回测本体已完成(简报"回测率100% 62/62"即其产物,今日新写19条),死在归档/验证段,`&&` 链断 → **calibration.py 未执行 → data/calibration.json 至今不存在 = 校准断链**。failure_streak=1。**修复=外层timeout 60→≥480(一行);本值前端只读模式未改代码,报请后端修。** 附:简报判它停摆的另一重原因是 evolution_brief 按【脚本文件mtime】取新鲜度(probe文件全库无人写)——已知检测缺陷(10-16 22:23审计已记录同根因)。
2. **超额制全量重算:🔴 真停摆** —— jobs.json 0排期,excess_verdict.py 840h(35天)未动。
3. **经验学习闭环:🔴 真停摆** —— 0排期,仅 daily_intelligence.sh 中 ORPHAN keep-unwired 标记,706h(29天)。
4. **每日判断练习仪(老板10-05指定):🔴 真停摆** —— 0排期,最后落账 2026-09-30(16天)。

**另发现简报漏报2处假绿灯**(同一 mtime-proxy 根因):verdict_audit 脚本mtime 19.2h 显示绿,但真产出 `data/verdict_audit.json`=10-04(12天前);calibration 显示绿但 calibration.json 不存在 → **"命中率→淘汰错判据"回路目前只算不改。**

## 四、明日校准(下判断前先看)
- ✅ **更信**:pre_launch 的 **T+10 窗口**(51%、+2.82%,唯一正期望);**20日窗口已证伪禁用**。
- ✗ **打折/只登记不跟单**:low_launch、dragon_preselect、breakout、launch(T+5均值全负)。
- 🔴 **系统盲区**:校准链(calibration.json 不存在)+ 3个无排期回验部件;judgment_backtest 外层超时未修前,22:45 每天可能再断(回测本体有分批保护,断的是归档与校准)。

本次落账3条,完整版已归档 IMA(rc=0,无错误日志)。