Skip to content

Commit c7ef9ca

Browse files
committed
docs(standards): 校正台账行数引用
1 parent 323acb5 commit c7ef9ca

2 files changed

Lines changed: 7 additions & 3 deletions

File tree

‎docs/adr/ADR-033-l1-primitives-and-view-layer-contract.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ ADR-032 交付了 token 层(色阶 / 字阶 / z-index 标尺 / 图标),但
5858
> - **首屏账(诚实代价,见 §4 的批 5 加注)**:`ViewSwitcher` 进 barrel 后**首屏 JS Δ = 0 B**、**CSS +604 B** —— 计划 C14① 的「首屏 Δ 不是 0」**被实测否证**(机理:rollup 把它 tree-shake 进懒 chunk)。
5959
> - **出处**:批 5 计划 §收口回写 §四(C14 行)· `tmp/t18/measurements.md` §9 C1。
6060
61+
> **🔻 批 6 收口就地加注 · 上表行数的「三副本同步」(R33.3 / R63.2;2026-09-13,**上表与上面两段加注的原文一字未改**)**:上表是**同一张 42 文件表的三份副本之一**(另两份 = 规格 §5 的表 + [行数豁免登记](../standards/line-limit-exemptions.md) 的人工记录块),三份在批 6 收口时**均已漂移**。⇒ 本 ADR **不再抄第三份数值清单**(那等于再造一份会漂的副本):**权威读数 = 规格 §5 的批 6 加注**(逐值 HEAD 实测 + 19 项漂移逐条)与**豁免表人工块**(T35 二次刷新)。本表只需记住 6 个关键差:`motion.css` **74 → 335** · `Text.css` **46 → 66** · `index.ts` **45 → 48** · `style-seams.test.ts` **287 → 299** · `style-contract.test.ts` **233 → 296** · `motion-coverage.test.ts` **147 → 186**;**42 个文件全部 ≤300** 对**源文件**成立(最大 **299**),唯一超 300 的是 **`motion.css` 335**(`.css` 不在行数门禁的 `SOURCE_EXT` 视野内)。⚠️ **口径缺口**:三处副本的 `<!-- line-count-src … -->` 锚点**全仓 0 个读者**(「门禁按 `files=` 重测」今日无实现)⇒ 同步只能靠人工。
62+
6163
### 2. 依赖方向:领域 → 视图 → 容器 → 原语,**禁止反向**
6264

6365
这是规格 §7.1 四部件依赖方向在原语层上的落法,也是本 ADR 的**核心约束**:

‎docs/standards/line-limit-exemptions.md‎

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -210,8 +210,10 @@
210210
> ⚠️ **来源标记:本节是人工维护的记录块,非机器生成** —— 数值写成 Markdown **引用行**(`> - ` 起首,形如 `> - 文件:**N**`),而 `parseTable()` 只认 4 列 `| path | N | … |` 表行(引用行一律忽略);且本块位于 `## 已拆分` 标题**之后**,`parseHistory()` 对该节**逐字保留** ⇒ `--write` 永远既不重算也不删除它,数值过期后**没有任何门禁会报警**(2026-09-11 已发现 Loading / StatusLine 共 6 个值过期,实测更正)。
211211
> **刷新规则:本节与 `docs/adr/ADR-033-l1-primitives-and-view-layer-contract.md`、`docs/superpowers/specs/2026-09-11-frontend-redesign-design.md` 三处副本不一致时,一律在 HEAD 按 `countLines()` 口径(含空行)重新实测,并以实测值同步全部副本。机器锚点:三处副本的每处数值行后紧跟一行 HTML 注释 `<!-- line-count-src: files=… caliber=… authority=… -->`,供门禁按 `files=` 逐个在 HEAD 重测、与相邻数值行对拍 —— 锚点内**刻意不写数值**,否则等于又造一份手抄副本。**
212212
>
213-
> **新建目录 `app/src/ui/primitives/` 下 42 个文件**(实测行数口径 = `scripts/line-limits.mjs` 的 `countLines()`,即含空行的全部行数;**最大 299**):
214-
> - `Text`:`Text.tsx` **119** · `Text.css` **58** · `Text.test.tsx` **171**
213+
> 🔴 **批 6 收口就地加注 · 刷新规则的两条补强(R42.3 / R63.2 / R33.3;2026-09-13,**上面原文一字未改**)**:① **登记口径 = 提交树 `countLines()` 实测** —— 本节数值**只许**取自「该值落库的那个提交树」上的实测(**不是**工作树口径、**不是**旁边某次跑工具的读数)。批 6 已发生 **3 次口径混用**(工具把 `import type` 与注释字面量算成命中 · T16 在**依赖文件仍在飞**时按工作树口径登记 ⇒ R33.2 已登记为**控制方的派发错误**)。② 🔴 **机器锚点 `<!-- line-count-src … -->` 全仓 0 个读者**:规格 `:835` 与本节所称「门禁按 `files=` 重测」**今日无实现** ⇒ 三副本同步**只能靠人工**(批 6 的二次刷新即一次人工同步;锚点保留待将来实现 —— 它刻意不写数值,故自身不会腐化)。③ **二次刷新的范围(R63.2)**:批 6 收口只余两条漂移 ⇒ **`motion.css` 271 → 335**(Δ64)与 **`Text.css` 58 → 66**(Δ8,T23/T28 的低置信墨度落点);**其余 40 值逐条 ✅**(T16 已刷的 19 条 + 23 条不变)。
214+
>
215+
> **新建目录 `app/src/ui/primitives/` 下 42 个文件**(实测行数口径 = `scripts/line-limits.mjs` 的 `countLines()`,即含空行的全部行数;**最大 335**(= `motion.css`,**CSS 不在行数门禁的 `SOURCE_EXT` 视野内**;**源文件最大 299**)):
216+
> - `Text`:`Text.tsx` **119** · `Text.css` **66** · `Text.test.tsx` **171**
215217
> - `Surface`:`Surface.tsx` **98** · `Surface.css` **85** · `Surface.test.tsx` **175**
216218
> - `Button`:`Button.tsx` **132** · `Button.css` **100** · `Button.test.tsx` **286**
217219
> - `Modal`:`Modal.tsx` **260** · `Modal.css` **81** · `Modal.test.tsx` **296** · `Modal.exit.test.tsx` **91** · `useFocusTrap.ts` **122** · `useFocusTrap.test.tsx` **236** · `ime.ts` **18** · `ime.test.ts` **32**
@@ -221,7 +223,7 @@
221223
> - `Loading`/`Skeleton`/`Probe`:`Loading.tsx` **105** · `Loading.css` **79** · `Loading.test.tsx` **238**
222224
> - `StatusLine`:`StatusLine.tsx` **94** · `StatusLine.css` **42** · `StatusLine.test.tsx` **267**
223225
> - `usePresence`:`usePresence.ts` **200** · `usePresence.test.tsx` **282** · `usePresence.node.test.ts` **71**
224-
> - 接缝 / 导出面 / 守卫:`motion.css` **271** · `index.ts` **48** · `style-seams.test.ts` **299** · `style-contract.test.ts` **296** · `motion-coverage.test.ts` **186**
226+
> - 接缝 / 导出面 / 守卫:`motion.css` **335** · `index.ts` **48** · `style-seams.test.ts` **299** · `style-contract.test.ts` **296** · `motion-coverage.test.ts` **186**(🔻 **批 6 收口二次刷新(R63.2 / R33.2;2026-09-13,**本行原文的旧值保留于本节历史**)**:`motion.css` **271 → 335**(Δ64;T5/T6/T12/T13/T19/T29 六次追加)· `Text.css` **58 → 66**(Δ8;T23/T28 的低置信墨度落点)= **本批仅此两条漂移**;其余 40 值逐条 ✅。出处 = `.superpowers/sdd/2026-09-12-frontend-redesign-batch6-motion/task-34-report.md` §11/§13-②,口径 = **提交树 `countLines()` 实测**。)
225227
> <!-- line-count-src: files=app/src/ui/primitives/motion.css,app/src/ui/primitives/index.ts,app/src/ui/primitives/style-seams.test.ts,app/src/ui/primitives/style-contract.test.ts,app/src/ui/primitives/motion-coverage.test.ts caliber=countLines@scripts/line-limits.mjs authority=HEAD-remeasurement -->
226228
>
227229
> **★ 一次真实的口径事件(记在此以免被当成"新文件登记豁免"的先例)**:收尾实施者最初把 Task 14 的全部守卫**追加**进 `style-seams.test.ts` ⇒ 该文件涨到 **340 行 > 300**,`--full` **exit 1**(`(c) 超过 300 行但未登记`),**会拦下全仓所有人的提交**。处置**照批 0-D 裁决**:**不用 `--write` 登记豁免**(登记表/棘轮是给**存量**文件的历史债机制),而是**按语义拆** —— 「原语 CSS **文本**反例」(零颜色字面量 · `--ed-stamp` 不作底色)留在 `style-seams.test.ts`;「**跨文件**契约」(CSS 接线 · 联合契约锚 · 退场时长三方对拍)落 `style-contract.test.ts`;「**reduced-motion 覆盖**」(基类名单 · **动画落点含伪元素**)另立 `motion-coverage.test.ts`(T11 评审 Critical 修好后追加的那条守卫再次逼近 300 行红线,遂二次按语义拆)。三个文件 **299 / 296 / 186** 行、职责写进各自 `@ai-context` 文件头,T3/T4/T12 已追加的 describe **逐条保留**(追加式演进)。

0 commit comments

Comments
 (0)