Skip to content

Commit 6d77572

Browse files
committed
docs(versions): 补回 TD-H 引用并修正环境节标题
Task 5 上报的三处,均已核实并修: 1) 门槛 1 的替换文本丢了 TD-2026-09-11-H 与 tech-debt 引用(v0.22 内该编号此前已不再出现)=> 补回, 并写明债务未关、棘轮只保证不增加;该文件未入 git 故仍不写成链接 2) 节标题仍写「两个「读数陷阱」」而该节实含 3 陷阱 + 2 条门禁真相 => 改为「读数陷阱与门禁真相」 3) 计划两处过期数字:scripts 行数区间(含 line-limits.mjs = 297)与执行结果里的 250 行 => 更新, 并补 0-C2 的余量警告(脚本距 300 只剩 3 行,autoReason 续行改进很可能越线)
1 parent a979dc1 commit 6d77572

2 files changed

Lines changed: 6 additions & 3 deletions

File tree

‎docs/superpowers/plans/2026-09-11-frontend-redesign-batch0c1-line-limit-governance.md‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -837,11 +837,13 @@ git commit -m "docs(versions): 0-C1 行数红线验收与门槛更正"
837837
- **`scripts/validate-all.mjs` 已失效**:它引用 `client/`、`server/ai-gateway` 等**本仓库不存在的目录**(重构前遗留),跑起来第一步即失败。并行审查曾建议把行数守卫挂进它 —— **该建议的前提不成立**(落点本身是坏的)。修它或删它属独立治理项。
838838
- **`REQ-201` 状态标注**、豁免表历史节的进一步精简:不属本批。
839839
- **★ 自动摘取的 43 条理由里有 16 条在连接符处截断**(Task 3 实施者实测):`autoReason` 只取 `@ai-context` 的**第一个物理行**,于是形如「…(自动摘取,待细化)」的理由中,有 16 条是半句话(以「,」「——」「+」等结尾)。**不算缺陷**(表格的验收口径是**结构一致性**:成员关系 + 数值,不含散文质量),且**修法零人工成本** —— 表格是生成物,改 `autoReason` 让它续读后续物理行直到句末或空行,再跑一次 `--write` 即可整体刷新。⇒ **并入 `0-C2` 顺手做**(建议同时把理由上限截到合理长度)。
840-
- **扫描域不含 `scripts/` 与 `docs/`**:本批的口径域**只有** `app/src` + `app/src-tauri/src` 的 `.ts/.tsx/.rs`(868 个文件)。AGENTS.md §3 说"单文件 ≤300 行"字面上是**全仓**要求,故这是一处**有意的窄化**:`scripts/*.mjs`(现 62–238 行,均 ≤300)与 `docs/**` 未纳入登记表,也**不会**被守卫拦。若要扩域,须另立批次(并先把 `SOURCE_EXT` 与登记表节的措辞一起改)。
840+
- **扫描域不含 `scripts/` 与 `docs/`**:本批的口径域**只有** `app/src` + `app/src-tauri/src` 的 `.ts/.tsx/.rs`(868 个文件)。AGENTS.md §3 说"单文件 ≤300 行"字面上是**全仓**要求,故这是一处**有意的窄化**:`scripts/**`(现 **80–297 行**,含本批新增的 `line-limits.mjs` = **297**)与 `docs/**` 未纳入登记表,也**不会**被守卫拦 ⇒ **`line-limits.mjs` 自己不被自己看守**。若要扩域,须另立批次(并先把 `SOURCE_EXT` 与登记表节的措辞一起改)。
841841
- **超硬限表里 10 行的拆分计划仍写「若再增长:…」**(继承来的人工文字;生成器只对**没有**人工计划的超硬限行写「**超硬限必须拆**」)。对**已经**越限的文件,这个前缀有误导性(像在说"长大了才拆")。
842842
⇒ **控制方裁定:不修**。理由有两条:① 强制语气已由**两处**承载(节标题「>600 行,必须硬拆,不允许豁免」+ 该行 `说明` 列逐行重复「超硬限(>600 行),不允许豁免」),`拆分计划` 列只回答"**拆什么**";② **这些行正是 `0-C2`/`0-C3` 要拆掉的文件,拆完行就从表里消失** —— 给它们改措辞是**会被蒸发的工作**。若 0-C2/C3 因故长期不做,再回来改前缀(一行正则 + 重跑 `--write`)。
843843
844-
> **执行结果(2026-09-11 收尾时补记)**:Task 0–3 已全部交付。工具现为**绿**(默认与 `--full` 都 `exit=0`,stderr 0 字节),登记表 **138 条 / 179 行**、历史节 16 条、占位符 0、脚本 250 行。Task 4(接线 lint-staged + CI)与 Task 5(回写门槛与验收)待做。
844+
> **执行结果(2026-09-11 收尾时补记)**:Task 0–5 已全部交付。工具现为**绿**(默认与 `--full` 都 `exit=0`,stderr 0 字节),登记表 **138 条 / 179 行**、历史节 16 条、占位符 0、脚本 **297 行**。
845+
> ⚠️ **`line-limits.mjs` 的 300 行余量只剩 3 行** ⇒ `0-C2` 拟并入的 `autoReason` 续行改进(见上)**很可能越线**,届时须在「**写紧**」(合并重复分支、缩短注释)与「**拆文件**」(把 `check` 与 `writeTable` 分文件)之间二选一 —— **不要**因为"它是工具"就默认它可豁免。
846+
> 门禁加固(`.husky/pre-commit` 加 `--no-stash --no-hide-partially-staged`)见 Task 4 节末尾;其**代价**之一是「部分暂存的文件跑完会被整文件 `git add`」,故本文档早先那句「校验看到的是即将提交的状态」已不成立(Task 5 已就地修正)。
845847
846848
## 自审记录
847849

‎docs/versions/v0.22.md‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
1. **15 个 >600 行文件 → 0**(实测值:前端 5 + Rust 10;规格原文的「4 个」只扫了前端且漏掉 `SessionListPanel.tsx`);>300 行 **100% 在豁免表内且数值与实测一致**。
6060
> **2026-09-11 用户裁决**:范围取实测 15 个;口径取「全部行数」,**以 `[System.IO.File]::ReadAllLines(path, UTF8).Count` 为准**(即 `scripts/line-limits.mjs`),**禁用 `Get-Content`(少算可达 56 行)· `Measure-Object -Line`(只数非空行)· 字节 `0x0A` 计数(末尾无换行时少算 1)**。
6161
> 执行机制:`node scripts/line-limits.mjs`(本地提交门禁 + CI `--full` 守数值),>600 用**棘轮**只减不增 —— 拆分由 0-C2(前端 5)/ 0-C3(Rust 10)推进,每拆完一个从 `FROZEN_OVER_LIMIT` 删一行。
62+
> **债务未关**:15 个文件**当前仍全部 >600**,棘轮只保证「不再增加」,`→ 0` 由 0-C2 / 0-C3 兑现。该缺口的完整实测与豁免表治理债登记为 **`TD-2026-09-11-H`**(清单与证据在 `docs/tech-debt/review-2026-09-11.md` —— ⚠️ 该文件**目前未入 git**,故此处不写成 Markdown 链接,否则新克隆会断链)。
6263
2. 手写弹层 20 → 全走 `Modal`;z-index 不同值 17 → **≤6 档**;`role="dialog"` + 焦点陷阱 **20/20**
6364
3. 空态 / 加载 / 错误行 / 弱化文本 / 卡片边框 五类重复 → 各自 **1 个原语**
6465
4. CSS 变量 0 → 覆盖全部语义色/字阶/间距/圆角/时长/缓动;hex 88 → **≤ token 数**
@@ -106,7 +107,7 @@
106107

107108
规格 §10 的批 0 还包含:**ADR-033~035**(当前 `docs/adr/` 最高为 ADR-032)· 豁免表纠偏 · 拆 4 个 >600 行文件 · 原语三层。**这些不在 0-A / 0-B 范围内**,后续子批次另行立计划。
108109

109-
### 跨批发现 · 本机工具链的两个「读数陷阱」(工具级,影响全项目)
110+
### 跨批发现 · 本机工具链的读数陷阱与门禁真相(工具级,影响全项目)
110111

111112
**陷阱 1 · 行数 —— `Get-Content` 会少算**
112113

0 commit comments

Comments
 (0)