Commit Graph

2 Commits

Author SHA1 Message Date
wandering1 4c05b58f3a feat(tools): v5 判读工具 v1.1——MISS 降级诊断行,违规只看 stall 与嫌疑段
道F task-22(F1,大窗判读三票之首)commit 1/2。违规口径改造:
violation := task stall>0 或 真停滞嫌疑静默段>0;MISS start 自 v1.1 起整体降级
为诊断行(看门狗 v1.5 按位分账后它只是复合缺席边沿,不代表停喂,设计说明
docs/子系统设计/看门狗设计说明.md §6.1)。v1.0 把运行期 MISS 计入违规是我在
task-19 把判读口径收紧过头——2026-10-25 台架 70min 窗 1262 条运行期 MISS 经
逐窗归因实为重建风暴复合边沿(456 条贴探针窗)+ FTP 传输窗抖动(632 条),
非心跳丢失,予以纠正(当轮 FAIL 判定的误伤面即此)。

【新增输出】MISS 归因诊断(人读 + --json miss_diag):开机良性 / 探针窗内 /
窗外运行期 三分类 + 窗外每分钟速率 top5;counters 同步扩字段,旧字段
(miss_runtime 等)保留不动,既有 JSON 消费方零破坏。stall 行文本不变,
语义注释更新 = v1.5 起每行都是「同一任务 800ms 单串」真猎物。

【自检】--selftest 15→18 断言:新增 v1.1 回归钉 = 零 stall + 运行期 MISS 样例
必须 PASS,且归因计数(探针窗内 1 / 窗外 1)与分钟分桶正确;PASS 文案与新
口径同步(改口径先改文档再改脚本的漂移闸语义保持)。

【文档】实机测试实施指南 §7.2 判读工具块重写(v1.1 口径 + 降级依据 + stall
语义指针);N-2 销项条件同段由「stall 与 MISS 双零」改为「stall 与真停滞嫌疑
段双零」。开机豁免(§9 第 8 条)保留、仅作用于 MISS 诊断分类。

【顺手修(越界申报)】scripts/check_size_gate.py 无参/非法参直调在 print_help
崩(argparse 对 help 做 %-插值,「92% 红线」裸 % + 中文 = ValueError;lead 派
单附注确认):help 改 92%%,加注释防复发;--ci 功能语义零改动。非本票写域,
系 lead 明示「要不要顺手修由你定」。

【票内待办(commit 2/2)】boot_log_data 的 gz 摘录:原定素材(16:18-16:48
megawin 段)**已不可得**——serial-assistant state 日志被后续 @test 窗 clear
轮转,全盘(含 Temp/ci-artifacts)无副本,已报 lead。替代落点 = 本轮 F2/F3
验收两轮 30min 判据轮(最终主干 1a624b1,效果取证素材)各出一只 gz 入库 +
README 索引,语义上是「v1.1 判据下的达标基线」比旧误判窗更有归档价值。

【门禁】--all-files 48 全绿(本树补跑一次 @build 落地 .map 后 mem-numbers/
budget 自然绿,数字 224860/24640/1332/135100 与凭证同码一致;固件源码零
改动);uvprojx UV4 抖动未入库。
2026-10-25 19:10:29 +08:00
wandering1 efc3ed1c61 feat(台架): V5 复跑判读脚本 v5_log_gap_report——静默段自动判类 + stall/MISS 双零计数
道F 批 2 支援 task-19(纯主机侧工具,零固件接触;合窗台架由 lead 执行,
本工具承担判读面)。

① scripts/v5_log_gap_report.py:输入 serial-assistant 落盘日志,自动列
   >=10s 静默段并逐段判类 NO-SOURCE / PROBE-WINDOW / BOOT-WINDOW /
   TRUE-STALL-SUSPECT——贴边证据 = 控制台两本账(CONSOLE dropped/tx fault)
   + syslog 三类 drop 的留痕行;口径唯一来源 = docs/子系统设计/
   控制台单写者日志设计说明.md 文末附录(2026-10-25 合并评估)。
   task stall 计数 + MISS start 开机良性豁免内建(实机指南 §9 第 8 条)。
   双钟源:采集相对钟 [+NNNms] 优先,缺行首钟退化设备绝对钟;RTC 前跳按
   会话边界处理不产假静默、回拨钳制;会话切分 = 相对钟回退或 reset cause
   锚点。--json 机读 / --report-only 只出报告 / --selftest 免台架自检。
   退出码 0=双零达标 / 1=违规 / 2=日志不可用 / 3=用法(沿用 scripts 惯例)。
② 用法十行落 docs/测试说明/实机测试实施指南.md §7.2(判据互链)。

【验证】py_compile 绿;--selftest 15/15 断言(双钟源、四类判定、良性豁免、
时钟边界、FAIL 判分路径全覆盖,断言即口径防漂移);真实样例三份:
B6 PROTECT_MISS = 2 条良性 MISS + 0 静默 + PASS;B9 prod = PASS;
probe_stale_gate = 124 时点/2 会话/PASS;合成负样例(stall 行 + 34s/28s
静默段)RC=1 且 28s 段判 PROBE-WINDOW——与 V5 时代 ~28s 静默签名吻合。

【门禁自查】doc-links 首跑拦下一处自引用错号(开机良性豁免条实在 §9 第 8 条
而非 §4.3——§4.3 属看门狗设计说明),指南与脚本头两处一并改齐后绿。
【越界】无——写域 = 看板声明两件(脚本 + 指南 §7.2 互链行)。
【门禁】脚本类无 -unit-test 钩子义务(判定面由 --selftest 承担)。
2026-10-25 11:38:23 +08:00