product-planning:删掉④段「原型说明文档」(用户令「第4部分完全没法用,都删除」)⇒ 四段改三段
- 删 references/stage-proto-doc/ 整目录(SKILL.md + references/doc-area-spec.md + references/guided-tour.md)。 原做法=往原型 HTML 注入说明区注解层(场景 / 从左到右流程图 / 功能作用·输入边界·异常情况 三段说明 / 演示引导),实测不好用。 - 总入口 SKILL.md:description 与「三段结构」表、交接口表(去掉 ③→④)、产物落哪(去掉④行)、 进入方式(去掉「只做原型说明文档」「已有原型,要补说明」两行)、只读清单、执行规则、反面清单同步改写; 并在段名命名原则处留一条删除留痕(含用户原话与「新写法待定」)。 - ③段 stage-delivery:撤掉「与④段的界」一条,改掉「说明区归④段」的两处约束(3d 完即交付原型本身);历史条目加注。 - ①段/②段:段名对称链与越界条目改成三段。 - 闸门 check_naming.py:STAGES 去掉 stage-proto-doc(圈号数组改 ①②③、交界边去掉 ③→④), DEPRECATED 收进④段名与 4a/4b/4c 三个子步名。 - 未动:references/_留痕/ 下两份历史存档(含④段的旧口径,属正当留痕);SKILL.md 与 check_naming.py 里 2026-10-02/10-06 两次事故记录(历史事实)。 - 验收:`check_naming.py --ws E:/ProgramData/AIProject/contentm_agent` = 通过 2045 / 失败 0 / 提示 31 (新增 4 条提示全部落在 _留痕/ 里,正当)。 - 备份:tmp/_backup-stage-proto-doc-20261014/(原目录三件 + 改前 SKILL.md)。
This commit is contained in:
1 parent
2f656098de
commit
daf4e5675a
8 files changed
+43
-305
No files matched your search
@@ -1,8 +1,8 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""四段流水线**命名一致性**自检(纯静态文本比对,不需要渲染、不需要外部依赖)。
|
||||
"""三段流水线**命名一致性**自检(纯静态文本比对,不需要渲染、不需要外部依赖)。
|
||||
|
||||
只查一件事:**四段的段名 / 子步名,在总入口、各段 SKILL.md、各段 references 之间有没有漂。**
|
||||
只查一件事:**三段的段名 / 子步名,在总入口、各段 SKILL.md、各段 references 之间有没有漂。**
|
||||
⛔ 本脚本**不查视觉、几何、配色** —— 那些判据归③段 §供给·工艺数值判据,本脚本一概不碰。
|
||||
|
||||
为什么需要它(不是"为了严谨",是实测过的两次真实事故):
|
||||
@@ -48,15 +48,12 @@ STAGES = [
|
||||
"h1": "# ③ 界面交互",
|
||||
"subs": ["3a 视觉规范", "3b 原型", "3c GPT参考版", "3d 审查打磨"],
|
||||
},
|
||||
{
|
||||
"slug": "stage-proto-doc",
|
||||
"cn": "原型说明文档",
|
||||
"h1": "# ④ 原型说明文档",
|
||||
# 4b/4c 允许只在一处出现完整(总入口与段内都写全),但**两处都必须能读到**
|
||||
"subs": ["4a 场景盘点", "4b 说明区", "4c 演示引导"],
|
||||
},
|
||||
]
|
||||
|
||||
# 2026-10-14 用户令:④段「原型说明文档」整段删除(原做法=往原型 HTML 注入说明区注解层,
|
||||
# 实测不好用)⇒ `references/stage-proto-doc/` 连方法论一并撤掉,本表同步去掉该项。
|
||||
# 该段的段名与子步名转入下面的 DEPRECATED(提示级),用来查正文里的残留引用。
|
||||
|
||||
# 已废止的旧名。出现在「废止理由块」里是正当的(那是留痕),
|
||||
# 所以这里只做**提示级**检查(不计入 FAIL),人工确认上下文即可。
|
||||
DEPRECATED = [
|
||||
@@ -71,6 +68,8 @@ DEPRECATED = [
|
||||
"00-问题定义.md", "01-需求澄清.md",
|
||||
"10-参考实装拆解.md", "11-竞品分析.md", "12-用户画像.md",
|
||||
"strategy/30-产品策略.md", "strategy/31-使用场景.md",
|
||||
# 2026-10-14 ④段整段删除:段名与三个子步名一并废止
|
||||
"④ 原型说明文档", "4a 场景盘点", "4b 说明区", "4c 演示引导",
|
||||
]
|
||||
|
||||
# ⛔ 2026-10-06 用户定案:①段**产出白名单**——本段只许这五份,第 6 份须用户明确要求。
|
||||
@@ -201,10 +200,10 @@ def check_root(root, label):
|
||||
add("PASS", f"[{label}] 技能根存在", root)
|
||||
|
||||
# 1) 每段:frontmatter 闭合 + H1 与权威表一致 + 每个子步都有 H2
|
||||
# ⚠️ 2026-10-05 整合后:四段收进 references/<slug>/,不再是技能根下的平级目录。
|
||||
# ⚠️ 2026-10-05 整合后:三段收进 references/<slug>/,不再是技能根下的平级目录。
|
||||
# 本函数按「技能包 = 一个目录,SKILL.md 在最外层」的形态定位:
|
||||
# <root>/SKILL.md ← 总入口(曾为 <root>/product-planning/SKILL.md)
|
||||
# <root>/references/<slug>/SKILL.md ← 四段(曾为 <root>/<slug>/SKILL.md)
|
||||
# <root>/references/<slug>/SKILL.md ← 三段(曾为 <root>/<slug>/SKILL.md)
|
||||
# ⛔ 不许改回平级探测:那会让整合形态静默退回「一目录套多技能」而门禁照样全绿。
|
||||
for st in STAGES:
|
||||
p = os.path.join(root, "references", st["slug"], "SKILL.md")
|
||||
@@ -242,26 +241,26 @@ def check_root(root, label):
|
||||
|
||||
for st in STAGES:
|
||||
num = STAGES.index(st) + 1
|
||||
circled = "①②③④"[num - 1]
|
||||
circled = "①②③"[num - 1]
|
||||
# 段名必须以「圈号 + 空格 + 段名」成对出现,避免只匹配到散落正文
|
||||
ok = f"**{circled} {st['cn']}**" in text
|
||||
add("PASS" if ok else "FAIL",
|
||||
f"[{label}] {rel} 四段表含 `{circled} {st['cn']}`", "")
|
||||
f"[{label}] {rel} 三段结构表含 `{circled} {st['cn']}`", "")
|
||||
|
||||
# 子步:总入口表里每个子步都要能被逐个读到(防"4a 说明区/ 演示引导"这类漏列)
|
||||
# 子步:总入口表里每个子步都要能被逐个读到
|
||||
for st in STAGES:
|
||||
for sub in st["subs"]:
|
||||
if sub.split()[0] in ("3d", "4b", "4c"):
|
||||
# 3d/4b/4c 在总入口可能与相邻子步合并书写,只要求"子步号 + 关键词"能被搜到
|
||||
if sub.split()[0] in ("3d",):
|
||||
# 3d 在总入口可能与相邻子步合并书写,只要求"子步号 + 关键词"能被搜到
|
||||
kw = sub.split(" ", 1)[1] if " " in sub else sub
|
||||
ok = (sub in text) or (kw in text)
|
||||
else:
|
||||
ok = sub in text
|
||||
add("PASS" if ok else "FAIL",
|
||||
f"[{label}] {rel} 四段表子步列含 `{sub}`", "")
|
||||
f"[{label}] {rel} 三段结构表子步列含 `{sub}`", "")
|
||||
|
||||
# 交接口表:三条边必须都在
|
||||
for edge in ("① → ②", "② → ③", "③ → ④"):
|
||||
# 交接口表:两条边必须都在
|
||||
for edge in ("① → ②", "② → ③"):
|
||||
add("PASS" if edge in text else "FAIL",
|
||||
f"[{label}] {rel} 交接口表含 `{edge}`", "")
|
||||
|
||||
|
||||
Reference in new issue
Block a user