Files
workbuddy_skills/product-planning
admin 799ceb749b product-planning ③段:闸门脚本下沉进技能包(框架一份、常量现读)
起因:③段只定义 Gate(自检表),不供给执行件 ⇒ 每个目标自建一份
(实测本区 执行会话/*/ui/_tools/ 下 check_skeleton.py 6 份 / 3 个版本,其中一版
 还停在"八页骨架"常量上 ⇒ ②段收成七页后要么 SystemExit、要么静默比错)。

新增 references/stage-delivery/scripts/(跨项目共用一份):
- _common.py        定位(按 docs/pm/*/prd|ui 形态找,⛔ 不写死项目名/文件名)+
                    自检文本解析规则(唯一一份)+ node/harness 自动发现
- check_skeleton.py ②段骨架 ↔ 原型 FROZEN 表逐页逐位比对;节号/页集合/页数现读
- check_js.py       <script> 段 node --check + 模板内 HTML 注释不得含反引号;
                    查不到覆盖面时给 SKIP 并写明(⛔ 不给假 PASS)
- grab_selftest.py  取自检文本(容忍 IPC 5s 超时;复用同一标签)
- run_viewports.py  逐视口抽密度/横向溢出/外壳高度链;--min-rows 默认 6
- mutate_test.py    变异对照框架(规则文件 mutate-rules.json 留在项目侧)
- selftest_gates.py 闸门自身的变异对照(临时副本上造病,要求报红+一档不该报红)

文档:runbook 新增 §5.6(用法只写这一处);SKILL.md 只留指针。

验证(contentm_agent 实测):骨架 PASS 7 页 39 板块;语法 PASS(1720 行);
闸门自身对照 5/5(改名报红并点名 / 注释带反引号报红 / 原型少一块报数量不等 /
节号加后缀仍 PASS ⇒ 既非恒绿也非恒红);命名闸门 2061|0|27。
浏览器类三条(grab/run_viewports/mutate)因 9223 没在跑,只验到参数链与
"没跑就报没跑"(rc=2),未实跑。
2026-10-13 17:47:59 +08:00
..