🕐 时效标注(2026-09-13 文档治理):近期设计件,口径以 TASKS 现行与契约 v1.3 为准。
性质:本报告记录现状,不是发布门——允许红。红的项不代表不能上线,代表"这一项还没有 L3 行为证据"。
执行人:小齐(WIP-261)|时间:2026-09-11 23:5x|基线 HEAD:860023e6
真源:docs/tools/(专用树)|证据原件:docs/reports/2026-09-12-深验基线-证据-20260911-235533.txt
| 级 | 含义 | 例 |
|---|---|---|
| L1 | 自报/声称完成,无命令无产物 | "应该没问题" |
| L2 | 静态扫描级(grep/读代码/tsc 只跑不落证据) | 扫到某文件含某串 |
| L3 | 行为证据:命令+退出码+证据文件 | 本报告全部条目 |
| # | 项 | 状态 | 等级 | 判据/复跑命令 |
|---|---|---|---|---|
| 1 | C 端 typecheck | 🟢 GREEN | L3 | bash docs/tools/verify_tsc.sh → EXIT=0 ERRORS=0 |
| 2 | B 端 typecheck | 🟢 GREEN | L3 | 同上(b-workbench EXIT=0 ERRORS=0) |
| 3 | A 端 typecheck | 🟢 GREEN | L3 | 同上(admin-console EXIT=0 ERRORS=0) |
| 4 | A 端构建 | 🟢 GREEN | L3 | bash docs/tools/verify_build.sh → EXIT=0,产物 170.59KB/gzip 56.27KB |
| 5 | C 端构建(代理) | 🟡 记录 | L2 | tsc 0;主包目录 2824KB(代理口径,实包以微信工具为准,上轮实测 1.1MB) |
| 6 | B 端构建 | 🔴 RED | L3 | npm run build → EXIT=127 sh: tsc: command not found |
| 7 | staging 冒烟 | 🟢 GREEN | L3 | bash docs/tools/verify_smoke.sh → health/products/merchants 均 HTTP 200 |
| 8 | 契约比对 | ⬜ GAP | — | docs/contracts/api-v1.md 未交付(波波 WIP-259 T0 先行,未到位) |
| 9 | 数据/is_test 隔离 | ⬜ 待深验 | — | T+24h 随集成候选执行(脚本 verify_deep.sh 已备) |
| 10 | 集成候选深验 | ⬜ 待依赖 | — | 依赖 256/257/258/260,按依赖图 T+24h(09-12 23:5x)触发 |
npm run build 失败(tsc: command not found)cd b-workbench && npm run build → sh: tsc: command not found,EXIT=127b-workbench/node_modules/ 下无 .bin 软链目录(43 个包已装,含 typescript),npm run build 的 tsc && vite build 依赖 PATH 中的 tsc 故找不到。非代码缺陷——绕过 .bin 直调 node_modules/typescript/bin/tsc --noEmit 结果为 EXIT=0 ERRORS=0,证明 B 端代码本身无类型错误。cd b-workbench && npm install(重装生成 .bin)或 npm script 改走 node_modules/typescript/bin/tsc;属环境/依赖问题,二号可自行决断(A 级自主)。docs/contracts/api-v1.md 不存在;后端已注册路由 317 条(verify_contract.py 扫描 backend/app/routers/*.py 得出)python3 docs/tools/verify_contract.py 一键出差异(仅契约有/仅实现有/对齐)| 脚本 | 用途 | 自检 | 实跑 |
|---|---|---|---|
docs/tools/verify_tsc.sh | 三端 typecheck | PASS | EXIT=0 |
docs/tools/verify_build.sh | 三端构建+体积 | PASS | EXIT=1(B 端环境项) |
docs/tools/verify_smoke.sh | staging 冒烟(直连不通自动走 ssh) | PASS | EXIT=0 |
docs/tools/verify_contract.py | 契约 vs 实现比对 | PASS | GAP(契约缺失,exit=2 不伪装通过) |
docs/tools/verify_deep.sh | T+24h 集成深验(黄金路径+反例集) | PASS | 待 T+24h |
docs/tools/run_all.sh | 总入口,产出证据文件 | PASS | — |
设计纪律:环境不可用记 ENV_UNAVAILABLE、依赖未就位记 GAP,绝不把缺失伪装成通过。
echo "... HTTP $code)" 在多字节 locale 下,bash 会把全角 ) 当成变量名的一部分,解析成未定义的 ${code)} 报 unbound variable。修法:变量一律 ${var} 加花括号。已全量扫 docs/tools/*.sh 修复(含 model_router.sh 同型 2 处,语义等价)。.bin 缺失不等于代码有问题:判定要绕过构建入口直接验类型,避免把环境问题误判成代码缺陷。bash docs/tools/verify_deep.sh,逐条复测 256/257/258/260 判据+反例集,产出《通过/缺陷清单》,缺陷逐条回原包。