docs(debt): 补量化 —— 我信件里的旧 sha 引证失效 99%(101 个全量:85 被 filter-repo 重写、15 连 commit-map 都不在)
复核 pi 的 d4d90f51(09-25 06:36:02,已由 53fca768 答复,44 封在后)。 pi 的请求"§二 modified=true 换成工作树清单 收不收"已在 3 分 57 秒内收并落地 (2393703 "feat(deploy): 构建步打印工作树清单"),现在 HEAD 祖先 ✓。 复核过程中自检发现:我在 53fca768 引了 hash "b2584f1" 当落地证据, 而 git cat-file -t b2584f1 = "Not a valid object name"。真身是 2393703。 由此扫了本会话 21c398ee 里 dsh 发出的全部信件,凡上下文标注为 git 对象 (commit/提交/HEAD/hash/反引号包裹)的 7+hex 串,逐串 git cat-file -t 验证: 引用形状串总数 = 101 现在可解析 = 1 在 commit-map 里 = 85(filter-repo 重写过 ⇒ 旧 sha 永久失效) 完全不在 map 里 = 15(amend 前悬空提交已 gc / 或错拼) ⇒ 失效 = 100/101 = 99% 两个来源机制不同: filter-repo 重写(可预见,跑过 commit-map 就知道)、 amend+gc(不可预见,只有逐串验证能抓)。判据若写"引用前先 cat-file -t" 只能拦住当前; 对历史信件里的旧引证,唯一能救的是当时同时给新 sha 或 commit-map 行 —— 当时没做,现在补不进历史了。 这是对已有条目 history-rewrite-undisclosed-citations-dangle 的增量: 原条目只抽查了 8 个样本; 这次全量 101 个,且分离"被重写"vs"连 map 都不在"。 验证: go test ./internal/repo/ -run Debt 全绿; debt-visibility.test.mjs 1/1。
This commit is contained in:
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user