docs(boot_log_data): f3rounds 验收两轮日志存档 + id-check 二进制工件跳过
道F task-22 commit 2/2(F1 票收尾)。素材 = 2026-10-25 最终主干 1a624b1(含看门狗 v1.5 按位分账 + F3 推流心跳边界)上的两轮 30min 判据轮;serial-assistant live 日志 按字节偏移切片(不 clear、行边界对齐),gz 前置 ASCII 头行记录偏移窗/负载定义/ v1.1 判据结论。原 megawin 16:18-16:48 摘录因 @test clear 轮转灭失(全盘无副本, lead 核定非事故),归档位按裁改存这两只(v1.1 判据下的达标基线 + 残留真信号)。 轮①(:7003 relisten_stress 单独 30min,2200 connect/close 零拒绝)= PASS: stall=0;MISS 758 条 NET 缺席=0(旧 12 条 NET 参与组合消失达成);uisn 在途峰 103ms / uis 完成峰 183ms / UI 周期最坏 254ms——F2 复合零误报 + F3 阻塞型治愈的 定案样本。sha256 前 16 = 383dd291f37c6a5d(gz 165KB / raw 1.87MB)。 轮②(e02_probe 单独 30min,50 掉线窗)= FAIL(如实申报,零放水):stall=8 = 3 事件(20:06:05/20:16:54/20:20:30;mask=0x1E7 纯 UI×7 + 0x167 UI+I104×1,h= 环全部 >=8 连窗真申报);饿死型证据链:每样本点 uisn=0 + mg=217/262 + 拖点在 feed/port 墙钟而非推流段——「reconcile 突发饿死 uiTask」登记行与 E-27/28 批 3 的直接立项 证据(lead 裁定单列,处置方向 = 优先级矩阵复核 / reconcile 突发分片让路两条)。 全窗无 IWDG 复位。sha256 前 16 = b44eb3371c25e04c(gz 79KB / raw 0.75MB)。 README §3 表首两行沿用 B6/B7 验收轮先例(第三列放判据摘要)+ 表后存档说明行 (判读证据存档 != [STACK] 水位快照;判据口径指针 §7.2/工具名)。 【配套门禁修复(越界申报,因果耦合)】id-check 对二进制工件按文本 errors=replace 扫描:gz 乱码流随机拼出「字母-数字」形态伪编号,把无关存量顶成校验 1 台账外新账 (本 gz 入库实测拦下提交;png 属同类侥幸未撞形态)。iter_files 增加二进制嗅探跳过 (gzip 魔数或头 2KB 含 NUL → binary_skipped),与 noise_literals/盲区同口径; docs/门禁说明/id-check.md §6 第 9 条 + 变更记录同步。教训自含:修复说明里引用噪声 示例本身会被再扫一遍——文档措辞只描述形态不举例(本次真实返工一次)。 scripts/check_ids.py 可写工具面,非登记簿/单写者文件;.pre-commit-config.yaml 未动。 【门禁】本树补跑 @build 0/0 落 .map;--all-files 48 绿 0 红;uvprojx UV4 抖动未入库; 登记簿双销项 + 新语义行 = lead 单写,本提交不碰 docs/任务规划/**。
This commit is contained in:
+18
-2
@@ -195,8 +195,24 @@ class Checker(object):
|
||||
continue
|
||||
if "/__pycache__/" in ("/" + f) or f.endswith(".pyc"):
|
||||
continue
|
||||
if (REPO_ROOT / f).is_file():
|
||||
yield f
|
||||
p = REPO_ROOT / f
|
||||
if not p.is_file():
|
||||
continue
|
||||
# 二进制工件整体跳过(2026-10-25 道F task-22:boot_log_data 的 gz 串口存档被
|
||||
# read_text(errors=replace) 解出乱码流,随机字节拼出「字母-数字」形态伪编号(形态故不举
|
||||
# 例,举例即入扫,见 docs/门禁说明/id-check.md §6 第 9 条),把无关存量顶成校验 1 新账。
|
||||
# gzip 魔数或头 2KB 含 NUL 即判二进制——
|
||||
# 字节流没有编号语义,与 registry noise_literals/盲区豁免同一口径,不该进文本面。
|
||||
# ⚠ 不是豁免策略:png 等既有二进制此前是"侥幸没撞上形态",现在才是按性质处理。
|
||||
try:
|
||||
head = p.open("rb").read(2048)
|
||||
except OSError as exc:
|
||||
print("[WARN] 探测失败 %s:%s" % (f, exc), file=sys.stderr)
|
||||
continue
|
||||
if head[:2] == b"\x1f\x8b" or b"\x00" in head:
|
||||
self.stats["binary_skipped"] += 1
|
||||
continue
|
||||
yield f
|
||||
|
||||
def read(self, rel):
|
||||
if rel not in self.file_cache:
|
||||
|
||||
Reference in New Issue
Block a user