|
625 | 625 | | + | (附)**`[[ts:ms]]` 端到端** | **只通一半** | 笔记侧已接 ms;**会话页那一跳未交付** ⇒ 批 7 首要候选 | 🟡 | |
626 | 626 | | + | (附)E4 的后端契约面 | `session_audio_path` 已注册 | registry **313 / 313 / 0** | ✅ | |
627 | 627 |
|
| 628 | +> 🔻 **T36 收口回写(2026-09-13,上表原文一字未改)** —— **最终兑现度表(10 行)的落点 = `.superpowers/sdd/2026-09-12-frontend-redesign-batch6-motion/task-36-report.md`**(gitignored;本节不复制,避免第二份会漂的手抄副本)。 |
| 629 | +> - 🔴 **验收面 = 10 个**(R64 #4 的更正:R0.1 正文写「9 个」而列举是 6 + 1 + 3 ⇒ 按 **10** 读;**别处若仍写「9 项」按此加注读**)。 |
| 630 | +> - 🔴 **上表是 T34 在冻结提交 `975b3285` 上的中间读数**;波 D 的 **T35b / T35c / T35d** 三个 comment-only 微单元改了 `app/**` 的注释行 ⇒ **四个行号在终态(`7d6d677b`)漂移 1–2 行**,按终态读:`#1 对齐` `views/session/SessionTriTrackView.tsx:251 → :253` · `#2 显影编排` `components/session-detail/SessionRawView.tsx:96 → :97` · `承载面③ 时间轨/播放头` `SessionTriTrackView.tsx:275 → :277` · `环境层第 3 件` `SessionRawView.tsx:137 → :138`。**其余行号由 T36 逐条复测不变**(`LiveBar.tsx:90` · `LiveBar.tsx:135` · `PhaseChrome.tsx:102` · `App.tsx:394` · `phaseSource.ts:84` · `TimeRail.tsx:140` · `TimeRail.tsx:220` · `ReviewPage.tsx:178` · `ReviewSessionPanel.tsx:98` / `:102` · `ChatSidebar.tsx:80` · `GoalsPage.tsx:42`)。 |
| 631 | +> - 🔴 **两处口径须并读(T36 点名的分叉)**:规格 §10 的批 6 收口行把 6 个签名动效写成「**6/6 各有 ≥1 生产调用点**、唯一缺口 = #2 的反向/重播入口 = 0」—— 该句**只**点 #2;**#5 时间码回跳同样是部分交付**(**落位 + ≤8px 掠过**已交付,**长距离连续滑动补间未交付** ⇒ 见上表第 5 行与 `task-31-report.md:137`)。⇒ **两处并读**:#2 的缺口是「入口 = 0」,#5 的缺口是「补间形态只交付一半」。**均以 T36 的最终表为准**(T35 §7-6 已声明「若分叉以 T36 为准」)。 |
| 632 | +> - 🔴 **终态补记两条**:① **`--ed-dur-page` 今天 0 生产消费者**(T35b 实测:全仓只有 `ui/tokens.css:89` 的定义与 `ui/tokens.gen.ts:114` 的生成物条目,**零消费方**;控制方引述错误第 7 例)⇒ **去向批 7/8 或删除**(不发明消费者)。② **`docs/tech-debt/` 造成的 `docs-check` 差值已由 T36 直接测实**:`docs/**` 磁盘 **280** 个 `.md` / 入库 **279** ⇒ 唯一未入库件 = `docs/tech-debt/review-2026-09-11.md`(**191,980 B / 1555 行**,未入库且未被 ignore)—— 这**闭合**了 T35c/T35d 记为「强推断」的那条归因。 |
| 633 | +> - 🔴 **环境层 4 件的终态口径(R11.3「落 seam 不算已交付」)**:① 探针摆动 **1**(`ui/primitives/Loading.tsx:64`)· ② 采集脉冲 **1**(`shell/LiveBar.tsx:105`)· ③ 未确认段落墨度 **1 / 要求 ≥2 ⇒ 未达成**(`components/session-detail/SessionRawView.tsx:138`;**不得**用 T13 的 seam 充数)· ④ 到期刻度微光 **1**(`components/review/DueScale.tsx:120`)。⚠️ 另:**`rich` 档的「幅度提高」未机械兑现**(只兑现**频率**)⇒ **不得**写成「三档全兑现」。 |
| 634 | +
|
628 | 635 | **三条硬约束(R0.1 第 1 条)的判据与读数**:① **规格 §3 就地加注** = 本批提交(E3/E4/E5 三行 + 四列齐备 + 回滚逐字)· ② **`ADR-035` 单列「后端契约例外」节** = T2 建、**T35 定稿回填**(五项读数:313/313/0 · sidecar 键名 · `aligned` 语义 · `MAX_GAP_MS` = 10 min · `cargo test` 逐字)· ③ 🔴 **`cargo test --test app_lib_tests` 本批真跑**(**不是**「沿用基线读数」):`running 2335 tests` → **`test result: ok. 2329 passed; 0 failed; 6 ignored`**,**exit 0**。 |
629 | 636 |
|
630 | 637 | **八门禁终态(`HEAD = 975b3285` · 真实构建产出 `app/dist` mtime 2026-09-13T05:10:24.838+08:00)** |
|
674 | 681 | - 🔴 **`[[ts:ms]]` 的芯片在修之前是死的**(回链整条不可达)—— T26 修掉了这个**真实缺陷**(`NoteMarkdown` 一半);`NotePreviewView` + `utils/html.ts:32` 的**另一半未修**(批 7 候选)· **定位精度残余 = 块粒度 ±200 ms**(写块周期 200 ms)。 |
675 | 682 | - 🔴 **`katex@0.18.4` 的第二份副本进产物**(T28 让 `structuredBlocks.ts` 首次进图)⇒ **+227,858 B 原始 / +64,497 gzip**,而**懒侧今天没有任何预算门禁** ⇒ 登记两条**批 7/8 候选**:「把 `lowConfidenceClass` 析出轻模块」+「**懒侧字节纳入门禁**」。 |
676 | 683 | - **行数 / 结构代价**:`App.tsx` **599 / 600(余 1)** ⇒ **任何后续任务不许动它**(硬边)· `motion.css` **335 行**(6 次追加,越过 R11.8 的 ≤300 自律线;`.css` 不在门禁 `SOURCE_EXT` 视野内)· `style-seams.test.ts` **299** · `views/session/SessionTriTrackView.tsx` **295** · `shell/TopBar.test.tsx` **298**(**余 ≤5 的共 22 个文件**,T34 §9 列全)。 |
| 684 | + - 🔻 **T36 回写(2026-09-13,上面这句原文一字未改)**:`views/session/SessionTriTrackView.tsx` 的 **295 是 T34 的冻结读数**;**T35d**(`7d6d677b`)为把「长列表的滚动/密度手感见批 6」这句**悬空承诺**改成如实未交付而净 **+2** ⇒ **终态 = 297 / 300(余 3)**(同提交 `motion/engine.ts` **75 → 80**)。**T36 在终态(`7d6d677b`)逐条复测**:`App.tsx` **599** ✅ · `motion.css` **335** ✅ · `style-seams.test.ts` **299** ✅ · `shell/TopBar.test.tsx` **298** ✅(口径 = `countLines()`);**余 ≤5 的成员集不变 = 上列 22 个**(`app/src` **572** 个文件中 295–300 行者 **23** 个,去掉 T34 口径排除的 `ui/primitives/dialogMigration.e.test.ts` **300** 后仍是 **22**)。 |
677 | 685 | - **流程代价**:每次真实构建都要**人工取锁**(`check-bundle-budget.mjs` **无锁机制**;取锁协议是人工约定)· `docs/tech-debt/`(191,980 B)**全程占着 `git status`**(唯一脏项,待用户裁决)· 1 条新 IPC 与 3 项后端**只读**改动(`live_session*.rs` 触发 AGENTS.md §10 额外审查记录)。 |
678 | 686 |
|
679 | 687 | **未做(登记,逐条带归属批次)** |
680 | 688 |
|
681 | 689 | `docs/product/ui-ux-system.md` / `theme.md` 的**四层动效 / 三档强度回写** → **批 8**(§14 逐字仍留批 8;本节「规格漂移纠正」只做消歧)· **`ink-4` 接线 / 「审校模式」** → **批 7/8** · **`Text` 字号越界 551 处 / 120 文件** → **批 8**(本批只保证新代码不新增)· **暗档 `data-theme` 接线** → **批 7/8** · **跨窗口档位 / 相位同步** → **批 7/8** · **导入会话的音频承载面** → **产品裁决** · **删会话不删音频 + 孤儿 sidecar** → **产品裁决** · **`aligned` 残余 D3–D6** → **批 7/8** · **`[[ts:ms]]` 的会话页那一跳** → **批 7 首要候选**(T26 的逐行成本与 patch 落点保留在 `task-26-report.md`)· **`lowConfidenceClass` 析出轻模块 + 懒侧字节门禁** → **批 7/8** · **波 D 的一次性「标签清扫」**(comment-only;**涉及 `app/**` 源码注释 ⇒ 属生产代码面,本批只登记**:已过期 4 处 + `kbCommands.ts:15` 的 312/312 + `tokens.gen.ts:83-85` 的「0 生产消费者」+ `tone.test.ts:23` 的「`data-tone` 0 命中」· 前向引用 4 处 · **`engine.guard.test.ts` ① 的假 `console.warn`** · `controls.ts` 的过宽措辞)→ **下一个动效 / 治理单元** · **五类棘轮余量 + `FROZEN_NUMERIC_ZINDEX` + `bundle-eager-graph` 的 `import type` 口径** → **批 5/7/8**(照原表)· **`ADR-019` 缺号** → **只登记、不补** · **`docs/tech-debt/`** → **用户裁决** · **`Flip` 的 `width`/`height` 与属性集合判据的冲突** → **批 7/8 与判据纪律** · **`hook` 无 unmount 清理**(时间线在卸载后仍存活)→ **批 7/8** · **真机 / WebView2 验收** → **批 8**(不得出现「已真机确认」类表述)。 |
682 | 690 |
|
| 691 | +> 🔻 **T36 回写(2026-09-13,上面这一整段原文一字未改)** —— **两处已在本批内关闭,不再是「未做」**: |
| 692 | +> - 🔴 **「波 D 的一次性标签清扫」已执行**:**T35b** `9c1f615c`(6 文件 / +36 −22)+ **T35c** `04dc9de2`(8 文件 / +38 −18)+ **T35d** `7d6d677b`(2 文件 / +10 −3)= **16 个 `app/**` 文件 / 合计 +84 −43**(实测 `git diff --shortstat 975b3285..HEAD -- app/`),**上面逐条点名的源码注释项全部封闭**(含 `kbCommands.ts:15` 的 312/312 → **313/313/0** · `tokens.gen.ts:83-85` 的「0 生产消费者」→ `card` **6** / `reveal` **7** · `tone.test.ts:23` → **4 处** `data-tone` · `engine.guard.test.ts` 的**假 warn**(用例名 + `console.warn` 两段)· `controls.ts` 的过宽措辞)。🔴 **唯一未改 = R66.3 #3 判为「不算说谎」的两处测试名**(`components/session-detail/useRevealChoreography.test.tsx:283` · `views/session/useTriTrackAlign.test.tsx:279`)⇒ **只登记**。⇒ 本条**去向**随之收敛为「**下一个动效 / 治理单元**」仅指那两处测试名。 |
| 693 | +> - 🔴 **`--ed-dur-page` = 0 生产消费者**(T35b 实测)⇒ **去向批 7/8 或删除**(控制方引述错误第 7 例;T36 独立复现同读数)。 |
| 694 | +
|
683 | 695 | **提交清单(77 个,`ac504b06^..975b3285`;归组依据 = 逐提交 `git show --name-only` 的改动面 + subject,探针 `tmp/t35/commits.mjs`)** |
684 | 696 |
|
685 | 697 | | 归属 | 提交数 | sha(按时间序) | |
|
723 | 735 |
|
724 | 736 | > **注**:⚠️ **微单元的归属按「改动面」判定**(例如 `17e96fe1 chore(line-limits)` 删的是 `usePhaseFreeze.test.tsx` 的登记行 ⇒ 归 T29;`5467a91c` 改的是 `responseSeams.test.ts` 的缓动名与 `!important` 口径 ⇒ 归 T13b 的 5 处小修)。🔴 **权威的逐任务提交轨迹由 T36 的收口评审给出**(批 6 计划 §收口回写 §3);本表**不含** T35 本节所在的提交与 T36 的后续提交(自引用)。 |
725 | 737 |
|
| 738 | +> 🔻 **T36 的归组对拍(2026-09-13,独立复核;上表原文一字未改)** —— T35 §7-5 把「77 条提交的任务归组」列为**未能验证**,R64.2 #3 判「权威轨迹留 T36」;**T36 用 `git log --pretty=format:%h%x09%s` 逐条对拍,结论 = 上表成立**: |
| 739 | +> - 🔴 **区间与计数**:上表 **77** 的区间是 `ac504b06^..975b3285`(**只到冻结提交**);批 6 的**终态提交数 = 84**(实测 `git rev-list --count ac504b06^..HEAD` = **84**)= 上表 77 + **T35 的 4 个**(`b3f2181f` · `323acb58` · `c7ef9ca4` · `e719894f`)+ **T35b / T35c / T35d 各 1 个**(`9c1f615c` · `04dc9de2` · `7d6d677b`)。**T36 本节自身的提交不计入(自引用)**。 |
| 740 | +> - ✅ **0 个幻影 sha**:上表 **77 个 sha 逐条存在于 `git log`**(`git log --pretty=format:%h 6cbe964e..HEAD` 的 84 条里 77 命中、0 缺失)· **36 行的「提交数」格与并列 sha 数逐行相等(mismatches = 0)** · 微单元归属抽查 8 条(`17e96fe1` → T29 · `5467a91c` → T13b · `160d5936` → T28 · `1cc35346` → T19 · `92d83623` → T5 · `32effc92` → T12 · `0ea19a78` → T25 · `7d63a1bf` → T29)**逐条与 `--numstat` 的改动面一致**。 |
| 741 | +> - ⚠️ **唯一一类差异(不是归属错误)**:**9 个父任务报告从不引用自己的微单元提交**(T1 `b508c5e5` · T3 `5ecfe1f7`/`a9cf152a` · T6 `c9f89692` · T8 `b0ab516b` · T9 `dd48d933`/`1935dd2c`/`17a8b8c3` · T10 `9508c5dd` · T11 `6d10a2db` · T12 `32effc92` · T14 `a50a3449`/`4dc32808`/`19a2a953` · T20 `6268f34d`)—— 它们的旧/新原文记录在**兄弟报告**里(`task-1-fix` / `task-6b` / `task-8b` / `task-9b` / `task-13b` / `task-14b` / `task-14c` / `task-20b`)。⇒ **归组本身无需更正**;**读者须知「任务 = 报告集合」而不是「任务 = 单个报告」**(T36 逐条差异表见 `task-36-report.md` §3.3)。 |
| 742 | +
|
726 | 743 | ### 批 0 其余部分(未落地) |
727 | 744 |
|
728 | 745 | 规格 §10 的批 0 还包含:**ADR-033~035**(当前 `docs/adr/` 最高为 ADR-032)· 豁免表纠偏 · 拆 4 个 >600 行文件 · 原语三层。**这些不在 0-A / 0-B 范围内**,后续子批次另行立计划。 |
|
0 commit comments