返回 Bug 清单
BUG-0988project-27高已修复backend-logic
修复 148 个 U+FE0F 受损文件 + 守卫加 --all/归一化判定 + 受损清单
发现:2026-10-09验证:2026-10-09置信度:70%
症状
commit 15eaf20876f2 (2026-10-03) fix(guard+data): 修复 148 个 U+FE0F 受损文件 + 守卫加 --all/归一化判定 + 受损清单
根因
commit message 描述: fix(guard+data): 修复 148 个 U+FE0F 受损文件 + 守卫加 --all/归一化判定 + 受损清单
修复方案
修复 209 行,删除 2 行。改动文件: .governance/references/UFE0F-LOSS-INVENTORY-20261002.csv, scripts/guard-unicode-combining.py
错误签名
fix(guard+data): 修复 148 个 U+FE0F 受损文件 + 守卫加 --all/归一化判定 + 受损清单 ## 本轮做了什么
承上一提交(守卫落地)与审计台账,本提交**执行了修复**。
### 1. 守卫增强(`scripts/guard-unicode-combining.py`)
| 新增 | 作用 |
|:---|:---|
| `--all` | 全量盘点:所有相对 HEAD 有内容变的已跟踪文件(出修复清单用) |
| `--csv <path>` | 写出修复清单(path/head/work/lost/only_combining) |
| **归一化判定 `only_combining`** | ★ 区分「纯剥离」与「混有真实改动」 |
**归一化判定为什么必要**:仅比较 U+FE0F 计数会**假阳** ——
若某文件**有意删除整段文字**,其 U+FE0F 计数也会下降,但**不该恢复**。
判据:把受守护字符 + 行尾 + BOM 全部消掉后比较正文:
- 归一后**相同** ⇒ 本次改动**只是**剥离组合字符 ⇒ **可安全技术信息
来源项目
project-27
涉及文件
.governance/references/UFE0F-LOSS-INVENTORY-20261002.csv, scripts/guard-unicode-combining.py
标签
git-sweep, auto-ingested, project-27, mcp-reported, source-agent