@hupan56/wlkj 3.1.4 → 3.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -38,49 +38,49 @@ R=$(python ~/.qoderwork/repo_root.py 2>/dev/null) || R=.
38
38
  | 2 / APP / H5 / 移动端 | APP | `--platform app` | prototype-app.html |
39
39
  | 3 / 都要 / 两端 | Both | 都跑 | 两个模板,两份原型 |
40
40
 
41
- ## ⚠️ STEP 0.5: 原型要不要画?(融入 Step 2 批量确认,不另开轮次)
42
-
43
- **不交给 AI 默默判断**(避免"AI 觉得不需要、用户其实想要"的扯皮),但也**不额外开一轮问答**——
44
- 合并进 Step 2「轻反思 + 批量确认」那一步,跟背景/目标/指标一起一次性问完。
45
-
46
- ### 关键词触发矩阵(给默认建议,用户可一键改)
47
-
48
- | 模式 | 关键词信号 | 默认建议 | 例子 |
49
- |------|-----------|---------|------|
50
- | 评审 | (任何) | ❌ 不画 | 评审别人的 PRD,本就不画 |
51
- | 快速 | 加字段/按钮/文案/导出/接口 | ❌ 不画 | "列表加个导出按钮" |
52
- | 快速 | 含"页面/弹窗/表单/交互" | ✅ 画 | "弹窗里加 3 个字段" |
53
- | 完整 | 含"页面/菜单/详情/列表/向导/看板/大屏" | ✅ 画 | "新出库单页面" |
54
- | 完整 | 纯"规则/接口/定时/对账/计算/开关/参数/性能" | ❌ 不画 | "出交车点检固定为总部全局规则" |
55
- | 完整 | 混合(既有页面又有规则) | ✅ 画(只画页面那部分) | "新增审批流 + 审批页" |
56
-
57
- ### Step 2 问法(合并到批量确认)
58
-
59
- ```
60
- 确认 3 件事就开工:
61
- 1. 背景/目标:……(AI 已补,要改吗?)
62
- 2. 关键指标:……(AI 已补,要改吗?)
63
- 3. 原型图:我建议【画/不画】,因为……(理由)。
64
- 要改吗?(画 / 不画 / 两端各画一份)
65
- ```
66
-
67
- ### 两端都画时的边界(v3.1)
68
-
69
- 「完整模式 + 两端都要」如果用户选了"画",**默认只画主端一份**(用户在 PRD 里标的主端),
70
- 另一端在 PRD 第 11 章写"复用主端规则,UI 适配另出"。用户明确说"两端各画一份"才画 2 份。
71
-
72
- ### 不画原型时的下游连锁(必须对齐)
73
-
74
- | 产物 | 处理 |
75
- |------|------|
76
- | PRD 第 11 章「原型地址」 | 写 `无({原因},经用户确认豁免)`,**保留章节标题**不省略 |
77
- | PRD 第 1 行 `@contract` 头 | 标记 `prototype: none` |
78
- | eval_prd | 检测到 `prototype: none` → A2 自动跳过,满分从 100 降到 70,照样能 PASS |
79
- | /wl-design | 读到 `prototype: none` 跳过原型环节 |
80
- | /wl-code | 直接以 PRD 字段表为准 |
81
-
82
- ---
83
-
41
+ ## ⚠️ STEP 0.5: 原型要不要画?(融入 Step 2 批量确认,不另开轮次)
42
+
43
+ **不交给 AI 默默判断**(避免"AI 觉得不需要、用户其实想要"的扯皮),但也**不额外开一轮问答**——
44
+ 合并进 Step 2「轻反思 + 批量确认」那一步,跟背景/目标/指标一起一次性问完。
45
+
46
+ ### 关键词触发矩阵(给默认建议,用户可一键改)
47
+
48
+ | 模式 | 关键词信号 | 默认建议 | 例子 |
49
+ |------|-----------|---------|------|
50
+ | 评审 | (任何) | ❌ 不画 | 评审别人的 PRD,本就不画 |
51
+ | 快速 | 加字段/按钮/文案/导出/接口 | ❌ 不画 | "列表加个导出按钮" |
52
+ | 快速 | 含"页面/弹窗/表单/交互" | ✅ 画 | "弹窗里加 3 个字段" |
53
+ | 完整 | 含"页面/菜单/详情/列表/向导/看板/大屏" | ✅ 画 | "新出库单页面" |
54
+ | 完整 | 纯"规则/接口/定时/对账/计算/开关/参数/性能" | ❌ 不画 | "出交车点检固定为总部全局规则" |
55
+ | 完整 | 混合(既有页面又有规则) | ✅ 画(只画页面那部分) | "新增审批流 + 审批页" |
56
+
57
+ ### Step 2 问法(合并到批量确认)
58
+
59
+ ```
60
+ 确认 3 件事就开工:
61
+ 1. 背景/目标:……(AI 已补,要改吗?)
62
+ 2. 关键指标:……(AI 已补,要改吗?)
63
+ 3. 原型图:我建议【画/不画】,因为……(理由)。
64
+ 要改吗?(画 / 不画 / 两端各画一份)
65
+ ```
66
+
67
+ ### 两端都画时的边界(v3.1)
68
+
69
+ 「完整模式 + 两端都要」如果用户选了"画",**默认只画主端一份**(用户在 PRD 里标的主端),
70
+ 另一端在 PRD 第 11 章写"复用主端规则,UI 适配另出"。用户明确说"两端各画一份"才画 2 份。
71
+
72
+ ### 不画原型时的下游连锁(必须对齐)
73
+
74
+ | 产物 | 处理 |
75
+ |------|------|
76
+ | PRD 第 11 章「原型地址」 | 写 `无({原因},经用户确认豁免)`,**保留章节标题**不省略 |
77
+ | PRD 第 1 行 `@contract` 头 | 标记 `prototype: none` |
78
+ | eval_prd | 检测到 `prototype: none` → A2 自动跳过,满分从 100 降到 70,照样能 PASS |
79
+ | /wl-design | 读到 `prototype: none` 跳过原型环节 |
80
+ | /wl-code | 直接以 PRD 字段表为准 |
81
+
82
+ ---
83
+
84
84
  ## 衔接 insight(参考模式)
85
85
 
86
86
  **若用户说"按 insight 报告做 PRD""转 PRD"或带 `参考:<报告路径>`:**
@@ -98,12 +98,12 @@ Read 指定 insight 报告 → 把现状锚定 + 选中的机会/Gap 作为 PRD
98
98
  > 拿到后**按 $ROLE 视角看重点**:dev 看代码段、design 看页面+风格段、pm 看字段+历史PRD段。prefetch 之后不要再串行 search。
99
99
  > 不硬编码 pm:dev 写 PRD 能拿到代码视角、设计师拿到页面+风格视角,比统一 PM 视角更"准"。
100
100
  2. **轻反思 + 批量确认**:AI 自动补全背景/目标/指标,只把真缺失的 1-2 点一次性问完
101
- 3. **一次生成 + 3 道质量锁**:
102
- - PRD(prd-full-template.md,13 章)一次 Write
103
- - **原型按 Step 0.5 决策**:用户选"画"→ 走 prototype-generator(必须先 fill_prototype);
104
- 用户选"不画"→ 跳过,PRD 第 11 章写 `无` + contract 头标 `prototype: none`
105
- - 3 道质量锁:背景锁/字段锁/闭环锁 → eval_prd(**不要加 `2>/dev/null`,stderr 阻断原因要看**)→ 不过自动修
106
- - eval 命令:`python "$R/.qoder/scripts/orchestration/wlkj.py" eval <prd.md> [原型.html]`
101
+ 3. **一次生成 + 3 道质量锁**:
102
+ - PRD(prd-full-template.md,13 章)一次 Write
103
+ - **原型按 Step 0.5 决策**:用户选"画"→ 走 prototype-generator(必须先 fill_prototype);
104
+ 用户选"不画"→ 跳过,PRD 第 11 章写 `无` + contract 头标 `prototype: none`
105
+ - 3 道质量锁:背景锁/字段锁/闭环锁 → eval_prd(**不要加 `2>/dev/null`,stderr 阻断原因要看**)→ 不过自动修
106
+ - eval 命令:`python "$R/.qoder/scripts/orchestration/wlkj.py" eval <prd.md> [原型.html]`
107
107
  (wlkj.py eval 内部映射 validation/metrics/eval_prd.py,路径不会漂移)
108
108
  4. **发布 + 归档 + 同步**(3 合 1):collect_prds → team_sync push → archive_prd
109
109
 
@@ -116,5 +116,5 @@ Read 指定 insight 报告 → 把现状锚定 + 选中的机会/Gap 作为 PRD
116
116
  ## REQ-ID 分配(并发安全)
117
117
 
118
118
  ```bash
119
- python -c "import sys; sys.path.insert(0,'.qoder/scripts'); from common.reqid import allocate_req_id; n=allocate_req_id(); print('REQ-%d-%03d' % (__import__('datetime').date.today().year, n))"
119
+ python -c "import sys; sys.path.insert(0,'.qoder/scripts'); from foundation.io.reqid import allocate_req_id; n=allocate_req_id(); print('REQ-%d-%03d' % (__import__('datetime').date.today().year, n))"
120
120
  ```