ys-team 0.2.0 → 0.3.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/README.md +42 -59
- package/docs/project/module-index.md +8 -7
- package/docs/specs/{active → completed}/20260407-170500-npm-distribution-modes/control.md +1 -1
- package/docs/specs/{active → completed}/20260407-170500-npm-distribution-modes/evidence/20260407-dual-mode-and-publish-readiness.md +8 -10
- package/docs/specs/completed/20260410-README-init-and-history-cleanup/control.md +65 -0
- package/docs/specs/completed/20260410-README-init-and-history-cleanup/evidence/20260410-closeout.md +26 -0
- package/docs/specs/completed/20260410-README-init-and-history-cleanup/work-01-readme-and-history-verification.md +54 -0
- package/docs/specs/completed/20260410-baseline-fullcomplete/control.md +96 -0
- package/docs/specs/completed/20260410-baseline-fullcomplete/requirement.md +30 -0
- package/docs/specs/completed/20260410-baseline-fullcomplete/workspace.md +26 -0
- package/examples/baseline/.ys_team/VERSION +1 -1
- package/examples/baseline/.ys_team/memory/policy.md +66 -0
- package/examples/baseline/.ys_team/memory/roles/delivery-guard.md +3 -0
- package/examples/baseline/.ys_team/memory/roles/doc-spec-steward.md +3 -0
- package/examples/baseline/.ys_team/memory/roles/domain-integrator.md +3 -0
- package/examples/baseline/.ys_team/memory/roles/project-architect.md +3 -0
- package/examples/baseline/.ys_team/memory/roles/qa-guard.md +3 -0
- package/examples/baseline/.ys_team/memory/roles/spec-reviewer.md +3 -0
- package/examples/baseline/.ys_team/roles/internal/qa-guard.md +30 -0
- package/examples/baseline/.ys_team/roles/internal/spec-reviewer.md +28 -0
- package/examples/baseline/.ys_team/status.md +22 -3
- package/examples/baseline/.ys_team/team.md +6 -0
- package/examples/baseline/.ys_team/templates/qa-report.md +42 -0
- package/examples/baseline/.ys_team/templates/requirement.md +27 -0
- package/examples/baseline/.ys_team/templates/review.md +30 -0
- package/examples/baseline/.ys_team/templates/workspace.md +23 -0
- package/examples/baseline/TEAM.md +43 -0
- package/package.json +1 -1
- package/scripts/ys-team.mjs +90 -1
- package/skills/ys-team/SKILL.md +68 -2
- package/skills/ys-team-init/SKILL.md +39 -6
- package/skills/ys-team-rebuild/SKILL.md +23 -1
- package/skills/ys-team-spec-talk/SKILL.md +41 -6
- package/skills/ys-team-spec-work/SKILL.md +29 -0
- package/skills/ys-team-status/SKILL.md +13 -7
- package/skills/ys-team-submit/SKILL.md +20 -0
- /package/docs/specs/{active → completed}/20260407-170500-npm-distribution-modes/work-01-global-and-project-install.md +0 -0
- /package/docs/specs/{active → completed}/20260407-170500-npm-distribution-modes/work-02-doc-and-publish-readiness.md +0 -0
package/README.md
CHANGED
|
@@ -26,89 +26,72 @@
|
|
|
26
26
|
- 多角色讨论用于覆盖风险并形成收敛结论。
|
|
27
27
|
- 交付结果必须可验证、可追溯。
|
|
28
28
|
|
|
29
|
-
##
|
|
29
|
+
## 安装与使用
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
### 第一次使用
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
2. 说 “帮我安装/更新 https://github.com/dwp7399/ys-team 这里的 skills,然后用里面的 init,初始化我的项目。然后更新 agents.md 和 claude.md,使用 ys-team 作为最优先使用工作流”
|
|
33
|
+
**第一步:安装 skills**
|
|
35
34
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
- Java 项目:同样先安装 skills,再用 `ys-team-init` 落地本地基线;Java 差异主要体现在 init 对构建工具、多模块和兼容性边界的识别,而不是要求先改业务代码
|
|
40
|
-
|
|
41
|
-
## 工作流可见标志
|
|
42
|
-
|
|
43
|
-
只要当前回复处于 `ys-team` 工作流中,末尾必须出现明显标志:
|
|
44
|
-
|
|
45
|
-
- 路由判断:`` `ys-team` · [判断结果] → [下一步] ``
|
|
46
|
-
- discussion / spec-talk:`**[主持人]** ys-team · spec-talk`
|
|
47
|
-
- spec-work:`**[执行中]** ys-team · spec-work`
|
|
48
|
-
- submit:`**[验收]** ys-team · submit`
|
|
49
|
-
- status:`**[状态]** ys-team · status`
|
|
35
|
+
```bash
|
|
36
|
+
npx ys-team install-skills --dest ~/.claude/skills --force
|
|
37
|
+
```
|
|
50
38
|
|
|
51
|
-
|
|
39
|
+
> 默认目标为 `~/.agents/skills`,Claude Code 用户需指定 `~/.claude/skills`。
|
|
40
|
+
> 安装时会同时把 bundled baseline 写入 `ys-team/baseline/`,供 `ys-team-init` / `ys-team-rebuild` 读取模板。
|
|
52
41
|
|
|
53
|
-
|
|
42
|
+
**第二步:在项目里初始化**
|
|
54
43
|
|
|
55
|
-
|
|
44
|
+
打开目标项目,对 Claude 说:
|
|
56
45
|
|
|
57
|
-
|
|
46
|
+
```
|
|
47
|
+
用 ys-team-init 这个 skill 初始化这个项目
|
|
48
|
+
```
|
|
58
49
|
|
|
59
|
-
|
|
50
|
+
### 更新 skills
|
|
60
51
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
-
|
|
64
|
-
- 项目级安装:把包内 skills 安装到项目的 `.agents/skills`,并下发 baseline 版 `AGENTS.md` / `CLAUDE.md`
|
|
65
|
-
- 支持显式目标目录、项目目录和安全覆盖控制:`--dest`、`--dir`、`--force`、`--dry-run`
|
|
52
|
+
```bash
|
|
53
|
+
# 检查是否有新版本
|
|
54
|
+
npx ys-team check-update
|
|
66
55
|
|
|
67
|
-
|
|
56
|
+
# 更新到最新版
|
|
57
|
+
npx ys-team@latest install-skills --dest ~/.claude/skills --force
|
|
58
|
+
```
|
|
68
59
|
|
|
69
|
-
|
|
70
|
-
- 自动登录或发布到 npm registry
|
|
60
|
+
### 更新已有项目的工作流
|
|
71
61
|
|
|
72
|
-
|
|
62
|
+
skills 更新后,项目里的 `.ys_team/` 不会自动变化。如果新版本有结构调整,在项目里运行:
|
|
73
63
|
|
|
74
|
-
```bash
|
|
75
|
-
npx ys-team install-skills
|
|
76
64
|
```
|
|
77
|
-
|
|
78
|
-
全局安装到自定义目录:
|
|
79
|
-
|
|
80
|
-
```bash
|
|
81
|
-
npx ys-team install-skills --dest /path/to/skills
|
|
65
|
+
用 ys-team-rebuild 重估这个项目的工作流配置
|
|
82
66
|
```
|
|
83
67
|
|
|
84
|
-
|
|
68
|
+
对 Python / Java 项目,起步动作保持一致,差异由 `ys-team-init` 在识别项目结构时自动处理。
|
|
85
69
|
|
|
86
|
-
|
|
87
|
-
npx ys-team init-project --dir /path/to/project
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
项目级安装会:
|
|
70
|
+
## 工作流可见标志
|
|
91
71
|
|
|
92
|
-
-
|
|
93
|
-
- 写入 `/path/to/project/AGENTS.md`
|
|
94
|
-
- 写入 `/path/to/project/CLAUDE.md`
|
|
72
|
+
只要当前回复处于 `ys-team` 工作流中,末尾必须出现明显标志:
|
|
95
73
|
|
|
96
|
-
|
|
74
|
+
- 路由判断:`` `ys-team` · [判断结果] → [下一步] ``
|
|
75
|
+
- discussion / spec-talk:`**[主持人]** ys-team · spec-talk`
|
|
76
|
+
- spec-work:`**[执行中]** ys-team · spec-work`
|
|
77
|
+
- submit:`**[验收]** ys-team · submit`
|
|
78
|
+
- status:`**[状态]** ys-team · status`
|
|
97
79
|
|
|
98
|
-
|
|
80
|
+
如果没有这些标志,说明当前回复还没真正进入 `ys-team` 工作流,可以直接要求:
|
|
99
81
|
|
|
100
|
-
|
|
82
|
+
`请先进入 ys-team 工作流,并给出当前阶段标志。`
|
|
101
83
|
|
|
102
|
-
|
|
103
|
-
- `publishConfig.access = public`
|
|
104
|
-
- 可通过 `npm pack --dry-run` 验证的打包内容
|
|
84
|
+
## CLI 参考
|
|
105
85
|
|
|
106
|
-
|
|
86
|
+
```bash
|
|
87
|
+
npx ys-team --help
|
|
88
|
+
npx ys-team install-skills [--dest <dir>] [--force] [--dry-run]
|
|
89
|
+
npx ys-team init-project [--dir <project-dir>] [--force] [--dry-run]
|
|
90
|
+
npx ys-team check-update
|
|
91
|
+
```
|
|
107
92
|
|
|
108
|
-
-
|
|
109
|
-
- `
|
|
110
|
-
- 可能的 token / 2FA 配置
|
|
111
|
-
- 在发布环境执行 `npm publish`
|
|
93
|
+
`init-project` 会向目标项目写入 `.agents/skills`、`AGENTS.md`、`CLAUDE.md`,之后仍需在项目里执行 `ys-team-init`。
|
|
94
|
+
同时也会写入 `.agents/skills/ys-team/baseline/`,所以项目里的 `ys-team-init` 能拿到默认模板。
|
|
112
95
|
|
|
113
96
|
## 本仓结构
|
|
114
97
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
**Project Type**: Markdown-first method repository
|
|
4
4
|
**Project Scale**: Small
|
|
5
5
|
**Index Strategy**: Core module index
|
|
6
|
-
**Last Updated**: 2026-04-
|
|
6
|
+
**Last Updated**: 2026-04-10
|
|
7
7
|
|
|
8
8
|
## `skills/`(方法入口与执行能力)
|
|
9
9
|
**职责**:`skills/` 承载对外公开的 `ys-team` 方法入口,以及 init、rebuild、doc-build、spec-talk、spec-work、status、submit 等执行能力。它决定用户如何理解 ys-team,以及仓库如何把 baseline 和本地 reality 连接起来。
|
|
@@ -21,11 +21,12 @@
|
|
|
21
21
|
- 依赖:方法论定义来自 `skills/ys-team/*` 与仓库文档
|
|
22
22
|
- 被依赖:`ys-team-init`, `ys-team-rebuild`, 外部项目初始化流程
|
|
23
23
|
|
|
24
|
-
## `.ys_team
|
|
25
|
-
**职责**:本仓自己的 `.ys_team/`
|
|
24
|
+
## `.ys_team/` + `TEAM.md`(方法仓自用本地基线)
|
|
25
|
+
**职责**:本仓自己的 `.ys_team/` 用来”用 ys-team 管理 ys-team”,把方法仓的 spec、文档同步和交付约束落到仓库内部。v0.3.0 起新增 `memory/` 角色记忆系统,以及 `TEAM.md` 编排模式配置入口。它在 baseline 之上保留方法仓特有角色:方法论架构师、产品演进负责人、交付守门人。
|
|
26
26
|
|
|
27
27
|
**关系**:
|
|
28
|
-
-
|
|
28
|
+
- 入口:`TEAM.md`, `.ys_team/team.md`, `.ys_team/methods.md`, `.ys_team/policy.md`, `.ys_team/templates/*`
|
|
29
|
+
- 记忆:`.ys_team/memory/roles/*.md`(按角色独立,跨任务经验积累)
|
|
29
30
|
- 依赖:`examples/baseline/.ys_team/` 提供稳定骨架版本,`docs/project/*` 提供仓库现实
|
|
30
31
|
- 被依赖:本仓 specs、方法仓自身 rebuild 判断
|
|
31
32
|
|
|
@@ -52,10 +53,10 @@
|
|
|
52
53
|
- 依赖:`skills/ys-team/SKILL.md`, `skills/ys-team-spec-talk/SKILL.md`, `skills/ys-team-spec-work/SKILL.md`, `skills/ys-team-submit/SKILL.md`, `skills/ys-team-status/SKILL.md`
|
|
53
54
|
- 被依赖:本仓协作、下游仓库初始化后的默认工作流
|
|
54
55
|
|
|
55
|
-
## `package.json` / `scripts/`(npm
|
|
56
|
-
**职责**:`package.json` 和 `scripts/` 提供 ys-team
|
|
56
|
+
## `package.json` / `scripts/`(npm 分发与 CLI 面)
|
|
57
|
+
**职责**:`package.json` 和 `scripts/` 提供 ys-team 的 npm 分发能力(已发布 v0.3.0)。CLI 提供三个命令:`install-skills`(全局安装 skills)、`init-project`(项目级初始化)、`check-update`(对比本地与 npm 最新版)。安装目标由 `--dest` 控制,支持 `--force`、`--dry-run`。
|
|
57
58
|
|
|
58
59
|
**关系**:
|
|
59
60
|
- 入口:`package.json`, `scripts/ys-team.mjs`
|
|
60
61
|
- 依赖:`README.md`, `skills/`, `examples/baseline/`, `registry/`
|
|
61
|
-
- 被依赖:npm
|
|
62
|
+
- 被依赖:npm 包使用者(`npx ys-team`)、分发验证
|
|
@@ -37,22 +37,20 @@
|
|
|
37
37
|
- 结果:PASS
|
|
38
38
|
- 说明:当前环境可识别 npm 用户 `ys7399`
|
|
39
39
|
|
|
40
|
-
### `npm view ys-team version name`
|
|
40
|
+
### `npm view ys-team version name dist-tags.latest`
|
|
41
41
|
|
|
42
42
|
- 结果:PASS
|
|
43
|
-
-
|
|
43
|
+
- 说明:registry 已返回 `ys-team@0.2.0`,`latest` 已指向 `0.2.0`
|
|
44
44
|
|
|
45
45
|
### `npm publish`
|
|
46
46
|
|
|
47
|
-
- 结果:
|
|
48
|
-
-
|
|
47
|
+
- 结果:PASS
|
|
48
|
+
- 说明:已成功发布 `ys-team@0.2.0`
|
|
49
49
|
|
|
50
50
|
## Current Conclusion
|
|
51
51
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
真实发布仍阻塞于:
|
|
52
|
+
双模式安装和 npm 发布链路都已完成闭环。
|
|
55
53
|
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
-
-
|
|
54
|
+
- 全局模式:`npx ys-team install-skills`
|
|
55
|
+
- 项目模式:`npx ys-team init-project --dir /path/to/project`
|
|
56
|
+
- npm registry:`ys-team@0.2.0`
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
Spec-Type: control
|
|
3
|
+
Initiative: 20260410-README-init-and-history-cleanup
|
|
4
|
+
Status: completed
|
|
5
|
+
Owner-Session: ys-team
|
|
6
|
+
Write-Scope:
|
|
7
|
+
- README.md
|
|
8
|
+
- docs/specs/completed/20260410-README-init-and-history-cleanup/
|
|
9
|
+
Depends-On: []
|
|
10
|
+
Verification: "Manual review plus `git shortlog -sne --all` and `git log --format='%h%x09author:%an <%ae>%x09committer:%cn <%ce>%x09%s' --all`."
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# README 初始化文案与提交历史身份核验
|
|
14
|
+
|
|
15
|
+
## Background
|
|
16
|
+
|
|
17
|
+
用户要求两件事:
|
|
18
|
+
|
|
19
|
+
- README 明确项目内初始化应通过 `ys-team-init` skill 完成
|
|
20
|
+
- git 提交历史中不要出现 `claude` 身份,以免 GitHub Contributors 出现 `claude`
|
|
21
|
+
|
|
22
|
+
## Goals
|
|
23
|
+
|
|
24
|
+
- 让 README 对项目内初始化动作的表述更直接
|
|
25
|
+
- 复核当前仓库可见历史中是否存在 `claude` author / committer
|
|
26
|
+
- 形成可复核证据,避免在无目标对象时盲目重写历史
|
|
27
|
+
|
|
28
|
+
## Deliverables
|
|
29
|
+
|
|
30
|
+
- 更新后的 README
|
|
31
|
+
- 本次历史身份核验的 work spec 与 evidence
|
|
32
|
+
|
|
33
|
+
## Acceptance Criteria
|
|
34
|
+
|
|
35
|
+
- README 明确写出“用 `ys-team-init` 这个 skill 初始化这个项目”
|
|
36
|
+
- 验收证据能复核当前可见历史中不存在 `claude` 身份
|
|
37
|
+
- 若无 `claude` 身份提交,不执行无意义历史重写
|
|
38
|
+
|
|
39
|
+
## Collaboration Summary
|
|
40
|
+
|
|
41
|
+
- Participants: user, Codex
|
|
42
|
+
- Reporter: Codex
|
|
43
|
+
- Estimated Cost: small
|
|
44
|
+
|
|
45
|
+
## Verification
|
|
46
|
+
|
|
47
|
+
- 人工检查 `README.md`
|
|
48
|
+
- `git shortlog -sne --all`
|
|
49
|
+
- `git log --format='%h%x09author:%an <%ae>%x09committer:%cn <%ce>%x09%s' --all`
|
|
50
|
+
|
|
51
|
+
## Acceptance Evidence
|
|
52
|
+
|
|
53
|
+
- `docs/specs/completed/20260410-README-init-and-history-cleanup/evidence/20260410-closeout.md`
|
|
54
|
+
|
|
55
|
+
## Documentation Updates
|
|
56
|
+
|
|
57
|
+
- `README.md`
|
|
58
|
+
|
|
59
|
+
## Risks
|
|
60
|
+
|
|
61
|
+
- GitHub Contributors 统计可能受远端缓存或旧统计周期影响,即使当前本地可见历史已无目标身份
|
|
62
|
+
|
|
63
|
+
## Rollback Plan
|
|
64
|
+
|
|
65
|
+
- 回退 README 文案到修改前版本,并保留本次核验记录
|
package/docs/specs/completed/20260410-README-init-and-history-cleanup/evidence/20260410-closeout.md
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Closeout
|
|
2
|
+
|
|
3
|
+
- Time: 2026-04-10 15:51:43 CST
|
|
4
|
+
- Initiative: `20260410-README-init-and-history-cleanup`
|
|
5
|
+
|
|
6
|
+
## README Check
|
|
7
|
+
|
|
8
|
+
- `README.md` 已将项目内初始化指令明确为:`用 ys-team-init 这个 skill 初始化这个项目`
|
|
9
|
+
|
|
10
|
+
## History Identity Verification
|
|
11
|
+
|
|
12
|
+
执行结果:
|
|
13
|
+
|
|
14
|
+
- `git shortlog -sne --all`
|
|
15
|
+
- `16 dwp <weipeng.dong@fireflyfusion.cn>`
|
|
16
|
+
- `2 dwp7399 <dwp7399@163.com>`
|
|
17
|
+
- `1 ys <dongweipeng@smalld.cn>`
|
|
18
|
+
- `git log --format='%h%x09author:%an <%ae>%x09committer:%cn <%ce>%x09%s' --all`
|
|
19
|
+
- 当前所有可见提交中,未发现 `claude` 作为 author 或 committer
|
|
20
|
+
- `origin/main` 与本地 `main` 指向同一提交 `94189a3ff81d1ba6bb1d9c5653b5ae13a00fbd91`
|
|
21
|
+
|
|
22
|
+
## Conclusion
|
|
23
|
+
|
|
24
|
+
- README 文案已按用户要求明确化
|
|
25
|
+
- 当前本地可见历史没有可供重写的 `claude` 身份提交,因此本次未执行历史重写
|
|
26
|
+
- 若 GitHub Contributors 仍显示 `claude`,更可能是远端统计缓存或旧统计未刷新,不是当前可见分支历史问题
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
Spec-Type: work
|
|
3
|
+
Initiative: 20260410-README-init-and-history-cleanup
|
|
4
|
+
Status: completed
|
|
5
|
+
Owner-Session: ys-team
|
|
6
|
+
Write-Scope:
|
|
7
|
+
- README.md
|
|
8
|
+
- docs/specs/active/20260410-README-init-and-history-cleanup/evidence/
|
|
9
|
+
Depends-On: []
|
|
10
|
+
Verification: "Manual review plus `git shortlog -sne --all` and `git log --format='%h%x09author:%an <%ae>%x09committer:%cn <%ce>%x09%s' --all`."
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Work 01 README 初始化文案与历史身份核验
|
|
14
|
+
|
|
15
|
+
## Background
|
|
16
|
+
|
|
17
|
+
当前 README 已表达“在项目里初始化”,但用户希望文案直接落成一句明确指令。与此同时,需要确认 Contributors 中出现的 `claude` 是否来自当前仓库可见历史,而不是凭感觉重写历史。
|
|
18
|
+
|
|
19
|
+
## Goals
|
|
20
|
+
|
|
21
|
+
- 收紧 README 初始化话术
|
|
22
|
+
- 产出当前仓库 author / committer 身份核验结果
|
|
23
|
+
|
|
24
|
+
## Deliverables
|
|
25
|
+
|
|
26
|
+
- 一处 README 文案调整
|
|
27
|
+
- 一份 closeout evidence
|
|
28
|
+
|
|
29
|
+
## Acceptance Criteria
|
|
30
|
+
|
|
31
|
+
- README 中出现“用 `ys-team-init` 这个 skill 初始化这个项目”
|
|
32
|
+
- 证据中包含 shortlog 与 author / committer 核验结论
|
|
33
|
+
|
|
34
|
+
## Verification
|
|
35
|
+
|
|
36
|
+
- 人工检查 README 相关段落
|
|
37
|
+
- `git shortlog -sne --all`
|
|
38
|
+
- `git log --format='%h%x09author:%an <%ae>%x09committer:%cn <%ce>%x09%s' --all`
|
|
39
|
+
|
|
40
|
+
## Acceptance Evidence
|
|
41
|
+
|
|
42
|
+
- `docs/specs/completed/20260410-README-init-and-history-cleanup/evidence/20260410-closeout.md`
|
|
43
|
+
|
|
44
|
+
## Documentation Updates
|
|
45
|
+
|
|
46
|
+
- `README.md`
|
|
47
|
+
|
|
48
|
+
## Risks
|
|
49
|
+
|
|
50
|
+
- Contributors 页面对旧统计的刷新不一定与本地历史即时同步
|
|
51
|
+
|
|
52
|
+
## Rollback Plan
|
|
53
|
+
|
|
54
|
+
- 撤回 README 文案调整,不保留无依据的历史改写
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
---
|
|
2
|
+
Spec-Type: control
|
|
3
|
+
Initiative: 20260410-baseline-fullcomplete
|
|
4
|
+
Status: draft
|
|
5
|
+
Owner-Session: ys-team
|
|
6
|
+
Write-Scope:
|
|
7
|
+
- examples/baseline/.ys_team/templates/requirement.md
|
|
8
|
+
- examples/baseline/.ys_team/templates/workspace.md
|
|
9
|
+
- examples/baseline/.ys_team/templates/review.md
|
|
10
|
+
- examples/baseline/.ys_team/templates/qa-report.md
|
|
11
|
+
- .ys_team/templates/requirement.md
|
|
12
|
+
- .ys_team/templates/workspace.md
|
|
13
|
+
- .ys_team/templates/review.md
|
|
14
|
+
- .ys_team/templates/qa-report.md
|
|
15
|
+
Depends-On: []
|
|
16
|
+
Verification: "ls examples/baseline/.ys_team/templates/ | wc -l # 期望 7; ls .ys_team/templates/ | wc -l # 期望 7"
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Baseline 完整化:补全 semi-auto/full-auto 阶段模板
|
|
20
|
+
|
|
21
|
+
## Background
|
|
22
|
+
|
|
23
|
+
`examples/baseline/` 在 manual 模式下建立,只有 3 个模板。semi-auto/full-auto 引入后,阶段间通信依赖 requirement、workspace、review、qa-report 4 个文件,但 baseline 和本仓 `.ys_team/templates/` 都没有提供对应模板。
|
|
24
|
+
|
|
25
|
+
同时,对比发现 ai-gateway 的 `_sources.md` 格式与 baseline 规范不一致(缺 source URL、版本、日期)。根因是 init/rebuild skill 执行时未参照 baseline 格式,属于 skill 层问题,超出本 spec 范围,记为后续追踪项。
|
|
26
|
+
|
|
27
|
+
## Goals
|
|
28
|
+
|
|
29
|
+
1. 在 `examples/baseline/.ys_team/templates/` 补全 4 个阶段模板(通用版本,不含项目特定命令)
|
|
30
|
+
2. 在 `.ys_team/templates/` 同步补全相同 4 个模板(本仓已切 full-auto)
|
|
31
|
+
3. qa-report 模板不包含项目特定测试命令,改为通用注释占位
|
|
32
|
+
|
|
33
|
+
## Non-Goals
|
|
34
|
+
|
|
35
|
+
- 不修改 ys-team-init / ys-team-rebuild skill(_sources.md 格式问题由后续 spec 处理)
|
|
36
|
+
- 不修改已有 3 个模板(control、work、roadmap-version)
|
|
37
|
+
|
|
38
|
+
## Deliverables
|
|
39
|
+
|
|
40
|
+
| 文件 | 状态 |
|
|
41
|
+
|------|------|
|
|
42
|
+
| `examples/baseline/.ys_team/templates/requirement.md` | 新增 |
|
|
43
|
+
| `examples/baseline/.ys_team/templates/workspace.md` | 新增 |
|
|
44
|
+
| `examples/baseline/.ys_team/templates/review.md` | 新增 |
|
|
45
|
+
| `examples/baseline/.ys_team/templates/qa-report.md` | 新增 |
|
|
46
|
+
| `.ys_team/templates/requirement.md` | 新增 |
|
|
47
|
+
| `.ys_team/templates/workspace.md` | 新增 |
|
|
48
|
+
| `.ys_team/templates/review.md` | 新增 |
|
|
49
|
+
| `.ys_team/templates/qa-report.md` | 新增 |
|
|
50
|
+
|
|
51
|
+
## Acceptance Criteria
|
|
52
|
+
|
|
53
|
+
- [ ] `examples/baseline/.ys_team/templates/` 共 7 个文件
|
|
54
|
+
- [ ] `.ys_team/templates/` 共 7 个文件
|
|
55
|
+
- [ ] qa-report.md 中没有 `uv run pytest` 等项目特定命令
|
|
56
|
+
- [ ] 4 个新模板的 frontmatter 与现有 control.md 风格一致
|
|
57
|
+
|
|
58
|
+
## Collaboration Summary
|
|
59
|
+
|
|
60
|
+
- Participants: 方法论架构师、产品演进负责人、交付守门人
|
|
61
|
+
- Reporter: 交付守门人
|
|
62
|
+
- Rounds: 1
|
|
63
|
+
- Escalations: 无
|
|
64
|
+
- Estimated Cost: minimal
|
|
65
|
+
|
|
66
|
+
## Verification
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
ls examples/baseline/.ys_team/templates/ | wc -l # 期望 7
|
|
70
|
+
ls .ys_team/templates/ | wc -l # 期望 7
|
|
71
|
+
grep -r "uv run pytest" examples/baseline/ # 期望无输出
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Acceptance Evidence
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
examples/baseline/.ys_team/templates/ 文件数:7 ✅
|
|
78
|
+
.ys_team/templates/ 文件数:7 ✅
|
|
79
|
+
grep -r "uv run pytest" examples/baseline/:无输出 ✅
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Documentation Updates
|
|
83
|
+
|
|
84
|
+
无需更新 module-index.md(模板细节变化,不影响模块边界描述)
|
|
85
|
+
|
|
86
|
+
## Risks
|
|
87
|
+
|
|
88
|
+
- 极低:纯新增文件,不影响现有结构
|
|
89
|
+
|
|
90
|
+
## Rollback Plan
|
|
91
|
+
|
|
92
|
+
删除新增的 8 个文件即可回滚。
|
|
93
|
+
|
|
94
|
+
## Note
|
|
95
|
+
|
|
96
|
+
_sources.md 格式问题(ai-gateway 与 baseline 规范不一致):根因为 ys-team-init/rebuild skill 执行时未参照 baseline 格式,应在后续 spec 中通过更新 skill 执行说明修复。
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
Initiative: 20260410-baseline-fullcomplete
|
|
3
|
+
Phase: spec-talk
|
|
4
|
+
Author-Session: ys-team-spec-talk
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 原始需求记录
|
|
8
|
+
|
|
9
|
+
## 需求来源
|
|
10
|
+
|
|
11
|
+
- 提出时间:2026-04-10
|
|
12
|
+
- 来源方式:用户口述 + 对比分析
|
|
13
|
+
|
|
14
|
+
## 原始描述
|
|
15
|
+
|
|
16
|
+
1. 本仓改成全自动(full-auto),基于 baseline 重新构建完整。
|
|
17
|
+
2. 对比发现 api-gateway 的 `_sources.md` 没有来源记录和候选记录,怀疑是 ys-team 工作流没有说明清楚。
|
|
18
|
+
|
|
19
|
+
## 背景补充
|
|
20
|
+
|
|
21
|
+
- 本仓 `examples/baseline/.ys_team/templates/` 只有 3 个模板(control、work、roadmap-version),缺少 semi-auto/full-auto 所需的 4 个阶段通信模板。
|
|
22
|
+
- 本仓 TEAM.md 已更新为 full-auto,但 `.ys_team/templates/` 自身也缺少相同的 4 个模板。
|
|
23
|
+
- `examples/baseline/.ys_team/toolbox/_sources.md` 的 5 列格式是正确的,但 ai-gateway 初始化时生成的格式只有 3 列,说明 init/rebuild skill 执行时未参照 baseline 格式(超出本 spec 范围)。
|
|
24
|
+
|
|
25
|
+
## 初步范围判断
|
|
26
|
+
|
|
27
|
+
- 影响模块:`examples/baseline/.ys_team/templates/`、`.ys_team/templates/`
|
|
28
|
+
- 是否跨模块:否
|
|
29
|
+
- 是否涉及 DB 变更:否
|
|
30
|
+
- 是否涉及对外 API 行为变化:否
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
Initiative: 20260410-baseline-fullcomplete
|
|
3
|
+
Current-Phase: qa
|
|
4
|
+
Last-Updated: 2026-04-10 10:00
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 工作记忆
|
|
8
|
+
|
|
9
|
+
## 当前状态
|
|
10
|
+
|
|
11
|
+
spec-talk 已完成,control.md 和 requirement.md 已产出,等待进入 spec-work。
|
|
12
|
+
|
|
13
|
+
## 关键决策记录
|
|
14
|
+
|
|
15
|
+
- qa-report.md 中的项目特定测试命令改为通用注释占位 — 原 ai-gateway 版本有 `uv run pytest`,不适合通用 baseline
|
|
16
|
+
- _sources.md 格式问题不纳入本 spec — 根因在 init/rebuild skill 执行逻辑,超出当前范围,记为 Note
|
|
17
|
+
- 两个目录同步补全 — 本仓已切 full-auto,本仓 .ys_team/templates/ 也必须同步
|
|
18
|
+
|
|
19
|
+
## 遗留问题
|
|
20
|
+
|
|
21
|
+
- _sources.md 格式一致性(init/rebuild skill 执行问题)— 优先级:中,由后续 spec 处理
|
|
22
|
+
|
|
23
|
+
## 阶段输出摘要
|
|
24
|
+
|
|
25
|
+
- spec-talk → PASS,产出 control.md + requirement.md + workspace.md
|
|
26
|
+
- spec-work → PASS,8 个模板文件写入完成,验收通过
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.3.0
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# 记忆管理策略
|
|
2
|
+
|
|
3
|
+
## 结构
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
.ys_team/memory/
|
|
7
|
+
├── roles/ ← 角色独立记忆(跨任务经验)
|
|
8
|
+
│ └── <role>.md ← 每个角色一个文件
|
|
9
|
+
└── policy.md ← 本文件
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
工作记忆(workspace.md)不在此目录,而是跟随 spec 生命周期,位于 `docs/specs/<id>/workspace.md`。
|
|
13
|
+
|
|
14
|
+
## 角色独立记忆
|
|
15
|
+
|
|
16
|
+
- 每个角色只读写自己的记忆文件,互不可见
|
|
17
|
+
- 记录跨任务的经验积累,不记录当前任务的临时状态
|
|
18
|
+
- 长度上限由 TEAM.md 的 `memory.role_memory_limit` 配置(默认 2k)
|
|
19
|
+
|
|
20
|
+
### 写入时机
|
|
21
|
+
|
|
22
|
+
每个阶段结束时,角色回顾本次工作,决定是否有值得记住的经验。使用以下判断标准:
|
|
23
|
+
|
|
24
|
+
1. 是否发现了非显而易见的技术陷阱或模式?
|
|
25
|
+
2. 是否有需要在未来同类任务中注意的点?
|
|
26
|
+
3. 是否有关于这个项目/模块的特殊知识?
|
|
27
|
+
|
|
28
|
+
无新认知时不写入。
|
|
29
|
+
|
|
30
|
+
### 压缩策略
|
|
31
|
+
|
|
32
|
+
读取记忆时发现超限,结合本次要写入的新内容一起压缩:
|
|
33
|
+
|
|
34
|
+
- 保留所有仍然相关的经验
|
|
35
|
+
- 合并相似条目
|
|
36
|
+
- 删除已过时或被后续经验覆盖的条目
|
|
37
|
+
- 保留具体的文件路径、错误信息、配置值,不泛化
|
|
38
|
+
- 压缩后不超过配置上限
|
|
39
|
+
|
|
40
|
+
### 记忆格式
|
|
41
|
+
|
|
42
|
+
```markdown
|
|
43
|
+
# <role> 经验记忆
|
|
44
|
+
|
|
45
|
+
## <主题 1>
|
|
46
|
+
- 具体经验条目(含日期标记)
|
|
47
|
+
|
|
48
|
+
## <主题 2>
|
|
49
|
+
- 具体经验条目(含日期标记)
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
按主题分组,每条经验附日期,便于判断时效性。
|
|
53
|
+
|
|
54
|
+
## 工作记忆(workspace.md)
|
|
55
|
+
|
|
56
|
+
- 位于 `docs/specs/<id>/workspace.md`
|
|
57
|
+
- 记录当前任务的实时状态:进度、阻塞、决策、各阶段间传递的上下文
|
|
58
|
+
- 长度上限由 TEAM.md 的 `memory.workspace_limit` 配置(默认 2k)
|
|
59
|
+
- spec 关闭后自动归档(随 spec 目录保留)
|
|
60
|
+
|
|
61
|
+
## 健康检查
|
|
62
|
+
|
|
63
|
+
rebuild 时检查:
|
|
64
|
+
- 角色记忆文件是否超限
|
|
65
|
+
- 是否有角色记忆文件对应的角色已从 TEAM.md 移除(标记为归档,不删除)
|
|
66
|
+
- 是否有新角色缺少记忆文件(自动创建空文件)
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# qa-guard
|
|
2
|
+
Title: 质量保障守门人
|
|
3
|
+
subagent_policy: local_only
|
|
4
|
+
|
|
5
|
+
独立验证落地效果是否符合 spec。读取 spec、代码变更和测试结果,不参与执行过程,确保验证客观性。
|
|
6
|
+
|
|
7
|
+
## 职责
|
|
8
|
+
|
|
9
|
+
- 对比 control.md 的 verification 条目与实际落地结果
|
|
10
|
+
- 执行或检查测试命令,验证功能正确性
|
|
11
|
+
- 检查 write-scope 内的代码变更是否符合 spec 要求
|
|
12
|
+
- 识别遗漏的验收点、未覆盖的边界条件
|
|
13
|
+
- 输出 qa-report.md(result card 格式:PASS / REJECT + issues)
|
|
14
|
+
|
|
15
|
+
## 输入
|
|
16
|
+
|
|
17
|
+
- `docs/specs/<id>/control.md`(spec 定义)
|
|
18
|
+
- `docs/specs/<id>/work.md`(执行记录)
|
|
19
|
+
- `docs/specs/<id>/workspace.md`(工作记忆)
|
|
20
|
+
- 项目代码(write-scope 范围内)
|
|
21
|
+
|
|
22
|
+
## 输出
|
|
23
|
+
|
|
24
|
+
- `docs/specs/<id>/qa-report.md`
|
|
25
|
+
|
|
26
|
+
## 约束
|
|
27
|
+
|
|
28
|
+
- 只读 + 可执行测试命令,不修改业务代码
|
|
29
|
+
- 不参与执行过程的讨论或决策
|
|
30
|
+
- 验证意见必须具体到哪个 verification 条目、实际结果是什么、差异在哪
|