Skip to content

Commit 6038bb4

Browse files
committed
docs(spec): correct batch four coverage counts
1 parent 7d54125 commit 6038bb4

3 files changed

Lines changed: 82 additions & 0 deletions

File tree

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ ADR-032 交付了 token 层(色阶 / 字阶 / z-index 标尺 / 图标),但
160160
> - **适用对象 = 对话框类(`role="dialog"` 那一类),不是「一切手写浮层」。** 上句「批 4 的 28 个手写弹层」是**本 ADR 落笔时(批 0-D / 批 4 开工前)的合计口径**;批 4 的实际执行按控制方 **B1/B2** 分成了「迁」与「不迁」两支:
161161
> - **迁(验收口径 = 20)**:`role="dialog"` 20/20 —— 20 个文件全部只经原语(barrel 含 `Modal` ∧ 无深导入 ∧ 无自建遮罩 ∧ 无 `keydown` ∧ 无裸 z-index),`role="dialog"` 的**源码命中**只出现在 `ui/primitives/Modal.tsx` 与已登记例外;构成 `A14 + B4 + E2` 钉在 `dialogMigration.e.test.ts` 的 `DIALOG_20`。
162162
> - **不迁(14)**:**11 个锚定菜单**(`BrowserChrome` · `GroupRowContextMenu` · `GroupSidebarRow` · `NoteHeaderActions` · `NoteListBatchMenu` · `NoteMoveToGroupMenu` · `NoteRowContextMenu` · `RouteInfoPopover` · `SessionRowContextMenu` · `chat/ChatLaunchMenu` · `note-selection/SelectionActionMenu`)**只落 `popover(200)`**;**3 个采集/预览覆盖层**(`CaptureOverlayPanel` · `ImagePreviewOverlay` · `ScreenSelectOverlay`)**保留裸值并逐条带理由**。这 14 个**仍须登记在案**(不许从账本里消失),且**不得 import 原语层**(两条硬守卫:`dialogMigration.e.test.ts` ② + `buttonMigration.test.ts` ④)。
163+
> - **🔻 批 4 收口后更正(收口评审 I-7,2026-09-12;**上句原文一字未改**)**:上句列出的「**11 个锚定菜单**」里有 **3 个不是 `NON_MIGRATED_14` 的成员** —— `BrowserChrome` · `GroupSidebarRow` · `NoteHeaderActions`(三者**同时不在** `ADR033_28` 与 `CROSS_LINE_34`;`BrowserChrome` 在 `.e` 里只作 `TABLE4_ALIAS`,且有一条机器断言 `CROSS_LINE_34.includes(TABLE4_ALIAS) === false` 逐字写着「别名不是成员」);同时**缺席 3 个真成员** —— `NoteEditView` · `NoteLinkToSystem` · `RichEditorView`(三者均**非 `*Overlay`**,属那 11 的锚定/透明层)。**机器真源**(`dialogMigration.e.test.ts:115-122` 的 `NON_MIGRATED_14` 去掉 3 个 `*Overlay` 后逐字):`GroupRowContextMenu` · `NoteEditView` · `NoteLinkToSystem` · `NoteListBatchMenu` · `NoteMoveToGroupMenu` · `NoteRowContextMenu` · `RichEditorView` · `RouteInfoPopover` · `SessionRowContextMenu` · `chat/ChatLaunchMenu` · `note-selection/SelectionActionMenu`。**复现**:`node .superpowers/sdd/2026-09-12-frontend-redesign-batch4-primitives/tmp/docfix/d4-membership.mjs`。规格 §11-2 例外表已同步同一更正(含逐行成员资格表)。**「3 个采集/预览覆盖层」与「14 条总数 = 34 − 20」不受影响**。
163164
> - **三口径并列(互不替代)**:**20**(本 ADR 上文「20/20」的验收口径 = 对话框类)· **28**(本 ADR 这句的**同行口径**)· **34**(**跨行容忍口径**:把 `position:fixed` 与 `inset:0` 分写两行的形态也算进来)。**等式**:`34 − 20 = 14 = 11 锚定菜单 + 3 覆盖层`;`28 ⊆ 34 ∧ |28| = 28 ∧ 28 == 34 − 6`(机器判据在 `dialogMigration.e.test.ts`)。
164165
> - **本条的 ESC 残留纪律仍然有效且已结清登记**:上句「5 处属批 4 迁移时必须一并处理的残留」——批 4 的处置是**逐条登记、不修**(B1:改它们 = 改菜单退出语义,属批 5/8):`note-selection/SelectionActionMenu.tsx:78` 的 `window` **捕获相**监听 + 4 处元素级 `onKeyDown`(`GroupSidebarRow` / `LinkEntityPicker` / `SessionDetailHeader` / `SessionListRow`)。⇒ 本 ADR 的「必须一并处理」**应读作「必须一并登记并给出不修的理由」**,不是「批 4 必须改掉它们」。
165166
> - **§7 的 z-index 面**:批 4 已完成整段迁移 —— 裸数字 **58 处 / 43 文件 / 17 值 → 3 处 / 3 文件 / 3 值**(全部是上述 B2 例外);六档标尺 6 个值(`raised 10` / `panel 100` / `popover 200` / `modal 300` / `modalNested 400` / `toast 500`);**有意值收敛**(`50/51/60/999/1000/1100/1150 → modal(300)` · `30–61 → popover(200)` · `900 → panel(100)`)是**可见观感变化**,已在规格 §11-2 与 `docs/versions/v0.22.md` 批 4 节 durable 登记。

0 commit comments

Comments
 (0)