File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 9898
9999规格 §10 的批 0 还包含:** ADR-033~ 035** (当前 ` docs/adr/ ` 最高为 ADR-032)· 豁免表纠偏 · 拆 4 个 >600 行文件 · 原语三层。** 这些不在 0-A / 0-B 范围内** ,后续子批次另行立计划。
100100
101- ### 跨批发现 · 行数红线的测量口径(工具级,影响全项目)
101+ ### 跨批发现 · 本机工具链的两个「读数陷阱」(工具级,影响全项目)
102+
103+ ** 陷阱 1 · 行数 —— ` Get-Content ` 会少算**
102104
103105本机 harness 的 ` pwsh ` 实为 ** Windows PowerShell 5.1** (ANSI 码页 ` gb2312 ` ),` Get-Content ` 会按 GBK 解码 UTF-8 文件并** 吞掉换行、把行数少算** (实测:` index.ts ` 19→12、` paths.test.ts ` 130→112、` NoteListView.tsx ` 654→609,最多少 ** 45** 行)。
104106⇒ ** AGENTS.md §3 的「≤300 / >600」必须以字节 ` 0x0A ` 或 ` [System.IO.File]::ReadAllLines(path, UTF8) ` 计量,禁用 ` Get-Content ` 数行。** 该失真已造成一次真实险情(据此误判 ` IconName ` 未导出)。
105107治理侧(口径未定义、15 个 >600 硬限违规、豁免表数值过期)见 [ tech-debt/review-2026-09-11.md] ( ../tech-debt/review-2026-09-11.md ) ;工具侧见批 0-B 台账。
106108
109+ ** 陷阱 2 · 退出码 —— ` 2>&1 | … ` 会把成功的原生命令报成失败**
110+
111+ ` cargo ` (及任何往 ** stderr** 写 warning 的原生命令)在 ` 2>&1 | … ` 或管道下,其 stderr 会被 ** PowerShell 5.1 包装成 ` NativeCommandError ` ** ,使整个管道以** 非零** 结束 —— ** 即使命令本身完全成功** 。
112+ 实测:` cargo test 2>&1 | Select-Object -Last 40 ` 报 ** exit 1** ,而同一次运行的单元测试是 ` 2337 passed; 0 failed; 6 ignored ` 、` cargo test --doc ` 亦全绿;改用 ` 2>file ` 重定向后 ** 真实 ` exit = 0 ` ** 。
113+ ⇒ ** 判定这类命令的结果必须用 ` 2>file ` 重定向,或直接读 ` $LASTEXITCODE ` ,绝不要用 ` 2>&1 | … ` 。** 否则会把** 绿的门禁误报成失败** (批 0 收尾时差点如此)。
114+ 顺带记两条** 预存** cargo warning(非批 0 引入):` lib.rs ` 同时属于 ` lib ` target ` app_lib ` 与 ` integration-test ` target ` app_lib_tests ` (正是它触发了上述假象);` src/db_task_index_tests.rs:6 ` 的 ` unused import: super::* ` 。
115+
107116## 边界(红线延续,全文见规格 §3)
108117
109118- 不写「自动替你决定」的能力;AI 一律默认关、可降级、须授权
You can’t perform that action at this time.
0 commit comments