@xulthekl/team-flow 0.42.0 → 0.43.1
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.
- package/.claude/always/phase-guard.md +1 -1
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/.cursor-plugin/marketplace.json +1 -1
- package/.cursor-plugin/plugin.json +1 -1
- package/.github/plugin/marketplace.json +2 -2
- package/.zcode/skills/workflow-start/SKILL.md +2 -2
- package/AGENTS.md +3 -3
- package/CHANGELOG.md +23 -1
- package/GEMINI.md +1 -1
- package/HANDOFF.md +1 -1
- package/INSTALL.md +1 -1
- package/README.md +3 -3
- package/agents/architecture-design.md +2 -2
- package/agents/architecture-reviewer.md +3 -3
- package/agents/change-split-auditor.md +3 -3
- package/agents/need-explorer.md +1 -1
- package/agents/prd-completeness-reviewer.md +2 -2
- package/agents/prototype-env-scout.md +2 -2
- package/agents/prototype-reviewer.md +2 -2
- package/agents/spec-writer.md +1 -1
- package/docs/README_en.md +1 -1
- package/gemini-extension.json +1 -1
- package/hooks/session-start +3 -3
- package/llms.txt +1 -1
- package/package.json +1 -1
- package/plugin.json +1 -1
- package/scripts/lib/cmd-deisolate.mjs +68 -4
- package/scripts/team-flow.mjs +1 -1
- package/skills/architecture-design/SKILL.md +2 -2
- package/skills/architecture-design/references/s3.5-product-architecture.md +3 -3
- package/skills/architecture-design/templates/change-brief.md +3 -3
- package/skills/build-executor/SKILL.md +24 -4
- package/skills/build-executor/implementer-prompt.md +1 -0
- package/skills/ce-brainstorm/SKILL.md +50 -4
- package/skills/ce-brainstorm/references/brainstorm-sections.md +3 -3
- package/skills/ce-brainstorm/references/business-processes.md +42 -9
- package/skills/ce-brainstorm/references/handoff.md +1 -1
- package/skills/ce-brainstorm/references/phase0-routing.md +11 -10
- package/skills/ce-brainstorm/references/prd-mapping.md +3 -3
- package/skills/ce-brainstorm/references/prototype-loop.md +2 -2
- package/skills/ce-compound/references/three-tier-index.md +1 -1
- package/skills/ce-plan/SKILL.md +2 -2
- package/skills/ce-plan/references/core-principles.md +1 -1
- package/skills/ce-plan/references/intake-routing.md +5 -5
- package/skills/ce-plan/references/plan-structure.md +2 -2
- package/skills/ce-plan/references/planning-modes.md +2 -2
- package/skills/ce-plan/references/review-and-write.md +3 -3
- package/skills/code-reviewer/SKILL.md +9 -0
- package/skills/code-reviewer/code-reviewer-prompt.md +7 -0
- package/skills/need-explorer/SKILL.md +1 -1
- package/skills/prototype/references/orchestration-flow.md +2 -2
- package/skills/release-archivist/SKILL.md +21 -2
- package/skills/release-archivist/references/worktree-merge.md +69 -0
- package/skills/session-handoff/SKILL.md +1 -1
- package/skills/session-handoff/references/handoff-template.md +2 -2
- package/skills/spec-writer/SKILL.md +6 -3
- package/skills/workflow-bootstrap/SKILL.md +2 -2
- package/skills/workflow-bootstrap/references/b1-reconnaissance.md +1 -1
- package/skills/workflow-bootstrap/references/b5-path-decision.md +1 -1
- package/skills/workflow-bootstrap/templates/claude-md-team-flow.md +2 -2
- package/skills/workflow-orchestrator/SKILL.md +3 -3
- package/skills/workflow-orchestrator/references/feedback-loops.md +1 -1
- package/skills/workflow-orchestrator/references/s1-path-router.md +1 -1
- package/skills/workflow-orchestrator/references/s2-prd-prototype-loop.md +6 -6
- package/skills/workflow-orchestrator/references/s3-plan-pipeline.md +3 -3
- package/skills/workflow-orchestrator/references/s4-split-validate.md +5 -5
- package/skills/workflow-orchestrator/references/state-model.md +4 -4
- package/skills/workflow-start/SKILL.md +2 -2
- package/skills/workflow-start/references/routing-rules.md +3 -3
- package/templates/change-brief.md +3 -3
- package/templates/plan.md +1 -1
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
{
|
|
10
10
|
"name": "team-flow",
|
|
11
11
|
"description": "8-state spec workflow + compound global compounding + architecture-design (4A/DDD) + local HTML prototype + product-level orchestration + bootstrap + e2e + session handoff + workflow feedback. 24 skills + 15 agents with embedded TDD, SDD, code review, debugging, delta spec sync, and design-system-driven prototyping.",
|
|
12
|
-
"version": "0.
|
|
12
|
+
"version": "0.43.1",
|
|
13
13
|
"source": "./",
|
|
14
14
|
"author": {
|
|
15
15
|
"name": "LT",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "team-flow",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.43.1",
|
|
4
4
|
"description": "Unified workflow plugin: team-flow (spec-driven dev: TDD/SDD/code-review/debugging) + compound-engineering core subset (brainstorm/plan/compound/strategy/ideate/proof, global compounding) + architecture-design (4A+DDD incremental design & global compounding) + prototype (local HTML prototype, zero external deps) + e2e (Playwright E2E, AC-driven) + workflow-orchestrator (product-level workflow orchestration) + workflow-bootstrap (existing project onboarding) + session-handoff (context transfer) + workflow-feedback (issue tracking). 24 skills + 15 agents, one install.",
|
|
5
5
|
"source": "./",
|
|
6
6
|
"author": {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "team-flow",
|
|
3
3
|
"displayName": "team-flow",
|
|
4
4
|
"description": "Unified workflow plugin: team-flow (spec-driven dev: TDD/SDD/code-review/debugging) + compound-engineering core subset (brainstorm/plan/compound/strategy/ideate/proof, global compounding) + architecture-design (4A+DDD incremental design & global compounding) + prototype (local HTML prototype, zero external deps) + e2e (Playwright E2E, AC-driven) + workflow-orchestrator (product-level workflow orchestration) + workflow-bootstrap (existing project onboarding) + session-handoff (context transfer) + workflow-feedback (issue tracking). 24 skills + 15 agents, one install.",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.43.1",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "LT",
|
|
8
8
|
"url": "https://github.com/LT"
|
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
},
|
|
7
7
|
"metadata": {
|
|
8
8
|
"description": "Unified workflow plugins and skills for AI coding agents (team-flow: team-flow + compound + architecture-design + prototype).",
|
|
9
|
-
"version": "0.
|
|
9
|
+
"version": "0.43.1"
|
|
10
10
|
},
|
|
11
11
|
"plugins": [
|
|
12
12
|
{
|
|
13
13
|
"name": "team-flow",
|
|
14
14
|
"description": "Unified workflow with planning artifacts, execution contracts, TDD, review gates, systematic debugging, delta spec sync, architecture-design, and local HTML prototyping.",
|
|
15
|
-
"version": "0.
|
|
15
|
+
"version": "0.43.1",
|
|
16
16
|
"source": ".",
|
|
17
17
|
"author": {
|
|
18
18
|
"name": "LT",
|
|
@@ -30,7 +30,7 @@ Run DP-0 when: change folder doesn't exist, planning artifacts missing/empty, or
|
|
|
30
30
|
|
|
31
31
|
### Upstream Inheritance (v0.9)
|
|
32
32
|
|
|
33
|
-
若 `change-brief.md` 存在且 `upstream_source == orchestrator`(本 change 由 orchestrator S4 分发),**继承** brief 的 scope/约束/AC 为默认值,DP-0 从"从零问"改为"一次确认继承或修正",**不**重新问"你想做什么"。否则(手动新建 / hotfix / 单 change 快速通道 / 存量 change 无 brief)照常 DP-0。**主信号 = brief 文件存在**(非 yaml 字段——可天然排除无 brief 的快速通道,且对存量手动 change 零误伤);双源冲突以 `
|
|
33
|
+
若 `change-brief.md` 存在且 `upstream_source == orchestrator`(本 change 由 orchestrator S4 分发),**继承** brief 的 scope/约束/AC 为默认值,DP-0 从"从零问"改为"一次确认继承或修正",**不**重新问"你想做什么"。否则(手动新建 / hotfix / 单 change 快速通道 / 存量 change 无 brief)照常 DP-0。**主信号 = brief 文件存在**(非 yaml 字段——可天然排除无 brief 的快速通道,且对存量手动 change 零误伤);双源冲突以 `requirement/vN/plan.md` 为准并触发 Brief drift(见「Staleness Detection」)。完整判定伪代码与主信号理由见 `references/routing-rules.md`「DP-0」。
|
|
34
34
|
|
|
35
35
|
Ask (manual path): change name + one-sentence intent, known constraints, related optimizations (include or stay focused?), communication preference (ask per decision or draft for review).
|
|
36
36
|
|
|
@@ -119,7 +119,7 @@ Use content inspection, not timestamps.
|
|
|
119
119
|
|
|
120
120
|
**Stale tasks**: requirement in specs has no corresponding task → stale tasks.
|
|
121
121
|
|
|
122
|
-
**Brief drift (advisory, v0.9, 不阻断)**: change-brief.md 是上游输入(非 team-flow 产物),**不**混入上述三条产物互查、**不**进入 `artifacts_hash`。当 brief 的 `plan_hash` 与当前 `
|
|
122
|
+
**Brief drift (advisory, v0.9, 不阻断)**: change-brief.md 是上游输入(非 team-flow 产物),**不**混入上述三条产物互查、**不**进入 `artifacts_hash`。当 brief 的 `plan_hash` 与当前 `requirement/vN/plan.md` 不一致,或 brief AC 列表与 PRD 功能清单明显出入 → 提示"产品层已变更,brief 可能过期,建议回 orchestrator 重新分发(S4→S3 环路)",**不**触发产物重审。
|
|
123
123
|
|
|
124
124
|
## Guardrails
|
|
125
125
|
|
package/AGENTS.md
CHANGED
|
@@ -93,7 +93,7 @@ spec 驱动开发过程。8 态变更机:`exploring → specifying → bridgin
|
|
|
93
93
|
├── requirements/<req-id>/orchestrator.yaml # 每需求产品级编排状态
|
|
94
94
|
├── handoffs/ # 会话交接文档(v0.16.0 新增,session-handoff 产出,.gitignore)
|
|
95
95
|
└── feedback/ # 工作流问题记录(v0.16.0 新增,workflow-feedback 产出,git 跟踪)
|
|
96
|
-
|
|
96
|
+
requirement/ PRD + 台账(有版本 v1→v2→v3,git 分支隔离)
|
|
97
97
|
└── vN/
|
|
98
98
|
├── prd.md # 业务要件(ce-brainstorm 产出)
|
|
99
99
|
├── plan.md # 实施方案(ce-plan 产出,产品级策略)
|
|
@@ -105,7 +105,7 @@ docs/
|
|
|
105
105
|
├── architecture/ 全局架构三层(v0.36.0):L1 当前态(ARCHITECTURE.md marker 区 / PHYSICAL-MODEL.md / DATABASE.md / API-INDEX.md / INDEX.md / domains/<bc>.md / diagrams/ / schema-baseline.sql / baseline.md)+ L2 changelog/ + L3 iterations/vN/architecture.md(产品级快照,archived 退役)
|
|
106
106
|
└── solutions/ 复利经验库(v0.5 新增,三层索引)
|
|
107
107
|
├── INDEX.md # L1 轻量索引(≤150行,每条一行摘要+标签)
|
|
108
|
-
├──
|
|
108
|
+
├── requirement/ plan/ architecture/ prototype/ spec/ build/ review/ cross-phase/ # L2 分阶段目录(v0.36.0 加 architecture)
|
|
109
109
|
└── <file>.md # L3 经验文件(YAML frontmatter: phase/domain/type/severity)
|
|
110
110
|
changes/<name>/ 变更脚手架(S4 创建):.team-flow.yaml(变更级状态文件)/ change-brief.md(产品级交接物,含 upstream_arch_ref)/ architecture/(变更级三件套 + sql/)
|
|
111
111
|
specs/<cap>/ 每变更设计/任务/契约:spec.md / design.md / tasks.md / execution-contract.md / learnings.md(v0.9 起 architecture/ 三件套已迁至 changes/<name>/architecture/)
|
|
@@ -244,7 +244,7 @@ STRATEGY.md CONCEPTS.md 产品策略(BA) / 领域词汇
|
|
|
244
244
|
```
|
|
245
245
|
docs/solutions/
|
|
246
246
|
├── INDEX.md # L1:轻量索引(≤150行,每条一行摘要+标签,按 severity 降序)
|
|
247
|
-
├──
|
|
247
|
+
├── requirement/ plan/ prototype/ spec/ build/ review/ cross-phase/ # L2:分阶段目录
|
|
248
248
|
└── <date>-<summary>.md # L3:经验文件(YAML frontmatter: phase/domain/type/severity/date/source)
|
|
249
249
|
```
|
|
250
250
|
|
package/CHANGELOG.md
CHANGED
|
@@ -6,7 +6,29 @@ The format loosely follows Keep a Changelog.
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
-
### Added(
|
|
9
|
+
### Added(closing 代码落地 + 文件存在性双层防护 + 测试执行可信度 + spec 路径契约,v0.43.1)
|
|
10
|
+
|
|
11
|
+
- **`tf deisolate --merge` 健壮性增强**:dirty 阻断(未提交改动默认不合并,`--force` 跳过)/ ahead==0 短路(幂等)/ 冲突报告(unmerged 文件清单 + 非零 exit)
|
|
12
|
+
- **release-archivist Step 5c Code Landing**:closing 增加代码落地检查(检测 worktree → AskUserQuestion 合并时机 → 主分支编译验证 + 依赖链顺序提示 + 冲突处理);v0.35.0 Worktree Deisolation 段改为引用 Step 5c(MERGED/PENDING/N/A)
|
|
13
|
+
- **references/worktree-merge.md(新建)**:worktree 合并规范(merge commit 不 rebase、多仓库 Case A、依赖链顺序、冲突人工处理、合并后编译验证)
|
|
14
|
+
- **build-executor 任务完成前文件存在性验证**:Create 文件必须存在非空、Modify 必须有 diff,标记完成与文件存在绑定
|
|
15
|
+
- **code-reviewer Step 1b File Existence Check**:tasks.md Create/Modify 清单与 git diff 求交集,缺失标 Critical(missing-file/no-change)
|
|
16
|
+
- **build-executor Wave Verify**:`tf test record` 解析实际执行数量(分母排除 test_tier=e2e),<70% 警告 + 调查
|
|
17
|
+
- **build-executor Test Infrastructure Check**:首 wave 前检测 surefire/JUnit @Nested 兼容性,沉淀 conventions
|
|
18
|
+
- **spec-writer specs/ 路径契约**:`specs/<capability>/spec.md` 子目录结构(禁止 flat 文件)
|
|
19
|
+
|
|
20
|
+
## [0.43.0] - 2026-08-07
|
|
21
|
+
|
|
22
|
+
### Added(ce-brainstorm 阶段断点控制 + L1-L3 用户定义 + prd/ → requirement/ 路径收敛,v0.43.0)
|
|
23
|
+
|
|
24
|
+
- **阶段断点控制(FB1)**:新增 Execution Architecture 节,4 个显式断点(BP-1 场景后 / BP-2 流程后 / BP-3 方案后 / BP-4 综合后),每个断点提供继续/暂停/回退三选项;主会话负责规划决策,子代理负责执行性产出(PRD 撰写、流程图、活动表)
|
|
25
|
+
- **Phase 1.6 L1-L3 用户定义(FB3)**:Step 0 询问用户 L1-L3 流程层级规划(AI 不自行猜测),AI 聚焦 L4 子流程细化;两阶段确认(L1-L3 框架 → L4 细节逐 L3 确认)
|
|
26
|
+
- **prd/ → requirement/ 路径收敛(FB2)**:新项目不再创建 `prd/` 目录,统一使用 `requirement/vN/`;PRD 输出路径改为 `requirement/vN/prd.md`;50+ 文件跨 skill/agent/template 路径更新;存量 `prd/` 保留 legacy fallback 读取兼容
|
|
27
|
+
- **Phase 1.6 business-processes.md 重构**:新增 Step 0(L1-L3 用户定义)+ Step 1 重命名(聚焦 L4 推导)+ Step 5 两阶段确认
|
|
28
|
+
|
|
29
|
+
## [0.42.0] - 2026-08-07
|
|
30
|
+
|
|
31
|
+
### Added(workflow-bootstrap B5 降级路径设计 + session-start 语言要求)
|
|
10
32
|
|
|
11
33
|
- **B5 路径决策重构(降级路径设计)**:4 平权选项 → 两组降级选项——第一组确保产物可信(A 逆向重建按复杂度分级推荐(≥5 模块或 ≥10 源文件强推)/ B 交叉验证主代理机械比对产出 cross-check-report.md / C 真实性核对用户确认门),第二组直接进入流程(D-F 原 A-C 平移)
|
|
12
34
|
- **references/b5-path-decision.md(新建)**:B5 详细流程(分组展示模板、A 复杂度判据、B 比对清单 + 维度覆盖说明(architecture 显式排除理由)、C 两种模式核对协议(跟随 B / 独立抽查))
|
package/GEMINI.md
CHANGED
|
@@ -8,7 +8,7 @@ The workflow is self-contained and does not require OpenSpec or Superpowers at r
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
<!-- team-flow-phase-guard-start -->
|
|
11
|
-
# team-flow v0.
|
|
11
|
+
# team-flow v0.43.1 | 阶段: {{state}} | 工作流: {{workflow}}
|
|
12
12
|
当前阶段允许的操作由 workflow-start 路由规则定义。
|
|
13
13
|
禁止跨越 DP gate 进入下一阶段。变更范围以 execution-contract.md 的 Intent Lock 为准。
|
|
14
14
|
<!-- team-flow-phase-guard-end -->
|
package/HANDOFF.md
CHANGED
|
@@ -161,7 +161,7 @@ npm run check-versions # 版本一致性守卫(当前应 ✅ 全 0.22.4)
|
|
|
161
161
|
|
|
162
162
|
### 5.1 全局产物结构
|
|
163
163
|
```
|
|
164
|
-
|
|
164
|
+
requirement/ PRD + 台账(有版本 v1→v2→v3,git 分支隔离)
|
|
165
165
|
prototype/ 全局原型系统(UI 契约真相源)
|
|
166
166
|
docs/architecture/ 全局架构锚点
|
|
167
167
|
specs/<cap>/ 每变更设计/任务/契约
|
package/INSTALL.md
CHANGED
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# team-flow
|
|
2
2
|
|
|
3
|
-
> 当前版本:`v0.
|
|
3
|
+
> 当前版本:`v0.43.1`
|
|
4
4
|
|
|
5
5
|
> 统一插件:**team-flow**(spec 驱动开发)+ **compound-engineering 核心子集**(全局复利)+ **architecture-design**(4A+DDD 增量设计)+ **prototype**(本地 HTML 原型)+ **e2e**(AC 驱动 E2E)+ **workflow-orchestrator**(产品级编排)+ **workflow-bootstrap**(既有项目接入)。一次安装,七套能力协同。
|
|
6
6
|
|
|
@@ -56,12 +56,12 @@ git clone <your-repo> && <cli> plugin install ./team-flow
|
|
|
56
56
|
cp -r <plugin>/skills/prototype/references/prototype-scaffold/ <project>/prototype/
|
|
57
57
|
```
|
|
58
58
|
|
|
59
|
-
随后按 `prototype/design-system.md` 填 token;`prototype/` 与 `
|
|
59
|
+
随后按 `prototype/design-system.md` 填 token;`prototype/` 与 `requirement/` 同级、git 分支隔离版本。
|
|
60
60
|
|
|
61
61
|
## 全局产物结构
|
|
62
62
|
|
|
63
63
|
```
|
|
64
|
-
|
|
64
|
+
requirement/ PRD + 台账 + 实施方案 + 原型审查记录(v1→v2,分支隔离)
|
|
65
65
|
prototype/ 全局原型(UI 契约真相源)
|
|
66
66
|
docs/
|
|
67
67
|
├── architecture/ 全局架构三层(v0.36.0):ARCHITECTURE.md / PHYSICAL-MODEL.md / DATABASE.md / API-INDEX.md / INDEX.md / domains/<bc>.md / iterations/vN/(产品级快照)/ baseline.md
|
|
@@ -36,7 +36,7 @@ You are an independent architecture designer. You read the change brief, plan, e
|
|
|
36
36
|
|-----------|-------------|
|
|
37
37
|
| `mode` | `change`(默认,workflow-start 五项检查)\| `product`(v0.36.0,S3.5 产品级架构设计) |
|
|
38
38
|
| `change_brief_path` | change-brief.md 路径(scope / AC / 技术方向;change 模式必填) |
|
|
39
|
-
| `plan_path` |
|
|
39
|
+
| `plan_path` | requirement/vN/plan.md 路径(高阶技术设计段) |
|
|
40
40
|
| `snapshot_path` | docs/architecture/iterations/vN/architecture.md(产品级快照;change 模式主输入,product 模式产出目标) |
|
|
41
41
|
| `specs_dir` | changes/<name>/specs/ 路径(现有规格,如有) |
|
|
42
42
|
| `global_arch_dir` | docs/architecture/ 路径(As-Is 基线) |
|
|
@@ -108,7 +108,7 @@ verdict: pending_review # 评审门(architecture-reviewer product 视
|
|
|
108
108
|
- Execute five-check gate BEFORE producing any deliverable
|
|
109
109
|
- Produce standalone executable SQL files, not embedded code blocks
|
|
110
110
|
- Cite specific brief sections and plan sections for every architecture decision
|
|
111
|
-
- **Produce a PRD Feature → API Endpoint mapping table in api.md** (v0.29.0 §37): before finalizing the API routing table, read `
|
|
111
|
+
- **Produce a PRD Feature → API Endpoint mapping table in api.md** (v0.29.0 §37): before finalizing the API routing table, read `requirement/vN/prd.md` feature list (e.g., F001_P0_P1 ~ P0_PN) and map each feature to its corresponding API endpoint(s). For features involving sub-entities (明细/子项), ensure independent CRUD endpoints exist — a query-only endpoint does NOT cover "新增/编辑" functionality. Include this mapping as a dedicated section in api.md for traceability
|
|
112
112
|
|
|
113
113
|
**DON'T:**
|
|
114
114
|
- Skip the five-check gate and jump to design
|
|
@@ -21,8 +21,8 @@ After writing, return a summary of the verdict + the report file path. Do NOT mo
|
|
|
21
21
|
|
|
22
22
|
| Parameter | Description |
|
|
23
23
|
|-----------|-------------|
|
|
24
|
-
| `prd_path` | PRD 文件路径(e.g., `
|
|
25
|
-
| `plan_path` | plan.md 路径(e.g., `
|
|
24
|
+
| `prd_path` | PRD 文件路径(e.g., `requirement/v1/prd.md`) |
|
|
25
|
+
| `plan_path` | plan.md 路径(e.g., `requirement/v1/plan.md`) |
|
|
26
26
|
| `change_brief_path` | change-brief.md 路径(e.g., `changes/<name>/change-brief.md`) |
|
|
27
27
|
| `architecture_dir` | 架构产出目录(e.g., `changes/<name>/architecture/`) |
|
|
28
28
|
| `global_arch_dir` | 全局架构目录(e.g., `docs/architecture/`) |
|
|
@@ -90,7 +90,7 @@ Dimensions requiring semantic understanding, marked as "advisory, false positive
|
|
|
90
90
|
|
|
91
91
|
4. **A4 需求覆盖** (v0.29.0 §37 增强:双对照源 + 子实体 CRUD 检查):
|
|
92
92
|
- **对照源 1(现有)**:Read change-brief.md → extract all requirement items (scope, AC, technical direction)
|
|
93
|
-
- **对照源 2(v0.29.0 新增)**:Read `
|
|
93
|
+
- **对照源 2(v0.29.0 新增)**:Read `requirement/vN/prd.md` → extract feature list (e.g., F001_P0_P1 ~ P0_PN)
|
|
94
94
|
- Read plan.md → extract relevant technical design sections
|
|
95
95
|
- For each requirement from BOTH sources, check if architecture deliverables provide corresponding design:
|
|
96
96
|
- New aggregate → architecture.md covers it?
|
|
@@ -11,14 +11,14 @@ You are an independent Change Split Auditor. You audit the quality of a plan.md'
|
|
|
11
11
|
|
|
12
12
|
## The Iron Law
|
|
13
13
|
|
|
14
|
-
You are an auditor. You did NOT produce the plan or the PRD. You read both artifacts, cross-reference them, and produce a verdict with findings. You MUST write the audit report to disk at the path specified by the orchestration layer (typically `
|
|
14
|
+
You are an auditor. You did NOT produce the plan or the PRD. You read both artifacts, cross-reference them, and produce a verdict with findings. You MUST write the audit report to disk at the path specified by the orchestration layer (typically `requirement/vN/change-split-audit.md`). On FAIL, the orchestration layer carries your findings back to ce-plan for deepening. Do NOT modify plan.md or PRD — only write the audit report.
|
|
15
15
|
|
|
16
16
|
## Inputs
|
|
17
17
|
|
|
18
18
|
| Parameter | Description |
|
|
19
19
|
|-----------|-------------|
|
|
20
|
-
| `plan_path` | plan.md 路径(e.g., `
|
|
21
|
-
| `prd_path` | PRD 文件路径(e.g., `
|
|
20
|
+
| `plan_path` | plan.md 路径(e.g., `requirement/v1/plan.md`) |
|
|
21
|
+
| `prd_path` | PRD 文件路径(e.g., `requirement/v1/prd.md`) |
|
|
22
22
|
|
|
23
23
|
If either path is missing or unreadable, report `FAIL` with reason `INPUT_ERROR`.
|
|
24
24
|
|
package/agents/need-explorer.md
CHANGED
|
@@ -23,7 +23,7 @@ You stabilize intent, not build. Ask one clear question at a time, propose 2-3 a
|
|
|
23
23
|
|-----------|-------------|
|
|
24
24
|
| `change_dir` | change 目录路径(e.g., `changes/feature-x/`) |
|
|
25
25
|
| `brief_path` | change-brief.md 路径(可选,workflow-orchestrator S4 分发时存在,先读再问) |
|
|
26
|
-
| `plan_path` |
|
|
26
|
+
| `plan_path` | requirement/vN/plan.md 路径(可选,brief 冲突时以 plan.md 为准) |
|
|
27
27
|
|
|
28
28
|
If `change_dir` is missing or unreadable, report `FAIL` with reason `INPUT_ERROR` and route back to workflow-start.
|
|
29
29
|
|
|
@@ -11,7 +11,7 @@ You are an independent PRD Completeness Reviewer. You check whether a PRD is **c
|
|
|
11
11
|
|
|
12
12
|
## The Iron Law
|
|
13
13
|
|
|
14
|
-
You are an independent reviewer. You did NOT participate in producing the PRD. You read the PRD (and CONCEPTS.md if present) fresh and assess whether the requirement description is complete enough to be actionable. You MUST write the review report to disk at `
|
|
14
|
+
You are an independent reviewer. You did NOT participate in producing the PRD. You read the PRD (and CONCEPTS.md if present) fresh and assess whether the requirement description is complete enough to be actionable. You MUST write the review report to disk at `requirement/vN/prd-completeness-review.md`. Do NOT modify the PRD or any other artifact — only write the review report.
|
|
15
15
|
|
|
16
16
|
## Division of Labor with claim verifier
|
|
17
17
|
|
|
@@ -24,7 +24,7 @@ Do NOT duplicate claim verification. A statement can be factually correct yet st
|
|
|
24
24
|
|
|
25
25
|
| Parameter | Description |
|
|
26
26
|
|-----------|-------------|
|
|
27
|
-
| `prd_path` | PRD 文件路径(e.g., `
|
|
27
|
+
| `prd_path` | PRD 文件路径(e.g., `requirement/v1/prd.md`) |
|
|
28
28
|
| `concepts_path` | (可选)CONCEPTS.md 路径,用于术语一致性比对 |
|
|
29
29
|
|
|
30
30
|
If `prd_path` is missing or unreadable, report `FAIL` with reason `INPUT_ERROR`.
|
|
@@ -16,7 +16,7 @@ You NEVER write, edit, create, or delete any file. Your only output is the brief
|
|
|
16
16
|
## Invocation Contract
|
|
17
17
|
|
|
18
18
|
The dispatch prompt provides (some may be absent — probe to discover):
|
|
19
|
-
- `prd_path` or a hint to locate the current PRD version (e.g., `
|
|
19
|
+
- `prd_path` or a hint to locate the current PRD version (e.g., `requirement/v1/prd.md`).
|
|
20
20
|
- `design_system_path` (from `prototype.designSystem` config) or a hint to find `design-system.md`.
|
|
21
21
|
- `prototype_root` (default `prototype/`).
|
|
22
22
|
- The intent: new prototype from scratch / iterate on existing / sync after a change.
|
|
@@ -36,7 +36,7 @@ Turn the probe into a decision-ready brief: what exists, what is missing, and a
|
|
|
36
36
|
- List existing pages (`prototype/pages/*.html`), components (`prototype/components/`), and `flow.md` if present.
|
|
37
37
|
|
|
38
38
|
### Step 3: PRD Version Probe
|
|
39
|
-
- Identify the PRD version to prototype against (read `
|
|
39
|
+
- Identify the PRD version to prototype against (read `requirement/vN/prd.md` frontmatter `iteration_version` if present).
|
|
40
40
|
- Extract from the PRD the inputs the builder will need: §4 画面原型 (page list), §7 系统功能清单 (functions), §8.4 功能模块 (fields), §8.2 画面交互 (navigation/transitions).
|
|
41
41
|
|
|
42
42
|
### Step 4: Synthesize Brief + Recommended Plan
|
|
@@ -11,13 +11,13 @@ You are an independent Prototype Consistency Reviewer. You check whether an HTML
|
|
|
11
11
|
|
|
12
12
|
## The Iron Law
|
|
13
13
|
|
|
14
|
-
You are an independent reviewer. You did NOT participate in producing the PRD or the prototype. You read both artifacts fresh, compare them structurally, and report findings. You MUST write the review report to disk at `
|
|
14
|
+
You are an independent reviewer. You did NOT participate in producing the PRD or the prototype. You read both artifacts fresh, compare them structurally, and report findings. You MUST write the review report to disk at `requirement/vN/prototype-auto-review.md`. Do NOT modify the prototype or PRD — only write the review report.
|
|
15
15
|
|
|
16
16
|
## Inputs
|
|
17
17
|
|
|
18
18
|
| Parameter | Description |
|
|
19
19
|
|-----------|-------------|
|
|
20
|
-
| `prd_path` | PRD 文件路径(e.g., `
|
|
20
|
+
| `prd_path` | PRD 文件路径(e.g., `requirement/v1/prd.md`) |
|
|
21
21
|
| `prototype_path` | 原型目录路径(e.g., `prototype/`) |
|
|
22
22
|
|
|
23
23
|
If either path is missing or unreadable, report `FAIL` with reason `INPUT_ERROR`.
|
package/agents/spec-writer.md
CHANGED
|
@@ -27,7 +27,7 @@ You write planning artifacts, never implementation code. Honor confirmed DP-0 de
|
|
|
27
27
|
|-----------|-------------|
|
|
28
28
|
| `change_dir` | change 目录路径(e.g., `changes/feature-x/`) |
|
|
29
29
|
| `brief_path` | change-brief.md 路径(可选,workflow-orchestrator S4 分发时存在) |
|
|
30
|
-
| `plan_path` |
|
|
30
|
+
| `plan_path` | requirement/vN/plan.md 路径(可选,高阶技术方向) |
|
|
31
31
|
| `arch_dir` | architecture/ 目录路径(可选,architecture-design 产出) |
|
|
32
32
|
|
|
33
33
|
If `change_dir` is missing, or `.team-flow.yaml` `dp_0_confirmed` is not `true`, report `FAIL` with reason `INPUT_ERROR` and route back to workflow-start for DP-0.
|
package/docs/README_en.md
CHANGED
|
@@ -126,7 +126,7 @@ npm install -g team-flow
|
|
|
126
126
|
|
|
127
127
|
### Version
|
|
128
128
|
|
|
129
|
-
- Current: `v0.
|
|
129
|
+
- Current: `v0.43.1`
|
|
130
130
|
- v0.9.1 highlights: DP-4 execution-mode recommendations, a portable runtime across 17 platforms, and a raw-package smoke with no plugin-root variable.
|
|
131
131
|
- Self-contained — no OpenSpec or Superpowers runtime required
|
|
132
132
|
- Upstream: [Fission-AI/OpenSpec](https://github.com/Fission-AI/OpenSpec), [obra/superpowers](https://github.com/obra/superpowers)
|
package/gemini-extension.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "team-flow",
|
|
3
3
|
"description": "Unified workflow plugin: team-flow (spec-driven dev) + compound-engineering core subset + architecture-design (4A/DDD) + prototype (local HTML). 24 skills, one install.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.43.1",
|
|
5
5
|
"contextFileName": "GEMINI.md"
|
|
6
6
|
}
|
package/hooks/session-start
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
|
-
# v0.
|
|
2
|
+
# v0.43.1: auto-sync CLI version with plugin version
|
|
3
3
|
set -e
|
|
4
4
|
|
|
5
5
|
# ═══════════════════════════════════════════════════════════════
|
|
6
6
|
# Plugin version (update this when releasing new versions)
|
|
7
7
|
# ═══════════════════════════════════════════════════════════════
|
|
8
|
-
PLUGIN_VERSION="0.
|
|
8
|
+
PLUGIN_VERSION="0.43.1"
|
|
9
9
|
|
|
10
10
|
# ═══════════════════════════════════════════════════════════════
|
|
11
11
|
# Step 1: Auto-sync CLI version with plugin version
|
|
@@ -45,7 +45,7 @@ sync_tf_version
|
|
|
45
45
|
# Step 2: Inject workflow context
|
|
46
46
|
# ═══════════════════════════════════════════════════════════════
|
|
47
47
|
|
|
48
|
-
msg="<EXTREMELY_IMPORTANT>\nYou have team-flow installed. Invoke /team-flow:workflow-start or /team-flow:workflow-orchestrator ONLY when active team-flow artifacts exist (\`.team-flow.yaml\`, \`proposal.md\`, \`execution-contract.md\`, \`specs/\`) or the user explicitly requests it. For ordinary coding tasks, do NOT invoke them.\n</EXTREMELY_IMPORTANT>\n<EXTREMELY_IMPORTANT>\n## Workspace Directory Rule\n\"Base directory for this skill\" = skill source location (read SKILL.md/references/ ONLY). User project = \`pwd\`. ALL project artifacts (changes/,
|
|
48
|
+
msg="<EXTREMELY_IMPORTANT>\nYou have team-flow installed. Invoke /team-flow:workflow-start or /team-flow:workflow-orchestrator ONLY when active team-flow artifacts exist (\`.team-flow.yaml\`, \`proposal.md\`, \`execution-contract.md\`, \`specs/\`) or the user explicitly requests it. For ordinary coding tasks, do NOT invoke them.\n</EXTREMELY_IMPORTANT>\n<EXTREMELY_IMPORTANT>\n## Workspace Directory Rule\n\"Base directory for this skill\" = skill source location (read SKILL.md/references/ ONLY). User project = \`pwd\`. ALL project artifacts (changes/, requirement/, docs/, .team-flow/, etc.) MUST operate under \`pwd\`, NEVER the skill base directory. Run \`pwd\` first in every skill execution.\n</EXTREMELY_IMPORTANT>\n<EXTREMELY_IMPORTANT>\n## Language\nCommunicate with the user in Chinese (中文). Technical terms, code, and commands remain in English.\n</EXTREMELY_IMPORTANT>"
|
|
49
49
|
|
|
50
50
|
# Three platforms share the same message, only output format differs.
|
|
51
51
|
if [ -n "${CURSOR_PLUGIN_ROOT:-}" ]; then
|
package/llms.txt
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
## Overview
|
|
4
4
|
spec-superflow is a self-contained workflow integration plugin for Claude Code, Cursor, OpenAI Codex CLI/App, GitHub Copilot CLI, Gemini CLI, OpenCode, WorkBuddy, and Trae. It merges spec-driven planning artifacts (proposal, specs, design, tasks) with disciplined execution guardrails (TDD, review gates, controlled handoff) into one unified workflow.
|
|
5
5
|
|
|
6
|
-
Current version: v0.
|
|
6
|
+
Current version: v0.43.1.
|
|
7
7
|
|
|
8
8
|
## Key Documents
|
|
9
9
|
- README.md: Chinese homepage with full usage guide and FAQ
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xulthekl/team-flow",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.43.1",
|
|
4
4
|
"description": "Unified plugin (24 skills + 15 agents) integrating team-flow, compound-engineering, architecture-design, prototype, design-system, workflow-orchestrator, workflow-bootstrap, e2e, session-handoff, workflow-feedback for multi-agent coding tools.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
package/plugin.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "team-flow",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.43.1",
|
|
4
4
|
"description": "Unified workflow plugin: team-flow (spec-driven dev: TDD/SDD/code-review/debugging) + compound-engineering core subset (brainstorm/plan/compound/strategy/ideate/proof, global compounding) + architecture-design (4A+DDD incremental design & global compounding) + prototype (local HTML prototype, zero external deps) + e2e (Playwright E2E, AC-driven) + workflow-orchestrator (product-level workflow orchestration) + workflow-bootstrap (existing project onboarding) + session-handoff (context transfer) + workflow-feedback (issue tracking). 24 skills + 15 agents, one install.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "LT"
|
|
@@ -26,6 +26,7 @@ export async function run(args) {
|
|
|
26
26
|
options: {
|
|
27
27
|
merge: { type: 'boolean', default: false },
|
|
28
28
|
clean: { type: 'boolean', default: false },
|
|
29
|
+
force: { type: 'boolean', default: false }, // v0.43.1:跳过 dirty 阻断
|
|
29
30
|
'project-root': { type: 'string' },
|
|
30
31
|
json: { type: 'boolean', default: false },
|
|
31
32
|
help: { type: 'boolean', default: false },
|
|
@@ -69,6 +70,12 @@ export async function run(args) {
|
|
|
69
70
|
} else {
|
|
70
71
|
printReport(results, values);
|
|
71
72
|
}
|
|
73
|
+
|
|
74
|
+
// v0.43.1:merge 失败(冲突 / dirty 阻断)→ exit 非零,调用方(release-archivist)可检测。
|
|
75
|
+
// nothing-to-merge(success + skipped)不算失败。
|
|
76
|
+
if (results.some(r => r.merge && r.merge.success === false)) {
|
|
77
|
+
process.exitCode = 1;
|
|
78
|
+
}
|
|
72
79
|
}
|
|
73
80
|
|
|
74
81
|
|
|
@@ -163,9 +170,9 @@ function processRepo(repo, values) {
|
|
|
163
170
|
result.dirty = '?';
|
|
164
171
|
}
|
|
165
172
|
|
|
166
|
-
//
|
|
173
|
+
// 操作(v0.43.1:合并前防护——dirty 阻断 / ahead==0 短路,设计增强方案 v0.18 §74)
|
|
167
174
|
if (values.merge) {
|
|
168
|
-
result.merge =
|
|
175
|
+
result.merge = doMerge(repo, branch, masterBranch, result, values);
|
|
169
176
|
}
|
|
170
177
|
if (values.clean) {
|
|
171
178
|
result.clean = cleanWorktree(repo, branch);
|
|
@@ -194,6 +201,28 @@ function detectMasterBranch(repoPath) {
|
|
|
194
201
|
return 'master';
|
|
195
202
|
}
|
|
196
203
|
|
|
204
|
+
// v0.43.1:合并前防护(设计增强方案 v0.18 §74)
|
|
205
|
+
// 1. dirty 阻断:worktree 有未提交改动时默认不合并(避免改动混入 master),--force 跳过
|
|
206
|
+
// 2. ahead==0 短路:分支相对目标分支无新 commit 时跳过合并(幂等,可安全重复调用)
|
|
207
|
+
// 3. 冲突报告:merge 失败时解析 unmerged 文件列表,引导人工解决而非静默失败
|
|
208
|
+
function doMerge(repo, branch, masterBranch, state, values) {
|
|
209
|
+
if (state.dirty === true && !values.force) {
|
|
210
|
+
return {
|
|
211
|
+
success: false,
|
|
212
|
+
skipped: 'dirty',
|
|
213
|
+
message: `Worktree has uncommitted changes — commit or stash them before merging, or use --force`,
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
if (typeof state.ahead === 'number' && state.ahead === 0) {
|
|
217
|
+
return {
|
|
218
|
+
success: true,
|
|
219
|
+
skipped: 'nothing-to-merge',
|
|
220
|
+
message: `Branch '${branch}' is up to date with '${masterBranch}' — nothing to merge`,
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
return mergeBranch(repo, branch, masterBranch);
|
|
224
|
+
}
|
|
225
|
+
|
|
197
226
|
function mergeBranch(repo, branch, masterBranch) {
|
|
198
227
|
try {
|
|
199
228
|
const output = execFileSync('git', ['merge', branch, '--no-edit'], {
|
|
@@ -201,7 +230,30 @@ function mergeBranch(repo, branch, masterBranch) {
|
|
|
201
230
|
});
|
|
202
231
|
return { success: true, message: output.trim() };
|
|
203
232
|
} catch (e) {
|
|
204
|
-
|
|
233
|
+
const raw = (e.stderr || e.stdout || e.message || '').toString().trim();
|
|
234
|
+
const conflicts = collectConflicts(repo.repoPath);
|
|
235
|
+
return {
|
|
236
|
+
success: false,
|
|
237
|
+
conflicts,
|
|
238
|
+
message: conflicts.length > 0
|
|
239
|
+
? `Merge conflict in ${conflicts.length} file(s): ${conflicts.join(', ')}. Resolve manually, then 'git add' + 'git commit' to complete the merge.`
|
|
240
|
+
: raw,
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
// v0.43.1:解析 merge 冲突的 unmerged 文件列表(git status --porcelain 的 UU/AA/DD/AU/UA/DU/UD)
|
|
246
|
+
function collectConflicts(repoPath) {
|
|
247
|
+
try {
|
|
248
|
+
const status = execFileSync('git', ['status', '--porcelain'], {
|
|
249
|
+
encoding: 'utf-8', cwd: repoPath, stdio: ['ignore', 'pipe', 'pipe'],
|
|
250
|
+
});
|
|
251
|
+
return status
|
|
252
|
+
.split('\n')
|
|
253
|
+
.filter(line => /^(UU|AA|DD|AU|UA|DU|UD)/.test(line.trim()))
|
|
254
|
+
.map(line => line.trim().replace(/^(UU|AA|DD|AU|UA|DU|UD)\s+/, ''));
|
|
255
|
+
} catch {
|
|
256
|
+
return [];
|
|
205
257
|
}
|
|
206
258
|
}
|
|
207
259
|
|
|
@@ -260,7 +312,18 @@ function printReport(results, values) {
|
|
|
260
312
|
console.log(` Uncommitted changes: ${r.dirty === true ? '⚠️ YES' : r.dirty === false ? 'no' : 'unknown'}`);
|
|
261
313
|
|
|
262
314
|
if (r.merge) {
|
|
263
|
-
|
|
315
|
+
if (r.merge.skipped === 'nothing-to-merge') {
|
|
316
|
+
console.log(` Merge: ⏭️ ${r.merge.message}`);
|
|
317
|
+
} else if (r.merge.skipped === 'dirty') {
|
|
318
|
+
console.log(` Merge: ⛔ ${r.merge.message}`);
|
|
319
|
+
} else if (r.merge.success) {
|
|
320
|
+
console.log(` Merge: ✅ ${r.merge.message}`);
|
|
321
|
+
} else {
|
|
322
|
+
console.log(` Merge: ❌ ${r.merge.message}`);
|
|
323
|
+
if (r.merge.conflicts && r.merge.conflicts.length > 0) {
|
|
324
|
+
console.log(` Conflicts: ${r.merge.conflicts.length} file(s)`);
|
|
325
|
+
}
|
|
326
|
+
}
|
|
264
327
|
}
|
|
265
328
|
if (r.clean) {
|
|
266
329
|
console.log(` Worktree removed: ${r.clean.worktreeRemoved ? '✅' : '❌'}`);
|
|
@@ -282,6 +345,7 @@ function printHelp() {
|
|
|
282
345
|
console.log(`Usage:
|
|
283
346
|
tf deisolate <change-dir> # dry-run: show worktree status
|
|
284
347
|
tf deisolate <change-dir> --merge # merge worktree branch back to master
|
|
348
|
+
tf deisolate <change-dir> --merge --force # merge even with uncommitted changes
|
|
285
349
|
tf deisolate <change-dir> --merge --clean # merge + remove worktree + delete branch
|
|
286
350
|
tf deisolate <change-dir> --clean # remove worktree only (no merge)
|
|
287
351
|
tf deisolate <change-dir> --json # JSON output`);
|
package/scripts/team-flow.mjs
CHANGED
|
@@ -101,7 +101,7 @@ Commands:
|
|
|
101
101
|
Upgrade inline/batch to SDD, or replan existing SDD waves, as a new revision
|
|
102
102
|
execution review <change-dir> --wave <id> --base <sha> --head <sha> --report <path> --verdict pass|fail
|
|
103
103
|
Record one review receipt for a planned wave
|
|
104
|
-
deisolate <change-dir> [--merge] [--clean] [--json]
|
|
104
|
+
deisolate <change-dir> [--merge] [--force] [--clean] [--json]
|
|
105
105
|
Show worktree status / merge branch back / clean worktree
|
|
106
106
|
runtime check-update Run a portable update check for canonical skills
|
|
107
107
|
runtime infer <dir> Infer workflow mode without a plugin-root path
|
|
@@ -66,7 +66,7 @@ description: 基于 4A 企业架构 + DDD 领域驱动设计的架构/API/DB 设
|
|
|
66
66
|
### 输入
|
|
67
67
|
|
|
68
68
|
- `change-brief.md`(scope / AC / 技术方向)
|
|
69
|
-
- `
|
|
69
|
+
- `requirement/vN/plan.md` 高阶技术设计段(模块边界/技术选型/数据流/关键聚合划分)
|
|
70
70
|
- `docs/architecture/iterations/vN/architecture.md`(产品级架构快照,**主输入**,v0.35.0)——BC 边界/聚合所有权/全局契约的唯一事实源
|
|
71
71
|
- 全局 `docs/architecture/`(As-Is 实际态基线,已落地部分)
|
|
72
72
|
- 现有 `specs/`(若有)
|
|
@@ -156,7 +156,7 @@ changes/<name>/
|
|
|
156
156
|
- **不**重复 Swagger 管理的内容:请求/响应 schema、错误码定义、参数明细等由 Swagger/OpenAPI 规范承载
|
|
157
157
|
- frontmatter 须声明 `api_contract_manager: swagger`,表明详细契约由 Swagger 工具链管理
|
|
158
158
|
- sql/ 目录中的 DDL 和 migration 脚本为独立可执行 `.sql` 文件,不嵌入 markdown 文档
|
|
159
|
-
- **PRD 功能清单 → API 端点映射表(v0.29.0 §37 新增)**:在 api.md 中增加独立章节,逐条对照 `
|
|
159
|
+
- **PRD 功能清单 → API 端点映射表(v0.29.0 §37 新增)**:在 api.md 中增加独立章节,逐条对照 `requirement/vN/prd.md` 功能清单(如 F001_P0_P1 ~ P0_PN),映射每个功能点到对应的 API 端点。对于涉及子实体(明细/子项)的功能,必须确保独立 CRUD 端点存在——仅查询端点不覆盖"新增/编辑"功能。此映射表供 architecture-reviewer A4 交叉验证使用
|
|
160
160
|
|
|
161
161
|
**下游消费**:
|
|
162
162
|
- `architecture/architecture.md` → spec-writer:design.md Decisions 约束
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
|
|
7
7
|
## 输入
|
|
8
8
|
|
|
9
|
-
-
|
|
10
|
-
-
|
|
9
|
+
- requirement/vN/prd.md(frozen_downstream,功能清单 F001_P0 等)
|
|
10
|
+
- requirement/vN/plan.md(高阶技术设计段:模块边界/技术选型/数据流/关键聚合划分)
|
|
11
11
|
- prototype/(S2 产物,页面结构)
|
|
12
12
|
- docs/architecture/baseline.md(S1 注入)
|
|
13
13
|
- docs/architecture/CONCEPTS.md(领域词汇)
|
|
@@ -87,7 +87,7 @@ ARCH 完成(评审 PASS 或 skip 已物化)后,**阻塞确认**(AskUserQ
|
|
|
87
87
|
- 产品级评审门 verdict = PASS(或 skip 已物化)
|
|
88
88
|
- orchestrator.yaml 中 ARCH 阶段状态 = completed(workflow_phase: architecture)
|
|
89
89
|
- **未触发** arch-merge 全局覆盖写(预测态不进实际态,P1)
|
|
90
|
-
- **架构基线打戳(v0.36.3)**:首轮项目(`arch_baseline` 缺失)评审 PASS 后执行 `tf arch init --mode reconstruction --baseline-ref
|
|
90
|
+
- **架构基线打戳(v0.36.3)**:首轮项目(`arch_baseline` 缺失)评审 PASS 后执行 `tf arch init --mode reconstruction --baseline-ref requirement/vN/`(旧项目逆向重建)或 `--mode design`(全新项目正向设计)——arch-readiness/arch-snapshot 门禁的豁免键在此建立,项目进入「已建档」正轨
|
|
91
91
|
|
|
92
92
|
## 常见陷阱
|
|
93
93
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
upstream_source: orchestrator | manual | null
|
|
3
3
|
upstream_req_id: <req-id>
|
|
4
|
-
upstream_plan_ref:
|
|
4
|
+
upstream_plan_ref: requirement/vN/plan.md
|
|
5
5
|
upstream_change_id: C2
|
|
6
6
|
plan_hash: sha256:<plan.md 内容摘要>
|
|
7
7
|
---
|
|
@@ -25,5 +25,5 @@ plan_hash: sha256:<plan.md 内容摘要>
|
|
|
25
25
|
|
|
26
26
|
## PRD & plan 引用
|
|
27
27
|
|
|
28
|
-
- PRD:
|
|
29
|
-
- Plan:
|
|
28
|
+
- PRD: requirement/vN/prd.md §<相关章节>
|
|
29
|
+
- Plan: requirement/vN/plan.md ### <C-ID>
|