@chenmk/superflow 0.1.0 → 0.1.2

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.
Files changed (79) hide show
  1. package/INSTALL.en.md +32 -5
  2. package/INSTALL.md +58 -17
  3. package/README.md +83 -7
  4. package/README.zh-CN.md +80 -11
  5. package/assets/brand/superflow-banner.svg +80 -0
  6. package/assets/context-templates/business-rules.md +45 -78
  7. package/assets/context-templates/decisions.md +63 -149
  8. package/assets/context-templates/external-systems.md +64 -161
  9. package/assets/context-templates/incidents.md +40 -78
  10. package/assets/context-templates-en/business-rules.md +72 -0
  11. package/assets/context-templates-en/decisions.md +72 -0
  12. package/assets/context-templates-en/external-systems.md +78 -0
  13. package/assets/context-templates-en/incidents.md +52 -0
  14. package/assets/manifest.json +6 -4
  15. package/assets/scripts/claude-auto-backup-hook.sh +11 -6
  16. package/assets/scripts/codex-auto-backup-hook.sh +11 -6
  17. package/assets/skills-en/api-doc-changelog/SKILL.md +64 -151
  18. package/assets/skills-en/superflow-clarify/SKILL.md +4 -4
  19. package/assets/skills-en/superflow-clarify/agents/openai.yaml +1 -1
  20. package/assets/skills-en/superflow-design/agents/openai.yaml +1 -1
  21. package/assets/skills-en/superflow-docs/SKILL.md +27 -27
  22. package/assets/skills-en/superflow-docs/agents/openai.yaml +1 -1
  23. package/assets/skills-en/superflow-implement/SKILL.md +113 -457
  24. package/assets/skills-en/superflow-implement/agents/openai.yaml +1 -1
  25. package/assets/skills-en/superflow-pipeline/SKILL.md +167 -840
  26. package/assets/skills-en/superflow-pipeline/agents/openai.yaml +1 -1
  27. package/assets/skills-en/superflow-pipeline/references/api-design-template.md +17 -426
  28. package/assets/skills-en/superflow-pipeline/references/architecture-design-template.md +15 -114
  29. package/assets/skills-en/superflow-pipeline/references/batch-prompt-template.md +36 -524
  30. package/assets/skills-en/superflow-pipeline/references/batch-split-guide.md +19 -133
  31. package/assets/skills-en/superflow-pipeline/references/document-templates.md +50 -123
  32. package/assets/skills-en/superflow-pipeline/references/feature-gated-workflow.md +12 -119
  33. package/assets/skills-en/superflow-pipeline/references/implementation-prompt-template.md +22 -1044
  34. package/assets/skills-en/superflow-pipeline/references/mock-strategy-guide.md +11 -81
  35. package/assets/skills-en/superflow-pipeline/references/openspec-format.md +17 -51
  36. package/assets/skills-en/superflow-pipeline/references/orchestration.md +17 -632
  37. package/assets/skills-en/superflow-pipeline/references/p0-baseline-template.md +10 -169
  38. package/assets/skills-en/superflow-pipeline/references/prompt-usage-template.md +29 -128
  39. package/assets/skills-en/superflow-pipeline/references/quality-gate.md +36 -299
  40. package/assets/skills-en/superflow-pipeline/references/quality-standards.md +12 -186
  41. package/assets/skills-en/superflow-pipeline/references/reviewer-checklist.md +12 -154
  42. package/assets/skills-en/superflow-pipeline/references/sql-risk-review-checklist.md +19 -316
  43. package/assets/skills-en/superflow-pipeline/references/test-execution-template.md +22 -220
  44. package/assets/skills-en/superflow-pipeline/references/test-guide.md +12 -26
  45. package/assets/skills-en/superflow-pipeline/references/traceability-matrix.md +5 -103
  46. package/assets/skills-en/superflow-pipeline/references/validation-integrity.md +12 -130
  47. package/assets/skills-en/superflow-pipeline/scripts/superflow-guard.sh +23 -23
  48. package/assets/skills-en/superflow-pipeline/scripts/superflow-state.sh +1 -1
  49. package/assets/skills-en/superflow-pipeline/scripts/superflow-status.sh +15 -15
  50. package/assets/skills-en/superflow-table-impact-analysis/SKILL.md +3 -3
  51. package/dist/cli/index.js +61 -54
  52. package/dist/cli/index.js.map +1 -1
  53. package/dist/commands/doctor.js +34 -14
  54. package/dist/commands/doctor.js.map +1 -1
  55. package/dist/commands/init.js +75 -27
  56. package/dist/commands/init.js.map +1 -1
  57. package/dist/commands/scan.js +8 -4
  58. package/dist/commands/scan.js.map +1 -1
  59. package/dist/commands/uninstall.js +3 -3
  60. package/dist/commands/uninstall.js.map +1 -1
  61. package/dist/commands/update.js +8 -3
  62. package/dist/commands/update.js.map +1 -1
  63. package/dist/core/cli-help.js +98 -0
  64. package/dist/core/cli-help.js.map +1 -0
  65. package/dist/core/context.js +40 -17
  66. package/dist/core/context.js.map +1 -1
  67. package/dist/core/detect.js +58 -5
  68. package/dist/core/detect.js.map +1 -1
  69. package/dist/core/i18n.js +10 -8
  70. package/dist/core/i18n.js.map +1 -1
  71. package/dist/core/manifest.js +3 -0
  72. package/dist/core/manifest.js.map +1 -1
  73. package/dist/core/scripts.js +8 -0
  74. package/dist/core/scripts.js.map +1 -1
  75. package/dist/core/skills.js +6 -0
  76. package/dist/core/skills.js.map +1 -1
  77. package/dist/core/state.js +12 -1
  78. package/dist/core/state.js.map +1 -1
  79. package/package.json +4 -3
@@ -1,140 +1,26 @@
1
- # 分批实现拆分指南
1
+ # Batch Split Guide
2
2
 
3
- ## 为什么要拆分
3
+ Split implementation by independently verifiable business closure.
4
4
 
5
- 复杂需求一次性塞给单个 agent,会导致:
6
- - 看似功能都写了,但关键链路没有闭环
7
- - SQL、实体、Mapper 字段不一致
8
- - 子功能没有复用既有链路,而是重复实现
9
- - 服务间调用契约不完整,出现 fail-open 风险
10
- - 外部协议逻辑写进业务核心
11
- - 边界不清,测试验收困难
5
+ ## Good Batches
12
6
 
13
- 拆分的核心目标:**把复杂需求切成"可实现、可测试、可评审、可回滚"的小批次**。
7
+ - Baseline and schema preparation.
8
+ - Core master data or model changes.
9
+ - Core business workflow.
10
+ - Async/external integration.
11
+ - End-to-end verification and closeout.
14
12
 
15
- ---
13
+ ## Bad Batches
16
14
 
17
- ## 触发条件:何时必须拆分
15
+ - One batch per file type.
16
+ - One batch for all controllers.
17
+ - One batch for all tests after coding.
18
+ - A batch that cannot be verified without hidden future work.
18
19
 
19
- 当需求满足**任一**条件时,skill 必须自动拆分 implementation prompt:
20
+ ## Required For Each Batch
20
21
 
21
- | # | 条件 | 说明 |
22
- |---|------|------|
23
- | 1 | 涉及 2 个以上仓库 | 跨仓库变更不能在一个 prompt 中完成 |
24
- | 2 | 涉及 SQL + 后端业务 + MQ/定时/异步 | 技术栈跨度大,需要分阶段 |
25
- | 3 | 涉及外部系统接口 | 外部协议适配与业务实现需分离 |
26
- | 4 | 涉及支付、退款、余额、发票、权益等资金或权益链路 | 资金链路必须独立验证 |
27
- | 5 | 涉及历史字段兼容 | 兼容逻辑容易污染新功能 |
28
- | 6 | 涉及用户侧交易、审批、履约或核心业务状态机 | 状态机复杂,需独立闭环验证 |
29
- | 7 | 预计修改文件超过 20 个 | 上下文超载,agent 会遗漏 |
30
- | 8 | 测试用例超过 10 条 | 验证范围过大,难以一次通过 |
31
- | 9 | 涉及 3 个以上业务闭环 | 每个闭环应独立验收 |
32
-
33
- **判断方式**:在 Stage 5(生成 Tasks)完成后,统计任务数量和涉及范围,自动触发判断。
34
-
35
- ---
36
-
37
- ## 功能闭环拆分原则
38
-
39
- ### 什么是"功能闭环"
40
-
41
- 一个功能闭环是指:**从输入到输出,不依赖外部未实现部分,可独立编译、独立启动、独立测试验证的最小业务单元**。
42
-
43
- **好的闭环示例**:
44
- - "主数据 CRUD + 数据库表 + 后台列表接口" — 可自行验证
45
- - "外部事件接入 + MQ 发布" — 可独立测试消息流
46
- - "业务下单/创建接口 + 状态机" — 可端到端验证
47
-
48
- **不好的拆分示例**:
49
- - "前半部分改 SQL,后半部分改 Service" — 无法独立验证
50
- - "改 Controller 但不改对应的 Service" — 接口调不通
51
- - "同时改两个微服务的一半逻辑" — 两边都无法启动
52
-
53
- ### 拆分规则
54
-
55
- **规则 1:按可独立验收的闭环拆分**
56
- - 每个 prompt 只覆盖一个明确闭环
57
- - 闭环内部必须能走完"编译 → 启动 → 调接口 → 查数据库 → 看日志"全流程
58
- - 闭环之间通过"前置依赖"声明关系
59
-
60
- **规则 2:每份 prompt 必须写清楚"不允许做什么"**
61
- - 明确列出禁止修改的文件和方法
62
- - 明确列出禁止引入的依赖
63
- - 明确列出禁止改动的既有接口签名
64
-
65
- **规则 3:禁止跨边界修改**
66
- - 处理外部协议的 prompt,不允许改业务状态机
67
- - 处理业务状态机的 prompt,不允许改外部协议解析
68
- - 处理外部接口适配的 prompt,不允许改内部核心逻辑
69
-
70
- ---
71
-
72
- ## 跨仓库任务拆分规则
73
-
74
- ### 拆分维度
75
-
76
- 按"生产者 / 消费者 / 契约 / 业务归口"拆分:
77
-
78
- | 角色 | 职责 | 示例 |
79
- |------|------|------|
80
- | **生产者** | 负责数据采集、协议解析、事件发布 | connector-service:解析外部事件,发布 MQ |
81
- | **消费者** | 负责消费事件、固化业务状态 | domain-api:消费 MQ,更新业务状态 |
82
- | **契约层** | 负责外部协议适配、内部 HTTP 调用 | integration-service:适配外部协议,同步调用 domain-api |
83
- | **业务归口** | 负责核心业务逻辑、状态机、资金/权益 | domain-api:业务记录、权益、退款等核心逻辑 |
84
-
85
- ### 每个仓库的 prompt 必须声明
86
-
87
- 1. **本仓库职责边界**:我负责什么,不负责什么
88
- 2. **上游依赖**:我依赖哪个仓库的什么接口/消息
89
- 3. **下游契约**:我向谁提供什么接口/消息
90
- 4. **交互契约详情**:HTTP 路径、方法、请求/响应字段、MQ topic、消息格式
91
-
92
- **禁止**:靠实现 agent 自行猜测与其他仓库的交互方式。
93
-
94
- ### 跨仓库示例
95
-
96
- **通用业务平台的跨仓库拆分**:
97
-
98
- ```
99
- Repository: connector-service
100
- Role: 生产者
101
- Scope: 外部协议解析、事件格式化、MQ 发布
102
- Downstream: 向 topic "domain.business.event" 发布 BusinessEvent
103
- Forbidden: 不处理业务状态、不操作数据库、不调用 domain-api
104
-
105
- Repository: domain-api
106
- Role: 消费者 + 业务归口
107
- Scope: 消费 BusinessEvent、业务状态机、权益/退款链路
108
- Upstream: 从 topic "domain.business.event" 消费
109
- Downstream: 向 integration-service 提供 HTTP /api/v1/business-records
110
- Forbidden: 不处理外部协议、不直接对接外部平台
111
-
112
- Repository: integration-service
113
- Role: 契约层
114
- Scope: 外部协议适配、鉴权、转换、同步调用 domain-api
115
- Upstream: 调用 domain-api /api/v1/business-records
116
- Forbidden: 不直接操作数据库、不处理外部协议底层细节、不写核心业务状态机
117
- ```
118
-
119
- ---
120
-
121
- ## 默认批次顺序
122
-
123
- 对复杂需求,默认推荐以下顺序。每批必须等前一批验收通过后才能开始。
124
-
125
- ```
126
- P0 基线 → P1 核心主数据 → P2 交易链路 → P3 异步/外部系统 → P4 联调验收
127
- ```
128
-
129
- | 批次 | 内容 | 验收标准 |
130
- |------|------|---------|
131
- | **P0** | 清理工作树、确认仓库/分支、校验 SQL/实体/Mapper/DTO 字段一致、最小编译验证 | git status 干净、编译通过、字段一致性校验通过 |
132
- | **P1** | 数据库基线(SQL)、实体/Mapper/DTO、枚举常量、核心主数据接口 | 表结构与实体一致、基础 CRUD 可调用 |
133
- | **P2** | 交易链路核心(下单、状态机、优惠命中、快照、预充值/退款) | 端到端交易流程可验证 |
134
- | **P3** | 异步/外部系统(事件接入、MQ 消费、外部集成适配、权益接口) | 消息流/外部调用可验证 |
135
- | **P4** | 联调验收、全链路回归、批量导入、后台列表、边界场景 | 全部 tests.md 用例通过 |
136
-
137
- **注意**:
138
- - P0 是**强制前置**,复杂需求必须先过 P0
139
- - 实际批次数量和命名根据需求调整,不是固定 5 批
140
- - 每批的验收标准必须可独立验证,不依赖后续批次
22
+ - Clear input and output.
23
+ - Allowed and forbidden files.
24
+ - Dependencies on previous batches.
25
+ - Tests and real-entry evidence.
26
+ - Documentation update responsibility.
@@ -1,123 +1,50 @@
1
- # 文档格式模板
2
-
3
- ## Proposal 格式
4
-
5
- ```markdown
6
- # Proposal: <功能名称>
7
-
8
- ## Motivation
9
- 为什么需要这个功能
10
-
11
- ## Proposed Solution
12
- 提议的解决方案
13
-
14
- ## Alternatives Considered
15
- 考虑的替代方案
16
- ```
17
-
18
- ## Spec 格式
19
-
20
- ```markdown
21
- # Spec: <功能名称>
22
-
23
- ## ADDED Requirements
24
- ### Requirement: <需求描述>
25
- #### Scenario: <场景名称>
26
- - **WHEN** <前置条件>
27
- - **THEN** <预期结果>
28
- - **AND** <附加条件>
29
- ```
30
-
31
- ## Design 格式
32
-
33
- ```markdown
34
- # Design: <功能名称>
35
-
36
- ## Overview
37
- 设计概述
38
-
39
- ## Source Code Analysis
40
- 源码分析(引用具体文件、类、方法、行号)
41
-
42
- ## Change Matrix
43
- | Requirement | 修改文件 | 修改方法 | 变更类型 |
44
- |---|---|---|---|
45
-
46
- ## Detailed Design
47
- 详细设计
48
-
49
- ## API Design(如有)
50
- 接口设计
51
-
52
- ## Migration Plan
53
- 迁移计划(如有)
54
-
55
- ## Risk Assessment
56
- 风险评估(并发、性能、兼容性)
57
- ```
58
-
59
- ## Tasks 格式
60
-
61
- ```markdown
62
- # Tasks: <功能名称>
63
-
64
- ## 需求级汇总 SQL 文件
65
- - 路径:`openspec/changes/{change-id}/sql/{汇总SQL文件名}`(如 `sql/{version}.sql`)
66
- - 所有新增表、改表、索引、默认值、初始化数据脚本统一追加到该文件
67
- - 禁止各任务各自新建独立 SQL 文件
68
- - 不需要 SQL 的任务也需写明"本任务不新增 SQL,但开始前仍需核查依赖表结构是否已满足设计"
69
-
70
- ## 1. Requirement A 实现
71
- - [ ] 1.1 修改 `FilePath.java`,在 `methodName()` 中增加 X 逻辑
72
- - 源码锚点:`FilePath.java:line-start-line-end`
73
- - 验收标准:调用 Y 接口后,Z 状态变为 W
74
- - 依赖的汇总 SQL:`openspec/changes/{change-id}/sql/{文件名}` 第 XX-XX 行(或"本任务不新增 SQL,但开始前仍需核查依赖表结构")
75
- - blocked by: 无
76
- - [ ] 1.2 修改 `FilePath2.java`,调整 `methodName2()` 返回值
77
- - 源码锚点:`FilePath2.java:line-start-line-end`
78
- - 验收标准:单元测试通过
79
- - 依赖的汇总 SQL:`openspec/changes/{change-id}/sql/{文件名}` 第 XX-XX 行
80
- - blocked by: 1.1
81
- ```
82
-
83
- ## Tests 格式
84
-
85
- ```markdown
86
- # Tests: <功能名称>
87
-
88
- ## 0. 应用运行配置
89
- - **配置文件**: `src/main/resources/application.yml`
90
- - **端口号**: {port}
91
- - **上下文路径**: {context-path}
92
- - **基础 URL**: `http://localhost:{port}{context-path}`
93
- - **启动命令**: `mvn spring-boot:run -Dspring-boot.run.profiles={profile}`
94
-
95
- ## 0.1 数据库结构核查(每个批次必须执行)
96
- - **核查目标**: 确认开发环境数据库表结构与设计文档一致
97
- - **汇总 SQL 文件**: `openspec/changes/{change-id}/sql/{文件名}`
98
- - **执行步骤**:
99
- 1. 连接开发环境数据库
100
- 2. 对本需求涉及的每张表执行 `SHOW CREATE TABLE {表名}`,对照 design.md / database-contract.md 确认字段、类型、默认值、索引
101
- 3. 对需要初始化数据的表执行 `SELECT COUNT(*) FROM {表名} WHERE {条件}`,确认初始化数据已存在
102
- 4. 如果发现缺失,从汇总 SQL 文件中取对应脚本执行
103
- 5. 执行后再次查询确认
104
- - **断言标准**:
105
- - 所有设计要求的表、字段、索引、默认值在实际数据库中存在
106
- - 所有初始化数据已插入
107
- - **自动化**: [自动化]
108
-
109
- ## N. Requirement N 测试
110
-
111
- ### Scenario: <场景描述>
112
- - **前置条件**: 数据库状态 / 缓存状态 / 环境配置
113
- - **接口 URL**: `http://localhost:{port}{context-path}{接口路径}`
114
- - **请求参数**: JSON / Query / Path / Form
115
- - **执行步骤**: 1. 启动应用 2. 调用接口 3. 验证结果
116
- - **断言标准**:
117
- - 接口返回值:`code == 0`,`message == "xxx"`
118
- - 数据库状态:`SELECT ... FROM ... WHERE ...` 期望值为 N
119
- - 日志输出:日志中包含 `"xxx"`
120
- - 缓存状态:`CacheManager.get()` 返回期望值
121
- - **自动化**: [自动化] / [需手工]
122
- - **关联**: spec.md Requirement N → Scenario X
123
- ```
1
+ # Document Templates
2
+
3
+ ## proposal.md
4
+
5
+ - Problem
6
+ - Goals
7
+ - Non-goals
8
+ - Scope
9
+ - Risks
10
+ - Open questions
11
+
12
+ ## api.md
13
+
14
+ - Endpoint and message contracts
15
+ - Field mapping
16
+ - Compatibility
17
+ - Examples
18
+ - Test commands
19
+
20
+ ## design.md
21
+
22
+ - Source-of-truth contracts
23
+ - Architecture boundary
24
+ - Data model
25
+ - Field semantics
26
+ - Write/read loop
27
+ - No-fallback decisions
28
+ - Superpowers technical design handoff
29
+
30
+ ## tests.md
31
+
32
+ - Case ID
33
+ - Level L0-L4
34
+ - Preconditions
35
+ - RED expectation
36
+ - GREEN expectation
37
+ - Command
38
+ - Response, DB, and log assertions
39
+ - Evidence location in test-report.md
40
+
41
+ ## test-report.md
42
+
43
+ - Environment
44
+ - Commands
45
+ - RED evidence
46
+ - GREEN evidence
47
+ - Real-entry evidence
48
+ - DB/log evidence
49
+ - Hook output
50
+ - Blocked or skipped cases with reasons
@@ -1,124 +1,17 @@
1
- # 功能点串行门禁工作流
1
+ # Feature-Gated Requirement Workflow
2
2
 
3
- 复杂 PRD、飞书文档、原型图或口头大需求必须使用本工作流。目标是把需求理解
4
- 外部化、逐功能点确认,防止上下文丢失、图片归属错误、过度设计字段和缺接口。
3
+ Use this for long PRDs, online docs, screenshots, prototypes, or mixed feature
4
+ requests. Process one feature at a time.
5
5
 
6
- ## 1. 硬门禁
6
+ ## Artifacts
7
7
 
8
- - 必须按产品文档顺序一次只处理一个功能点。
9
- - 当前功能点未由编程人员明确确认前,不得进入下一个功能点的澄清、接口草案、
10
- `api.md`、`spec.md`、`design.md`、`tasks.md`、`tests.md` 或 prompt。
11
- - 当前功能点未冻结前,不得生成全局 P0-Pn 实现 prompt。
12
- - 不得把多个功能点的问题混在同一轮澄清里。
13
- - 不得依赖对话上下文记忆保存未落盘信息。
14
- - 页面、原型和产品文档都没有的字段,不得进入 API 必填项;若后端需要,必须
15
- 标记为后端默认、后端推导或待确认。
16
- - 后续联调发现的问题必须作为 CR/Px 追加任务新增 prompt,不得污染已执行 prompt。
8
+ - source-ingestion.md: source list, section range, screenshots, and read status.
9
+ - feature-inventory.md: feature list, priority, owner, and dependency.
10
+ - feature-gates.md: per-feature status: pending, clarifying, frozen, blocked.
11
+ - ui-contract.md: screen field to API/DTO/DB/test mapping.
12
+ - gap-analysis.md: unknowns, contradictions, and owner decisions.
13
+ - spec-freeze-review.md: final frozen scope and excluded items.
17
14
 
18
- ## 2. 每个功能点的固定步骤
15
+ ## Gate
19
16
 
20
- 1. 读取当前功能点的文字需求、相邻图片和相关附件。
21
- 2. 输出 AI 理解,包含业务目标、用户动作、页面入口、按钮动作和列表列。
22
- 3. 标注当前功能点对应的 PRD 段落、图片、附件或口头来源。
23
- 4. 输出页面字段契约:页面字段、是否可见、控件类型、下拉来源、API 入参、
24
- API 出参、DTO/VO、DB 字段、默认/推导策略。
25
- 5. 输出差距分析:
26
- - 页面有、后端无:缺接口或缺字段。
27
- - 后端有、页面无:疑似过度设计或隐藏必填。
28
- - 文档有、页面无:待确认是否废弃。
29
- - 页面有、文档无:原型隐含需求,必须补 spec。
30
- 6. 只针对当前功能点提出澄清问题。
31
- 7. 等待编程人员明确确认或修正理解范围。
32
- 8. 输出当前功能点粗接口草案,只列路径、动作、核心入参、核心出参。
33
- 9. 等待编程人员确认粗接口草案。
34
- 10. 输出正式 `api.md` 章节,精确到字段名、类型、必填、默认值、枚举、错误码、
35
- 示例请求响应和 curl。
36
- 11. 基于已确认的 `api.md` 生成当前功能点的 `spec.md`、`design.md`、`tasks.md`、
37
- `tests.md` 和实现 prompt。
38
- 12. 在 `feature-gates.md` 标记当前功能点 `已冻结` 后,才允许进入下一个功能点。
39
-
40
- ## 3. 必备落盘文件
41
-
42
- 复杂需求必须在 change 目录下维护以下文件。没有这些文件时不得生成实现 prompt。
43
-
44
- ### `source-ingestion.md`
45
-
46
- 记录原始资料摄取:
47
-
48
- | 顺序 | 资料 | 来源 | 已读取范围 | 图片/附件 | 结果 |
49
- |---|---|---|---|---|---|
50
- | 1 | PRD | 飞书/本地文件 | 第 1 节 | 图 1/2 | 已读取 |
51
-
52
- ### `feature-gates.md`
53
-
54
- 记录功能点串行确认状态:
55
-
56
- | 顺序 | 功能点 | 来源段落 | 来源图片 | 理解确认 | 接口草案确认 | SDD 已生成 | 状态 |
57
- |---|---|---|---|---|---|---|---|
58
- | 1 | 主数据新增/编辑 | PRD 2.1 | 图 1/2 | 已确认 | 已确认 | 已生成 | 已冻结 |
59
- | 2 | 业务开通/创建流程 | PRD 2.2 | 图 3 | 待确认 | 未开始 | 未生成 | 阻塞 |
60
-
61
- 状态只能使用:`未开始`、`理解待确认`、`接口草案待确认`、`SDD生成中`、
62
- `已冻结`、`阻塞`。
63
-
64
- ### `feature-inventory.md`
65
-
66
- 记录需求库存:
67
-
68
- | 功能点 | 来源文字 | 来源图片 | 页面/入口 | 用户动作 | 后端接口 | 数据表 | spec | task |
69
- |---|---|---|---|---|---|---|---|---|
70
-
71
- ### `ui-contract.md`
72
-
73
- 记录原型字段契约:
74
-
75
- | 功能点 | 页面字段 | 是否可见 | 控件类型 | API 入参 | API 出参 | DTO/VO | DB 字段 | 策略 |
76
- |---|---|---|---|---|---|---|---|---|
77
-
78
- 策略填写:前端提交、后端默认、后端推导、废弃、待确认。
79
-
80
- ### `gap-analysis.md`
81
-
82
- 记录页面、文档、源码差距:
83
-
84
- | 功能点 | 类型 | 差距 | 风险 | 处理方式 | 状态 |
85
- |---|---|---|---|---|---|
86
- | 业务开通/创建流程 | 后端有页面无 | paymentMethod 必填 | 接口 500 | 后端默认 | 已确认 |
87
-
88
- ### `spec-freeze-review.md`
89
-
90
- 每个功能点进入编码前必须有冻结卡:
91
-
92
- ```markdown
93
- ## 功能点:____
94
-
95
- - 来源:____
96
- - 图片:____
97
- - 页面字段:____
98
- - 新增接口:____
99
- - 修改接口:____
100
- - 后端默认字段:____
101
- - 后端推导字段:____
102
- - 明确不做:____
103
- - 待确认:无 / ____
104
- - 冻结结论:已冻结,可生成 prompt / 不通过
105
- ```
106
-
107
- ## 4. API 先行规则
108
-
109
- - 涉及前后端联调时,正式 `api.md` 必须在编码 prompt 之前冻结。
110
- - `design.md` 必须引用已冻结的 `api.md` 设计业务逻辑,不得另起字段口径。
111
- - `tasks.md`、`tests.md` 和 prompt 只能使用已冻结 `api.md` 中的接口和字段。
112
- - 若实现时发现 `api.md` 不可行,必须停止,更新冻结卡并让编程人员确认后再继续。
113
-
114
- ## 5. 质量门失败处理
115
-
116
- 任一门禁失败时:
117
-
118
- 1. 停止后续功能点处理。
119
- 2. 输出失败项和证据。
120
- 3. 让编程人员确认修正方案。
121
- 4. 修正当前功能点文档。
122
- 5. 重新执行当前功能点门禁。
123
-
124
- 不得为了推进速度而跳过失败门禁。
17
+ Do not generate full OpenSpec docs until the target feature is frozen.