Repository navigation
Commit d0ada78
committed
docs(standards): 落账批 7 的豁免表历史与门禁盲区
依据 = §C16.2 的强制登记第 3 条(「T21 的规格/技术债回写:把『豁免表历史上第 N 次连带落库』+ 本次机理(`--only` 取工作树)写进该表的历史节(照批 5 体例)」)+ §C51.7①(末尾换行门禁盲区)+ §C11.8 ③(散文探针 = 批 8 候选闸)+ §C41.4 U2(探针进 paths-filter 缺口名单)+ §C54.5①(贴边件清单与路径更正)。
形态 = **纯追加**(在 `## 已拆分 / 登记移除记录` 节末追加一段 `> 🔴 批 7 收口就地加注` 块;上面全部原文一字未改)⇒ 本提交 **+12 行 / −0 行**。
【逐字对照:改了哪几行 / 原文是什么】
- **改前(保留,一字未动)**:文件末行 = 「> **未做(如实登记)**:全部调用点迁移(20 弹层 / 44 空态 / 85 加载 / 196 错误行 / 4 toast / 2 confirm / 上千处内联 style)属**批 4**;动效 token(`--ed-dur-*` / `--ed-ease`)真源属**批 6**(本批只在 `primitives/motion.css` 落同名临时块,届时**整块删除**)。」
- **改后**:该行之后追加 `---` + 一段六条 bullet 的批 7 收口加注(连带落库的事实/机理/裁定 + 提交机制两条改进 + 门禁盲区 + 探针登记 + 贴边件清单互指与路径更正)。
- 🔴 **未触碰**:301–600 档表任何一行 · `app_commands.rs` 那行(`:44`,散文「311 条」/ 行数 478 均由 T19 落库,**T21 只读复核**)· 批 0-D / 批 6 的历史块 · `--write` **未跑**(避免把并行单元的在飞行连带落库)。
【本提交落账的六条】
1. **连带落库第 N 次**(§C16.2):`fa45caf1` 带走 T4 的两行表格改动(3 个 hunk 的归属逐条给出);机理 = `git commit --only -- <paths>` **只按路径取工作树内容、不看暂存区**;后果 = `fa45caf1` / `f7ac5d0f` 两棵树 **(e) `exit 1`**(声明 476/447、代码 479/443),`39f74e4f` 起自洽、**最终树自洽**;裁定 = **接受 + 强制登记,不重写历史**。
2. **提交机制的两条改进**:共享文件用 **blob 构造 + `update-index --cacheinfo`**;真实索引已有他人暂存内容时用 **私有索引 + `commit-tree` + `update-ref`(带旧值守卫)**;自证看 `git diff HEAD --`;**提交前看 `git status --porcelain` 首列**;**私有索引提交后必须重新对齐真实索引**(§C41.2 / §C54.2)。
3. **门禁盲区**(§C51.7①):`app/src-tauri/src/commands_video.rs` 末尾**无换行**(T21 实测 `endsWith("\n") === false`,`countLines()` = **356**)而 **`countLines()` 不变** ⇒ 本表与 `line-limits --full` **都看不见**;结论 = 纯搬迁/拆件的等价性**不许只靠行数**(批 7 已升级为 `Buffer.equals` + digest/sha256);登记为技术债。
4. **散文探针 = 批 8 候选闸**(§C11.8 ③ / §C41.4 U2):`scripts/check-exemption-prose.mjs`(112 行)**入库但不入八闸/CI/husky** ⇒ 手工跑;**同进 paths-filter 缺口名单**;并记录它**按路径定位、不按死锚行号**(本表 `:45` → `:44`)。
5. **贴边件清单互指**:10 条(余量 ≤5)落在 `v0.22` 批 7 节「诚实代价」,**任何后续编辑必须先拆件**(母本体例 = 批 4 的「9 个贴边文件」)。
6. 🔴 **一处台账路径更正**:`NotesReadingColumn.tsx` 实为 **`app/src/components/notes/`**;`rulings.md` §C49.5① 与派发语写的 `app/src/views/note/NotesReadingColumn.tsx` **不存在**(T21 实测)⇒ 以 `components/notes/` 为准。
【门禁读数(串行,工作树)】
- `node scripts/line-limits.mjs --full` ⇒ **exit 0** ·「>600 硬限 **0**(棘轮内)· 301–600 档 **121** · 登记条目 **121**」(**本表零改动其表体** ⇒ 121/121 逐字不变)
- `node scripts/check-exemption-prose.mjs` ⇒ **exit 0** ·「✅ 散文「**311 条**」== 门禁「定义 311」(`docs/standards/line-limit-exemptions.md:44`)」+「✅ `App.tsx` 登记 549 == `countLines` 549(`:23`)」
- `node scripts/docs-check.mjs` ⇒ **exit 0** · 扫描 **281** / 检查 **181**,五项全 ✅
- `node scripts/check-command-registry.mjs` ⇒ **exit 0** ·「定义 **311** / 注册 **311** / 重复 **0**」
- `git diff --numstat` ⇒ 本文件 **12 / 0**;`git diff` 的 `^-` 行数 = **0**
【诚实边界】
- 本条**不修**门禁盲区(不改 `countLines()`)—— **只登记**;修它属批 8 治理(会动 `scripts/**`,撞本批的写集边界)。
- 「3 个 hunk 的归属」「两棵树 (e) exit 1」是 **T1 的自报 + §C16.2 的裁定**(后续由 R-2 实测复现)⇒ 本提交是**落账**,不是 T21 的独立复现。
- 🔴 **本节是计划 Task 21 卡之外的追加提交**(卡只给 3 条提交信息,其第 3 条已由 `816c5105` 兑现)—— 本条的依据是 §C16.2 的**强制登记第 3 条**(明文要求「写进该表的历史节」),**拆成独立提交**是为满足 AGENTS.md §5「一个提交只做一件事」。**已在 `task-21-report.md` 逐字登记这一偏离。**1 parent 816c510 commit d0ada78
1 file changed
Lines changed: 12 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
232 | 232 | | |
233 | 233 | | |
234 | 234 | | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
0 commit comments