Files
STM32F4-Base/scripts/size_attestation.json
T
wandering1 b772117ed3 fix(wave): 落盘道改覆盖写,修回放页全板「该段不可读」
段名是 100 个槽位的轮转复用,而写者用 FA_OPEN_APPEND 打开:槽位复用时撞上
同名旧文件,新段接在旧段尾巴上,文件长成 5250 的整数倍。回放页读侧按单段
判 size == total,于是逐件落进 UI_WAVE_REJ_LEN(reject=2),全板没有一段
放得出来。

板级取证(100 件全部归档到 ci-artifacts/wave_append_backup_20261110/):
/wave 共 1868 段、9,807,000 B,尺寸全为 5250 的整数倍,恰好等于 5250 的
文件数为 0;逐段过 wave_read 校验全部合法、零损坏——数据一直是好的,只是
容器尺寸与写者语义相抵。

修法(用户裁定取写者截断,否掉读侧多段感知):打开模式改为
FA_WRITE|FA_CREATE_ALWAYS。本移植的覆盖分支会 remove_chain 并清零目录项
FileSize,是真截断;FA_CREATE_ALWAYS 单独用不含 FA_WRITE,两个位必须同给。
日志七本与 soe.log 仍用追加(靠历史累积,语义正确),读侧口径不动。

板端验收:新段尺寸恰好 5250 B;对已有 28 段的 WAVE00.BIN(147,000 B)录
一次当场变 5250 B,全目录总字节减 141,750 = 147,000 - 5,250。回放页从
bad 态(与黄金参考 shot_wave_play_bad 逐比特相同)转为正常态,页眉 24/24
行、页脚 20/20 行与 shot_wave_play 逐字节一致。

文档:故障录波设计说明 §5.2 陷阱表改打开模式完整口径,§10 新增收口记录;
带日期戳的 11-07 取证归档正文按当时口径冻结,只加一条口径已被推翻的指向。
2026-11-11 01:06:04 +08:00

49 lines
1.2 KiB
JSON

{
"built_at": "2026-11-10T22:31:07+08:00",
"fingerprint": "5080b00d80af5604476422c1afa383cb09e782e6bb76aa2abf9e96a77d5c60fd",
"fingerprint_files": 1479,
"fingerprint_source": "git-index",
"gated_regions": [
"RW_IRAM1",
"RW_CCM"
],
"git_head": "7b05d7bfd40fafa514e166d3fda5270f2b040c2b",
"map": "MDK-ARM/STM32F407-Demo/STM32F407-Demo.map",
"map_mtime": 1794321057,
"pct": {
"ER_IROM1": 27.31,
"RW_CCM": 87.89,
"RW_IRAM1": 73.86,
"UNINIT_CCM": 18.75
},
"regions": {
"ER_IROM1": {
"max": 1048576,
"size": 286364
},
"RW_CCM": {
"max": 65280,
"size": 57376
},
"RW_IRAM1": {
"max": 131072,
"size": 96808
},
"UNINIT_CCM": {
"max": 256,
"size": 48
}
},
"schema": 2,
"scope_note": "\u540c\u7801\u51ed\u8bc1\uff1a\u6307\u7eb9\u8986\u76d6\u56fa\u4ef6\u4f53\u79ef\u76f8\u5173\u6e90\u7801\uff0c\u53e3\u5f84\u89c1\u672c\u811a\u672c docstring",
"sizes": {
"code": 255160,
"ro_data": 31204,
"rw_data": 2080,
"zi_data": 152152
},
"threshold_pct": 92.0,
"worktree_dirt_at_stamp": 0,
"written_by": "scripts/check_size_gate.py --stamp"
}