create-yss-spec 2.1.13 → 2.1.15
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 +13 -1
- package/package.json +1 -1
- package/src/cli.js +91 -4
- package/template/AGENTS.md +1 -1
- package/template/CONTEXT.md +75 -67
- package/template/docs/agents/domain.md +4 -3
- package/template/docs/templates/requirement-freeze-template.md +1 -1
- package/template/docs/templates/review-report-template.md +1 -0
- package/template/docs/templates/spec-template.md +1 -1
- package/template/docs/templates/vertical-slice-ticket-template.md +1 -1
- package/template/docs/user-guide//344/272/247/345/223/201/347/224/237/345/221/275/345/221/250/346/234/237/345/267/245/344/275/234/346/265/201.md +10 -10
- package/template/docs/user-guide//344/272/247/345/223/201/347/240/224/345/217/221/345/205/250/347/224/237/345/221/275/345/221/250/346/234/237/346/234/200/344/275/263/345/256/236/350/267/265.md +4 -4
- package/template/docs/user-guide//347/224/237/345/221/275/345/221/250/346/234/237/346/234/200/344/275/263/345/256/236/350/267/265.md +5 -5
- package/template/docs/user-guide//351/234/200/346/261/202/346/276/204/346/270/205/346/214/207/345/215/227.md +6 -7
- package/template/docs/user-guide//351/234/200/346/261/202/346/276/204/346/270/205/346/234/200/344/275/263/345/256/236/350/267/265.md +3 -3
- package/template/wiki/.wiki-manifest.json +8 -8
- package/template/wiki/raw/AGENTS.md +2 -2
- package/template/wiki/raw/CONTEXT.md +75 -67
- package/template/wiki/raw/skills-lock-names.md +1 -0
- package/template/wiki/raw/spec-template.md +1 -1
- package/template/wiki/raw/vertical-slice-ticket-template.md +1 -1
- package/template/wiki/raw/yss-skill-registry.yaml +6 -0
- package/template/wiki/wiki/Agent/345/205/245/345/217/243/350/247/204/345/210/231.md +1 -1
- package/template/wiki/wiki/Spec/345/237/272/347/272/277.md +1 -1
- package/template/wiki/wiki/log.md +7 -0
- package/template/wiki/wiki//345/236/202/347/233/264/345/210/207/347/211/207Ticket.md +1 -1
- package/template/wiki/wiki//345/244/215/347/233/230/344/270/216/346/235/203/345/250/201/350/265/204/344/272/247/344/277/256/350/256/242.md +1 -1
- package/template/wiki/wiki//346/250/241/346/235/277/346/200/273/350/247/210.md +1 -1
- package/template.snapshot.json +4 -4
package/README.md
CHANGED
|
@@ -14,6 +14,18 @@ npm create yss-spec@latest
|
|
|
14
14
|
npx create-yss-spec@latest
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
+
查看用法、命令、参数和样例:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npx create-yss-spec@latest --help
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
查看 CLI 版本:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
npx create-yss-spec@latest --version
|
|
27
|
+
```
|
|
28
|
+
|
|
17
29
|
## 当前支持
|
|
18
30
|
|
|
19
31
|
- 交互式收集 `projectName`、`businessDomain`、`targetDir`
|
|
@@ -33,7 +45,7 @@ npx create-yss-spec@latest
|
|
|
33
45
|
- 旧、新资产内容冲突或清单 schema / mode 非法时 fail closed
|
|
34
46
|
- 保留模板的共享 skill 投影;生成实例可在尚未 `git init` 时运行模板校验
|
|
35
47
|
|
|
36
|
-
本次模板适配按 `2.1.
|
|
48
|
+
本次模板适配按 `2.1.15` 发布。`templateCommit` 会写入实例 metadata;“最新模板”指用户执行的 `npx create-yss-spec@latest` 所携带的最新已发布快照,CLI 运行时不会拉取模板仓库。
|
|
37
49
|
|
|
38
50
|
## 接管已有项目
|
|
39
51
|
|
package/package.json
CHANGED
package/src/cli.js
CHANGED
|
@@ -33,6 +33,8 @@ const TEMPLATE_METADATA_FILENAME = ".yss-template.json";
|
|
|
33
33
|
const TEMPLATE_MANIFEST_VERSION = sha256(TEMPLATE_MANIFEST_TEXT);
|
|
34
34
|
const TEMPLATE_SOURCE = "github:iloveZzz/yss-spec-project-template";
|
|
35
35
|
const METADATA_SCHEMA_VERSION = 2;
|
|
36
|
+
const HELP_FLAGS = new Set(["--help", "-h", "-help"]);
|
|
37
|
+
const VERSION_FLAGS = new Set(["--version", "-v", "-version"]);
|
|
36
38
|
const AGENT_SKILL_ROOTS = [
|
|
37
39
|
".agents/skills",
|
|
38
40
|
".claude/skills",
|
|
@@ -184,8 +186,10 @@ function parseArgs(argv) {
|
|
|
184
186
|
options.includeExampleDocs = true;
|
|
185
187
|
} else if (current === "--no-example-docs") {
|
|
186
188
|
options.includeExampleDocs = false;
|
|
187
|
-
} else if (current
|
|
189
|
+
} else if (HELP_FLAGS.has(current)) {
|
|
188
190
|
options.help = true;
|
|
191
|
+
} else if (VERSION_FLAGS.has(current)) {
|
|
192
|
+
options.version = true;
|
|
189
193
|
} else {
|
|
190
194
|
throw new Error(`不支持的参数:${current}`);
|
|
191
195
|
}
|
|
@@ -1539,6 +1543,10 @@ function runInit(argv = []) {
|
|
|
1539
1543
|
printHelp();
|
|
1540
1544
|
return;
|
|
1541
1545
|
}
|
|
1546
|
+
if (options.version) {
|
|
1547
|
+
printVersion();
|
|
1548
|
+
return;
|
|
1549
|
+
}
|
|
1542
1550
|
return promptForMissingOptions(options).then((promptedOptions) => {
|
|
1543
1551
|
assertRequiredOptions(promptedOptions, "init");
|
|
1544
1552
|
readTemplateSnapshot();
|
|
@@ -1592,6 +1600,10 @@ function runAttach(argv = []) {
|
|
|
1592
1600
|
printHelp();
|
|
1593
1601
|
return;
|
|
1594
1602
|
}
|
|
1603
|
+
if (options.version) {
|
|
1604
|
+
printVersion();
|
|
1605
|
+
return;
|
|
1606
|
+
}
|
|
1595
1607
|
assertRequiredOptions(options, "attach");
|
|
1596
1608
|
if (options.dryRun && options.apply) {
|
|
1597
1609
|
throw new Error("attach 的 --dry-run 与 --apply 互斥");
|
|
@@ -1692,6 +1704,10 @@ function runSync(argv = []) {
|
|
|
1692
1704
|
printHelp();
|
|
1693
1705
|
return;
|
|
1694
1706
|
}
|
|
1707
|
+
if (options.version) {
|
|
1708
|
+
printVersion();
|
|
1709
|
+
return;
|
|
1710
|
+
}
|
|
1695
1711
|
readTemplateSnapshot();
|
|
1696
1712
|
const targetDir = normalizeTargetDir(options.targetDir || ".");
|
|
1697
1713
|
inspectExistingTargetDir(targetDir);
|
|
@@ -1782,16 +1798,87 @@ function runSync(argv = []) {
|
|
|
1782
1798
|
console.log("3. 确认无误后提交本次模板同步结果");
|
|
1783
1799
|
}
|
|
1784
1800
|
|
|
1801
|
+
function argvIncludesFlag(argv, flags) {
|
|
1802
|
+
return argv.some((arg) => flags.has(arg));
|
|
1803
|
+
}
|
|
1804
|
+
|
|
1805
|
+
function printVersion() {
|
|
1806
|
+
console.log(`create-yss-spec ${PACKAGE_MANIFEST.version}`);
|
|
1807
|
+
}
|
|
1808
|
+
|
|
1785
1809
|
function printHelp() {
|
|
1786
1810
|
console.log(`create-yss-spec ${PACKAGE_MANIFEST.version}
|
|
1787
1811
|
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1812
|
+
USAGE
|
|
1813
|
+
$ create-yss-spec [COMMAND] [OPTIONS]
|
|
1814
|
+
|
|
1815
|
+
COMMANDS
|
|
1816
|
+
(default) 初始化新的模板实例仓库
|
|
1817
|
+
attach 向已有项目补齐受管研发管理资产
|
|
1818
|
+
sync 同步已有模板实例的受管资产
|
|
1819
|
+
|
|
1820
|
+
OPTIONS
|
|
1821
|
+
--project-name <name> 项目名称;init 不传则进入交互输入
|
|
1822
|
+
--business-domain <domain> 业务领域;init 不传则进入交互输入
|
|
1823
|
+
--team-size <size> 团队规模;init 不传则可留空,默认「待补充」
|
|
1824
|
+
--target-dir <dir> 目标目录;init 不传则进入交互输入,sync 默认为当前目录
|
|
1825
|
+
--issue-tracker github|gitlab 默认 issue tracker 偏好(默认 github)
|
|
1826
|
+
--dry-run 只预览计划,不写入文件
|
|
1827
|
+
--apply attach 确认执行写入;不能与 --dry-run 同时使用
|
|
1828
|
+
--force init:允许清空非空目录后重新生成
|
|
1829
|
+
attach / sync:覆盖受管冲突文件;unsafe 路径始终阻断
|
|
1830
|
+
--git-init 初始化完成后执行 git init
|
|
1831
|
+
--include-example-docs 显式保留示例文档(默认开启)
|
|
1832
|
+
--no-example-docs 不生成示例文档
|
|
1833
|
+
-h, --help 显示本帮助信息
|
|
1834
|
+
-v, --version 显示 CLI 版本
|
|
1835
|
+
|
|
1836
|
+
EXAMPLES
|
|
1837
|
+
$ npm create yss-spec@latest
|
|
1838
|
+
$ npx create-yss-spec@latest --help
|
|
1839
|
+
$ npx create-yss-spec@latest --version
|
|
1840
|
+
$ npx create-yss-spec@latest \\
|
|
1841
|
+
--project-name "Acme Spec Repo" \\
|
|
1842
|
+
--business-domain "Investment Research" \\
|
|
1843
|
+
--team-size "12" \\
|
|
1844
|
+
--target-dir "./acme-spec-repo" \\
|
|
1845
|
+
--issue-tracker github \\
|
|
1846
|
+
--git-init
|
|
1847
|
+
$ npx create-yss-spec@latest \\
|
|
1848
|
+
--project-name "Preview Repo" \\
|
|
1849
|
+
--business-domain "Data Platform" \\
|
|
1850
|
+
--target-dir "./preview-repo" \\
|
|
1851
|
+
--dry-run
|
|
1852
|
+
$ npx create-yss-spec@latest attach \\
|
|
1853
|
+
--target-dir . \\
|
|
1854
|
+
--project-name "Acme Application" \\
|
|
1855
|
+
--business-domain "Data Platform" \\
|
|
1856
|
+
--dry-run
|
|
1857
|
+
$ npx create-yss-spec@latest attach \\
|
|
1858
|
+
--target-dir . \\
|
|
1859
|
+
--project-name "Acme Application" \\
|
|
1860
|
+
--business-domain "Data Platform" \\
|
|
1861
|
+
--apply
|
|
1862
|
+
$ npx create-yss-spec@latest sync
|
|
1863
|
+
$ npx create-yss-spec@latest sync --dry-run
|
|
1864
|
+
$ npx create-yss-spec@latest sync --target-dir . --force
|
|
1865
|
+
|
|
1866
|
+
LEARN MORE
|
|
1867
|
+
仓库 README:https://github.com/iloveZzz/create-yss-spec#readme
|
|
1868
|
+
使用手册:https://github.com/iloveZzz/create-yss-spec/blob/main/docs/user-guide/create-yss-spec-cli-guide.md
|
|
1869
|
+
模板仓库:https://github.com/iloveZzz/yss-spec-project-template
|
|
1791
1870
|
`);
|
|
1792
1871
|
}
|
|
1793
1872
|
|
|
1794
1873
|
async function runCli(argv = []) {
|
|
1874
|
+
if (argvIncludesFlag(argv, HELP_FLAGS)) {
|
|
1875
|
+
printHelp();
|
|
1876
|
+
return;
|
|
1877
|
+
}
|
|
1878
|
+
if (argvIncludesFlag(argv, VERSION_FLAGS)) {
|
|
1879
|
+
printVersion();
|
|
1880
|
+
return;
|
|
1881
|
+
}
|
|
1795
1882
|
if (argv[0] === "sync") {
|
|
1796
1883
|
runSync(argv.slice(1));
|
|
1797
1884
|
return;
|
package/template/AGENTS.md
CHANGED
|
@@ -31,7 +31,7 @@ README、用户指南、根目录 `CLAUDE.md` 和其他说明文档只引用或
|
|
|
31
31
|
- 所有面向业务、产品、架构、实施、审查、发布和复盘的落地文档,正文统一使用简体中文。
|
|
32
32
|
- 英文专有名词、代码标识、API 路径、schema、类名、方法名、枚举值、错误码、命令、文件名和协议 metadata 保持原样。
|
|
33
33
|
- 新流程统一使用 Spec、Ticket、`to-spec`、`to-tickets`。过时术语和技能名只能出现在迁移指南或明确标注的旧项目上下文。
|
|
34
|
-
- 实施前读取 `CONTEXT.md
|
|
34
|
+
- 实施前读取 `CONTEXT.md`。业务术语必须已有 PascalCase `英文标识`;代码类型 / 字段与契约 property 使用该词干按 `CONTEXT.md` 文首规则变形。改中文术语或英文标识都先回写 `CONTEXT.md`。与词汇或 ADR 冲突时立即指出并先解决冲突。
|
|
35
35
|
|
|
36
36
|
## 4. `template-source` 模板维护路由
|
|
37
37
|
|
package/template/CONTEXT.md
CHANGED
|
@@ -1,72 +1,80 @@
|
|
|
1
1
|
# 领域上下文
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
本文档是项目的领域词汇表,只记录稳定业务语言和协作概念,不记录实现细节、计划草稿或架构说明。
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
| 术语 | 含义 | 避免 / 备注 |
|
|
8
|
-
|---|---|---|
|
|
9
|
-
| Agent | 执行特定工作流步骤的 AI 协作者。 | 不要与人工审查者混用。 |
|
|
10
|
-
| Agent 入口规则 | Agent 启动任务时必须先遵守的全局路由、硬门禁和禁止事项。 | 不作为 YSS 后端、前端或其他专项编码规范的完整手册。 |
|
|
11
|
-
| 标准文档语言 | 面向业务、产品、架构、实施、审查、发布和复盘的持久化文档所使用的默认语言。 | 统一使用简体中文;英文专有名词、代码标识、API 路径、schema、文件名和协议 metadata 保持原样。 |
|
|
12
|
-
| Matt Engineering Skills | 来自 `mattpocock/skills` 的轻量工程流程技能集合。 | 用于澄清、Spec、Ticket、实现、TDD、诊断、审查和架构治理,不替代 YSS 专项规范。 |
|
|
13
|
-
| 上游技能基线 | 从外部技能源锁定的可追溯 revision 及其未经项目适配的原始内容。 | 不等同于项目当前实际生效的 skill;上游更新不得直接覆盖 YSS 适配。 |
|
|
14
|
-
| YSS 技能适配 | 在上游技能基线之上,为 YSS 仓库身份、门禁、状态、授权和专项规范保留的可追溯差异。 | 必须同时保留上游内容哈希、有效内容哈希和适配依据,不作无记录的直接 fork。 |
|
|
15
|
-
| YSS skills | 本项目内置的 YSS 工程规范技能。 | 用于 DDD、UI、OpenAPI、Repository、Controller、DTO、组件和编码规范。 |
|
|
16
|
-
| 技能投影 | 从权威共享技能生成、供特定 Agent root 加载的同步副本。 | 投影不是独立维护的技能源,不应在各 Agent root 中分别修改。 |
|
|
17
|
-
| Spec | 记录用户问题、解决方案、用户故事、关键决策、验收标准和测试 seam 的产品研发规格。 | 新资产统一使用 Spec;旧规格称谓只在迁移记录中保留。 |
|
|
18
|
-
| Spec Delta | 记录相对于既有冻结 Spec 基线的 `ADDED / MODIFIED / REMOVED` 行为、验收场景和测试映射。 | 不用于全新产品或全新模块,也不替代完整 Spec、OpenAPI 或架构资产。 |
|
|
19
|
-
| Ticket | 在追踪平台上承载功能生命周期或可实现工作单元的通用追踪对象。 | GitHub Issues / GitLab Issues 是具体平台对象名称;领域资产统一称为 Ticket。 |
|
|
20
|
-
| 功能父 Ticket | 汇总一个功能从 Spec 到契约冻结的阶段状态、资产链接、审查结论和阻塞项的 Ticket。 | 不作为 Agent 直接实现的垂直切片。 |
|
|
21
|
-
| 垂直切片 Ticket | 契约冻结后生成的可独立验证实现单元,记录范围、阻塞关系、验收标准和验证证据。 | 只有通过必要门禁并具备直接实现条件时才能标记 `ready-for-agent`。 |
|
|
22
|
-
| `ready-for-human` | 表示 Spec、设计、契约草案或其他资产仍需人工审查或确认的流程状态。 | 此状态不表示可以直接进入实现。 |
|
|
23
|
-
| `ready-for-agent` | 表示垂直切片已通过必要门禁并具备直接实现条件的流程状态。 | 不得用于 Spec 初稿、原型、OpenAPI Draft 或其他未冻结资产。 |
|
|
24
|
-
| OpenAPI Draft | review-only 的 OpenAPI 3.1 契约草案。 | Freeze 前不得作为前后端稳定实现契约。 |
|
|
25
|
-
| OpenAPI Freeze | 已通过评审、可作为前后端实现和契约测试输入的 OpenAPI 3.1 契约。 | Freeze 后变更必须回到 API 影响分析和设计审查。 |
|
|
26
|
-
| YSS 响应包装 | 对外 API 使用 `Result` 基础字段及 `SingleResult`、`MultiResult`、`PageResult` 表达单对象、非分页列表和分页查询结果的统一返回结构。 | Java 泛型记法是语义简称;公开 schema 必须落成具体 endpoint wire shape。 |
|
|
27
|
-
| DTO wire shape | DTO 在 HTTP/JSON 边界实际暴露的字段、类型、可空性和方向性;与 Java 字段、getter 或内部协作字段区分。 | 以目标 mapper / contract evidence 为准,不从 getter、Lombok 或 `@JsonIgnore` 机械推断。 |
|
|
28
|
-
| UI 影响 | 会改变用户可见页面、导航、交互流程、状态呈现或权限体验的功能影响。 | 纯后端、API、批处理或数据变更不自动构成 UI 影响。 |
|
|
29
|
-
| 产品设计影响 | UI 变化触及主流程、导航、权限体验、异常 / 恢复状态、状态流转或 API 反推,需要页面流、状态矩阵和原型校准。 | 文案、token、颜色、间距和无行为变化的孤立视觉修复属于 UI 影响,但不自动构成产品设计影响。 |
|
|
30
|
-
| 高保真 HTML 原型 | 低保真原型评审通过后,用于在浏览器中审查真实视觉密度、交互状态和页面流的产品设计资产。 | 不等同于生产前端实现,也不替代 OpenAPI、Spec 校准或垂直切片。 |
|
|
31
|
-
| Visual Baseline Contract | 为生产前端还原冻结页面、视口、交互状态、参考图像和允许差异的可验收合同。 | 不是仅有一张原型截图或绝对像素匹配;每个基线必须可定位到同一视口和同一状态复验。 |
|
|
32
|
-
| 垂直切片(Vertical Slice) | 贯穿所有受影响层、可独立验证的窄功能路径。 | 优先使用垂直切片,避免只按层拆分的横向任务。 |
|
|
33
|
-
| Slice Implementation Contract | 阶段 7 进入实现前,由 `yss-router` 根据冻结资产和垂直切片编译、再由生命周期编排器批准的实现合同,包含 Common、Frontend、Backend、Contract 和 Cross-repo 子合同。 | Router 只能生成草案,不能自行批准、设置 `ready-for-agent` 或宣布完成;Backend 子合同仍保留额外强约束。 |
|
|
34
|
-
| YSS Skill Execution Result | YSS 专项 skill 完成工作单元后返回的结构化执行证据,记录合同版本、变更文件、证据文件、实际验证、延期 seam、偏离和新增影响。 | 实现者自报 `implemented` 不构成最终通过,必须由 Router、生命周期编排器和独立 Reviewer 复核。 |
|
|
35
|
-
| ADR | 架构决策记录,用于沉淀难以回滚、非显而易见且存在真实取舍的技术决策。 | 常规实现选择不要写 ADR。 |
|
|
36
|
-
| Fresh Verification | 完成前重新执行的验证证据,包括测试命令、契约校验、关键路径检查或人工审查结论。 | 不等同于“之前跑过”或实现者自述。 |
|
|
37
|
-
| 实现验证命令 | 前端测试 / 构建优先 `pnpm`,后端校验 / 测试 / 编译优先 `./mvnw`。 | 不要默认 `npm`、`yarn` 或裸 `mvn`;仓库确实缺少 pnpm 或 Maven Wrapper 时记受控例外。 |
|
|
38
|
-
| 测试质量基线 | 项目实例明确采纳的覆盖率阈值、关键流程清单和受控例外。 | 模板推荐值本身不构成可执行门禁;未定义关键流程时,不得声称其 E2E 覆盖率达到 100%。 |
|
|
39
|
-
| 主阶段 | 对相邻研发目标、工作单元和退出条件的粗粒度生命周期分组。 | 不等同于门禁编号,也不因增加门禁而自动增加主阶段。 |
|
|
40
|
-
| 生命周期门禁(条件强制门禁) | 只有当影响面命中触发条件时才必须裁决的生命周期审查点。 | 未触发时记录 `not-applicable` 及原因,不生成空文档;门禁不是产物、工作单元或证据的统称。 |
|
|
41
|
-
| 生命周期产物 | 生命周期工作单元形成并持久化、可被审查和引用的业务或工程结果。 | 文件存在不代表产物已经批准或仍然新鲜。 |
|
|
42
|
-
| 工作单元 | 具有明确输入、输出、允许动作和完成条件的一次有界执行。 | 不等同于主阶段或门禁;一个主阶段可以包含多个工作单元。 |
|
|
43
|
-
| 执行证据 | 用于证明工作单元结果、门禁裁决或完成结论的可读取引用和实际验证记录。 | 口头声明、计划执行的命令或无法解析的引用不构成执行证据。 |
|
|
44
|
-
| 单一事实来源(Single Source of Truth) | 对某一类流程事实拥有唯一定义权的权威资产。 | 其他资产只引用或解释,不重复定义同一规则。 |
|
|
45
|
-
| 流程模板资产 | 可被不同项目复用的文档模板、技能说明、校验脚本、流程规范和目录占位文件。 | 不包含某个具体产品的 Spec、设计、OpenAPI 或 Ticket。 |
|
|
46
|
-
| 模板维护流程 | 用于评估影响、修改权威资产、同步投影、执行压力验证并审查模板演进的工作流。 | 面向模板源仓库,不默认生成具体产品的 Spec、原型、OpenAPI 或垂直切片 Ticket。 |
|
|
47
|
-
| 模板发布门禁 | 模板源发布前必须通过的结构、技能同步、流程语义和压力场景验证集合。 | 不等同于只检查文件存在、Markdown 链接或 YAML 语法。 |
|
|
48
|
-
| Harness 工程 | 串联研发生命周期阶段、门禁、产物、Agent/Skill 编排和追踪证据的工程化治理载体。 | 不等同于单个 CI 流水线或零散提示词集合。 |
|
|
49
|
-
| YSS 研发操作系统 | 由生命周期控制、通用工作流、YSS 专项技能、证据反馈和技能供应链共同构成的可版本化研发治理体系。 | 不等同于单个主控 skill、某个 Agent 客户端或运行时代码平台。 |
|
|
50
|
-
| 生命周期注册表 | 结构化定义主阶段、门禁、产物、工作单元、证据及其稳定标识和关系的机器可读权威资产。 | Markdown 地图、数量说明和验证 fixture 是其派生产物,不应分别维护同一结构事实。 |
|
|
51
|
-
| 生命周期编排器 | 持有阶段、影响面、产物状态、门禁裁决、工作单元路由和恢复条件的研发流程控制平面。 | 不替代专项技能执行业务实现,也不以文件存在或执行者自述宣布完成。 |
|
|
52
|
-
| 前端实现还原验证 | 证明生产前端相对冻结 Spec、交互说明、状态矩阵和高保真原型不存在未解释差异的独立验证。 | 不是绝对像素复刻、普通 type-check 或原型评审;UI 影响切片需覆盖关键视觉、状态、交互和工程证据。 |
|
|
53
|
-
| 生命周期稳定 ID | 以对象类型命名空间和英文标识唯一指向一个生命周期对象的兼容身份。 | 中文名称、展示顺序和数量可以变化;已发布 ID 不得复用来表达另一种语义。 |
|
|
54
|
-
| 派生产物 | 根据生命周期注册表确定性生成的结构表、数量、索引、依赖图或测试 fixture。 | 不承载需要人工解释的原理、取舍或实践建议,禁止脱离注册表分别维护。 |
|
|
55
|
-
| 核心技能(Core Skill) | 默认可发现、负责生命周期控制或通用研发入口的稳定技能。 | 不包含只在特定技术影响下才需要的专项实现规则。 |
|
|
56
|
-
| 专项技能(Specialist Skill) | 由 Router 根据影响面和实现合同按需选择的前端、后端、OpenAPI 或组件技能。 | 不作为所有任务的平级默认入口。 |
|
|
57
|
-
| 试验技能 | 尚未达到项目默认支持成熟度的技能。 | 只在明确试验范围内使用,不进入 Router 默认技能闭包。 |
|
|
58
|
-
| 显式兼容入口 | 为已有用户操作习惯保留的 user-invoked 工作流入口,写入前由生命周期编排器预检,结果回交其验收。 | 不是默认路径、过时别名或可以越过门禁的第二套生命周期。 |
|
|
59
|
-
| 技能成熟度 | 描述技能从 `draft`、`verified`、`supported` 到 `deprecated` 的治理状态。 | 不等同于文件存在、已被投影或能够安装。 |
|
|
60
|
-
| 技能注册表 | 记录技能身份、别名、分层、适用影响面、成熟度、默认可发现性和 Agent 运行时入口的机器可读路由资产。 | 不替代 `skills-lock.json` 的来源、hash 和投影完整性职责。当前 `docs/agents/yss-skill-registry.yaml` 为 `shadow`,Router 与生命周期不得按其裁剪发现面。 |
|
|
61
|
-
| LLM Wiki | 由 `raw/`、`wiki/` 与 `.wiki-manifest.json` 组成的本地持久知识库。 | 不是 `research` 一次性笔记,也不替代权威源。`ingest` 只把用户点名的外源或已落盘研究笔记编进 IR,不改 live 权威文件。 |
|
|
62
|
-
| 生态发布清单 | 关联模板 schema 与 commit、CLI 版本与快照、公开技能来源与导出 hash 的跨仓发布证据。 | 不要求尚未生成的仓库 commit 互相循环引用。 |
|
|
63
|
-
| 研发管理仓库 | 承载 Spec、OpenAPI、架构、Ticket、验证、发布和复盘等研发管理资产的仓库。 | 不等同于前端 / 后端代码 monorepo。 |
|
|
64
|
-
| 实现仓库 | 承载前端、后端或其他运行时代码及其 Git、CI、MR / PR、测试命令和发布流水线的仓库。 | 不要把实现仓库的源码所有权混入研发管理仓库。 |
|
|
65
|
-
| 跨仓库契约变更 | 需要两个或多个独立仓库协同实现、验证和按顺序发布的共享契约变化。 | 任一参与仓库未完成契约对齐和集成验证时,不得单独声称整体可发布。 |
|
|
66
|
-
| 模板源仓库(`template-source`) | 承载 `yss-spec-project-template` 权威模板资产及其演进规则的仓库身份。 | 只管理可复用模板,不承载某个具体产品的研发生命周期资产。 |
|
|
67
|
-
| 模板实例仓库(`project-instance`) | 由模板初始化后生成、承载某个具体产品研发生命周期资产的仓库身份。 | 不作为通用流程模板的权威来源。 |
|
|
68
|
-
| 模板实例分发面 | 模板源中应随 CLI 快照进入 `project-instance` 的共享生命周期、模板、用户指南和验证资产集合。 | 不包含模板源审查、研究、发布路线或源仓库专属 ADR。 |
|
|
69
|
-
| 模板源治理区 | 仅供 `template-source` 使用、保存审查证据、研究记录、跨仓契约、发布路线和源仓库治理决策的归档区域。 | 不随 CLI 分发;不等于产品实例的研发管理资产。 |
|
|
70
|
-
| 仓库身份清单 | 显式声明仓库身份和清单结构版本的机器可读资产。 | 不承载项目名称、团队规模、Tracker 或其他易变业务配置。 |
|
|
5
|
+
`英文标识` 是 PascalCase 词干,不是英语释义。`## 业务术语` 必须填写该列;`## 流程术语` 填 `—`。代码类型名、字段名和契约 property 由该词干变形:类名 = 词干 + YSS 工程后缀;字段与 JSON property 为 camelCase;数据库列为 snake_case;枚举常量为 UPPER_SNAKE。工程后缀以 YSS skill 和当前工程惯例为准,不作为领域词写入本表。JSON 与 Java 字段不一致时,以 DTO wire shape / OpenAPI 为准,不在本表另开列。改中文术语或英文标识都是统一语言变更,必须先回写本表。`避免 / 备注` 同时记录禁用中文和禁用英文别名。
|
|
71
6
|
|
|
72
7
|
只有在计划、分诊、调试或架构讨论中明确沉淀出稳定语言时,才新增术语。
|
|
8
|
+
|
|
9
|
+
## 流程术语
|
|
10
|
+
|
|
11
|
+
模板源与生命周期协作概念放在本节。`英文标识` 填 `—`,不回溯补译。
|
|
12
|
+
|
|
13
|
+
| 术语 | 含义 | 英文标识 | 避免 / 备注 |
|
|
14
|
+
|---|---|---|---|
|
|
15
|
+
| Agent | 执行特定工作流步骤的 AI 协作者。 | — | 不要与人工审查者混用。 |
|
|
16
|
+
| Agent 入口规则 | Agent 启动任务时必须先遵守的全局路由、硬门禁和禁止事项。 | — | 不作为 YSS 后端、前端或其他专项编码规范的完整手册。 |
|
|
17
|
+
| 标准文档语言 | 面向业务、产品、架构、实施、审查、发布和复盘的持久化文档所使用的默认语言。 | — | 统一使用简体中文;英文专有名词、代码标识、API 路径、schema、文件名和协议 metadata 保持原样。 |
|
|
18
|
+
| Matt Engineering Skills | 来自 `mattpocock/skills` 的轻量工程流程技能集合。 | — | 用于澄清、Spec、Ticket、实现、TDD、诊断、审查和架构治理,不替代 YSS 专项规范。 |
|
|
19
|
+
| 上游技能基线 | 从外部技能源锁定的可追溯 revision 及其未经项目适配的原始内容。 | — | 不等同于项目当前实际生效的 skill;上游更新不得直接覆盖 YSS 适配。 |
|
|
20
|
+
| YSS 技能适配 | 在上游技能基线之上,为 YSS 仓库身份、门禁、状态、授权和专项规范保留的可追溯差异。 | — | 必须同时保留上游内容哈希、有效内容哈希和适配依据,不作无记录的直接 fork。 |
|
|
21
|
+
| YSS skills | 本项目内置的 YSS 工程规范技能。 | — | 用于 DDD、UI、OpenAPI、Repository、Controller、DTO、组件和编码规范。 |
|
|
22
|
+
| 技能投影 | 从权威共享技能生成、供特定 Agent root 加载的同步副本。 | — | 投影不是独立维护的技能源,不应在各 Agent root 中分别修改。 |
|
|
23
|
+
| Spec | 记录用户问题、解决方案、用户故事、关键决策、验收标准和测试 seam 的产品研发规格。 | — | 新资产统一使用 Spec;旧规格称谓只在迁移记录中保留。 |
|
|
24
|
+
| Spec Delta | 记录相对于既有冻结 Spec 基线的 `ADDED / MODIFIED / REMOVED` 行为、验收场景和测试映射。 | — | 不用于全新产品或全新模块,也不替代完整 Spec、OpenAPI 或架构资产。 |
|
|
25
|
+
| Ticket | 在追踪平台上承载功能生命周期或可实现工作单元的通用追踪对象。 | — | GitHub Issues / GitLab Issues 是具体平台对象名称;领域资产统一称为 Ticket。 |
|
|
26
|
+
| 功能父 Ticket | 汇总一个功能从 Spec 到契约冻结的阶段状态、资产链接、审查结论和阻塞项的 Ticket。 | — | 不作为 Agent 直接实现的垂直切片。 |
|
|
27
|
+
| 垂直切片 Ticket | 契约冻结后生成的可独立验证实现单元,记录范围、阻塞关系、验收标准和验证证据。 | — | 只有通过必要门禁并具备直接实现条件时才能标记 `ready-for-agent`。 |
|
|
28
|
+
| `ready-for-human` | 表示 Spec、设计、契约草案或其他资产仍需人工审查或确认的流程状态。 | — | 此状态不表示可以直接进入实现。 |
|
|
29
|
+
| `ready-for-agent` | 表示垂直切片已通过必要门禁并具备直接实现条件的流程状态。 | — | 不得用于 Spec 初稿、原型、OpenAPI Draft 或其他未冻结资产。 |
|
|
30
|
+
| OpenAPI Draft | review-only 的 OpenAPI 3.1 契约草案。 | — | Freeze 前不得作为前后端稳定实现契约。 |
|
|
31
|
+
| OpenAPI Freeze | 已通过评审、可作为前后端实现和契约测试输入的 OpenAPI 3.1 契约。 | — | Freeze 后变更必须回到 API 影响分析和设计审查。 |
|
|
32
|
+
| YSS 响应包装 | 对外 API 使用 `Result` 基础字段及 `SingleResult`、`MultiResult`、`PageResult` 表达单对象、非分页列表和分页查询结果的统一返回结构。 | — | Java 泛型记法是语义简称;公开 schema 必须落成具体 endpoint wire shape。 |
|
|
33
|
+
| DTO wire shape | DTO 在 HTTP/JSON 边界实际暴露的字段、类型、可空性和方向性;与 Java 字段、getter 或内部协作字段区分。 | — | 以目标 mapper / contract evidence 为准,不从 getter、Lombok 或 `@JsonIgnore` 机械推断。 |
|
|
34
|
+
| UI 影响 | 会改变用户可见页面、导航、交互流程、状态呈现或权限体验的功能影响。 | — | 纯后端、API、批处理或数据变更不自动构成 UI 影响。 |
|
|
35
|
+
| 产品设计影响 | UI 变化触及主流程、导航、权限体验、异常 / 恢复状态、状态流转或 API 反推,需要页面流、状态矩阵和原型校准。 | — | 文案、token、颜色、间距和无行为变化的孤立视觉修复属于 UI 影响,但不自动构成产品设计影响。 |
|
|
36
|
+
| 高保真 HTML 原型 | 低保真原型评审通过后,用于在浏览器中审查真实视觉密度、交互状态和页面流的产品设计资产。 | — | 不等同于生产前端实现,也不替代 OpenAPI、Spec 校准或垂直切片。 |
|
|
37
|
+
| Visual Baseline Contract | 为生产前端还原冻结页面、视口、交互状态、参考图像和允许差异的可验收合同。 | — | 不是仅有一张原型截图或绝对像素匹配;每个基线必须可定位到同一视口和同一状态复验。 |
|
|
38
|
+
| 垂直切片(Vertical Slice) | 贯穿所有受影响层、可独立验证的窄功能路径。 | — | 优先使用垂直切片,避免只按层拆分的横向任务。 |
|
|
39
|
+
| Slice Implementation Contract | 阶段 7 进入实现前,由 `yss-router` 根据冻结资产和垂直切片编译、再由生命周期编排器批准的实现合同,包含 Common、Frontend、Backend、Contract 和 Cross-repo 子合同。 | — | Router 只能生成草案,不能自行批准、设置 `ready-for-agent` 或宣布完成;Backend 子合同仍保留额外强约束。 |
|
|
40
|
+
| YSS Skill Execution Result | YSS 专项 skill 完成工作单元后返回的结构化执行证据,记录合同版本、变更文件、证据文件、实际验证、延期 seam、偏离和新增影响。 | — | 实现者自报 `implemented` 不构成最终通过,必须由 Router、生命周期编排器和独立 Reviewer 复核。 |
|
|
41
|
+
| ADR | 架构决策记录,用于沉淀难以回滚、非显而易见且存在真实取舍的技术决策。 | — | 常规实现选择不要写 ADR。 |
|
|
42
|
+
| Fresh Verification | 完成前重新执行的验证证据,包括测试命令、契约校验、关键路径检查或人工审查结论。 | — | 不等同于“之前跑过”或实现者自述。 |
|
|
43
|
+
| 实现验证命令 | 前端测试 / 构建优先 `pnpm`,后端校验 / 测试 / 编译优先 `./mvnw`。 | — | 不要默认 `npm`、`yarn` 或裸 `mvn`;仓库确实缺少 pnpm 或 Maven Wrapper 时记受控例外。 |
|
|
44
|
+
| 测试质量基线 | 项目实例明确采纳的覆盖率阈值、关键流程清单和受控例外。 | — | 模板推荐值本身不构成可执行门禁;未定义关键流程时,不得声称其 E2E 覆盖率达到 100%。 |
|
|
45
|
+
| 主阶段 | 对相邻研发目标、工作单元和退出条件的粗粒度生命周期分组。 | — | 不等同于门禁编号,也不因增加门禁而自动增加主阶段。 |
|
|
46
|
+
| 生命周期门禁(条件强制门禁) | 只有当影响面命中触发条件时才必须裁决的生命周期审查点。 | — | 未触发时记录 `not-applicable` 及原因,不生成空文档;门禁不是产物、工作单元或证据的统称。 |
|
|
47
|
+
| 生命周期产物 | 生命周期工作单元形成并持久化、可被审查和引用的业务或工程结果。 | — | 文件存在不代表产物已经批准或仍然新鲜。 |
|
|
48
|
+
| 工作单元 | 具有明确输入、输出、允许动作和完成条件的一次有界执行。 | — | 不等同于主阶段或门禁;一个主阶段可以包含多个工作单元。 |
|
|
49
|
+
| 执行证据 | 用于证明工作单元结果、门禁裁决或完成结论的可读取引用和实际验证记录。 | — | 口头声明、计划执行的命令或无法解析的引用不构成执行证据。 |
|
|
50
|
+
| 单一事实来源(Single Source of Truth) | 对某一类流程事实拥有唯一定义权的权威资产。 | — | 其他资产只引用或解释,不重复定义同一规则。 |
|
|
51
|
+
| 流程模板资产 | 可被不同项目复用的文档模板、技能说明、校验脚本、流程规范和目录占位文件。 | — | 不包含某个具体产品的 Spec、设计、OpenAPI 或 Ticket。 |
|
|
52
|
+
| 模板维护流程 | 用于评估影响、修改权威资产、同步投影、执行压力验证并审查模板演进的工作流。 | — | 面向模板源仓库,不默认生成具体产品的 Spec、原型、OpenAPI 或垂直切片 Ticket。 |
|
|
53
|
+
| 模板发布门禁 | 模板源发布前必须通过的结构、技能同步、流程语义和压力场景验证集合。 | — | 不等同于只检查文件存在、Markdown 链接或 YAML 语法。 |
|
|
54
|
+
| Harness 工程 | 串联研发生命周期阶段、门禁、产物、Agent/Skill 编排和追踪证据的工程化治理载体。 | — | 不等同于单个 CI 流水线或零散提示词集合。 |
|
|
55
|
+
| YSS 研发操作系统 | 由生命周期控制、通用工作流、YSS 专项技能、证据反馈和技能供应链共同构成的可版本化研发治理体系。 | — | 不等同于单个主控 skill、某个 Agent 客户端或运行时代码平台。 |
|
|
56
|
+
| 生命周期注册表 | 结构化定义主阶段、门禁、产物、工作单元、证据及其稳定标识和关系的机器可读权威资产。 | — | Markdown 地图、数量说明和验证 fixture 是其派生产物,不应分别维护同一结构事实。 |
|
|
57
|
+
| 生命周期编排器 | 持有阶段、影响面、产物状态、门禁裁决、工作单元路由和恢复条件的研发流程控制平面。 | — | 不替代专项技能执行业务实现,也不以文件存在或执行者自述宣布完成。 |
|
|
58
|
+
| 前端实现还原验证 | 证明生产前端相对冻结 Spec、交互说明、状态矩阵和高保真原型不存在未解释差异的独立验证。 | — | 不是绝对像素复刻、普通 type-check 或原型评审;UI 影响切片需覆盖关键视觉、状态、交互和工程证据。 |
|
|
59
|
+
| 生命周期稳定 ID | 以对象类型命名空间和英文标识唯一指向一个生命周期对象的兼容身份。 | — | 中文名称、展示顺序和数量可以变化;已发布 ID 不得复用来表达另一种语义。 |
|
|
60
|
+
| 派生产物 | 根据生命周期注册表确定性生成的结构表、数量、索引、依赖图或测试 fixture。 | — | 不承载需要人工解释的原理、取舍或实践建议,禁止脱离注册表分别维护。 |
|
|
61
|
+
| 核心技能(Core Skill) | 默认可发现、负责生命周期控制或通用研发入口的稳定技能。 | — | 不包含只在特定技术影响下才需要的专项实现规则。 |
|
|
62
|
+
| 专项技能(Specialist Skill) | 由 Router 根据影响面和实现合同按需选择的前端、后端、OpenAPI 或组件技能。 | — | 不作为所有任务的平级默认入口。 |
|
|
63
|
+
| 试验技能 | 尚未达到项目默认支持成熟度的技能。 | — | 只在明确试验范围内使用,不进入 Router 默认技能闭包。 |
|
|
64
|
+
| 显式兼容入口 | 为已有用户操作习惯保留的 user-invoked 工作流入口,写入前由生命周期编排器预检,结果回交其验收。 | — | 不是默认路径、过时别名或可以越过门禁的第二套生命周期。 |
|
|
65
|
+
| 技能成熟度 | 描述技能从 `draft`、`verified`、`supported` 到 `deprecated` 的治理状态。 | — | 不等同于文件存在、已被投影或能够安装。 |
|
|
66
|
+
| 技能注册表 | 记录技能身份、别名、分层、适用影响面、成熟度、默认可发现性和 Agent 运行时入口的机器可读路由资产。 | — | 不替代 `skills-lock.json` 的来源、hash 和投影完整性职责。当前 `docs/agents/yss-skill-registry.yaml` 为 `shadow`,Router 与生命周期不得按其裁剪发现面。 |
|
|
67
|
+
| LLM Wiki | 由 `raw/`、`wiki/` 与 `.wiki-manifest.json` 组成的本地持久知识库。 | — | 不是 `research` 一次性笔记,也不替代权威源。`ingest` 只把用户点名的外源或已落盘研究笔记编进 IR,不改 live 权威文件。 |
|
|
68
|
+
| 生态发布清单 | 关联模板 schema 与 commit、CLI 版本与快照、公开技能来源与导出 hash 的跨仓发布证据。 | — | 不要求尚未生成的仓库 commit 互相循环引用。 |
|
|
69
|
+
| 研发管理仓库 | 承载 Spec、OpenAPI、架构、Ticket、验证、发布和复盘等研发管理资产的仓库。 | — | 不等同于前端 / 后端代码 monorepo。 |
|
|
70
|
+
| 实现仓库 | 承载前端、后端或其他运行时代码及其 Git、CI、MR / PR、测试命令和发布流水线的仓库。 | — | 不要把实现仓库的源码所有权混入研发管理仓库。 |
|
|
71
|
+
| 跨仓库契约变更 | 需要两个或多个独立仓库协同实现、验证和按顺序发布的共享契约变化。 | — | 任一参与仓库未完成契约对齐和集成验证时,不得单独声称整体可发布。 |
|
|
72
|
+
| 模板源仓库(`template-source`) | 承载 `yss-spec-project-template` 权威模板资产及其演进规则的仓库身份。 | — | 只管理可复用模板,不承载某个具体产品的研发生命周期资产。 |
|
|
73
|
+
| 模板实例仓库(`project-instance`) | 由模板初始化后生成、承载某个具体产品研发生命周期资产的仓库身份。 | — | 不作为通用流程模板的权威来源。 |
|
|
74
|
+
| 模板实例分发面 | 模板源中应随 CLI 快照进入 `project-instance` 的共享生命周期、模板、用户指南和验证资产集合。 | — | 不包含模板源审查、研究、发布路线或源仓库专属 ADR。 |
|
|
75
|
+
| 模板源治理区 | 仅供 `template-source` 使用、保存审查证据、研究记录、跨仓契约、发布路线和源仓库治理决策的归档区域。 | — | 不随 CLI 分发;不等于产品实例的研发管理资产。 |
|
|
76
|
+
| 仓库身份清单 | 显式声明仓库身份和清单结构版本的机器可读资产。 | — | 不承载项目名称、团队规模、Tracker 或其他易变业务配置。 |
|
|
77
|
+
|
|
78
|
+
## 业务术语
|
|
79
|
+
|
|
80
|
+
`project-instance` 在本节新增产品对象。每一行必须有 PascalCase `英文标识`;缺该列视为统一语言未冻结。模板源不放虚构业务行。
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
|
|
25
25
|
## 使用规则
|
|
26
26
|
|
|
27
|
-
- 在 Spec、Ticket 标题、测试、架构说明和实施总结中使用 `CONTEXT.md`
|
|
28
|
-
-
|
|
29
|
-
-
|
|
27
|
+
- 在 Spec、Ticket 标题、测试、架构说明和实施总结中使用 `CONTEXT.md` 定义的中文术语。
|
|
28
|
+
- 业务术语必须同时有 PascalCase `英文标识`;代码类型 / 字段与契约 property 使用该词干按 `CONTEXT.md` 文首规则变形。不把具体类全名、表名或接口路径写入词汇表。
|
|
29
|
+
- `CONTEXT.md` 是领域词汇表,不是需求或实现规格;临时计划和未确认猜测不写入。
|
|
30
|
+
- 如果提案与现有 ADR 或已冻结术语冲突,必须在继续执行前明确指出冲突。
|
|
@@ -19,7 +19,7 @@ owner: ai
|
|
|
19
19
|
| 产品设计 / 交互说明 | | | |
|
|
20
20
|
| 高保真 HTML 原型 | `docs/.scratch/<feature>/design/prototypes/index.html` | | 有 UI 时必需;Ant Design v6 |
|
|
21
21
|
| Prototype Review | | | |
|
|
22
|
-
| CONTEXT 术语 | | |
|
|
22
|
+
| CONTEXT 术语 | | | 业务术语须含 PascalCase `英文标识` |
|
|
23
23
|
|
|
24
24
|
## 2. 冻结范围
|
|
25
25
|
|
|
@@ -66,6 +66,7 @@ Approved / Changes requested / Blocked
|
|
|
66
66
|
| `alibaba-java-code-style` 已纳入审查,命名、异常、日志、ORM/MyBatis、Maven、MapStruct / Lombok 注解处理器配置无 blocker | pass / violation / not-applicable | |
|
|
67
67
|
| 后端构建 / 测试 / OpenAPI / CI / Release 命令使用项目根目录 `./mvnw ...`;裸 `mvn ...` 已改正或有受控例外记录 | pass / violation / not-applicable | |
|
|
68
68
|
| 持久化文档正文、章节标题、审查结论和实施说明使用中文;英文模板内容未原样落地 | pass / violation / not-applicable | |
|
|
69
|
+
| 新增或修改的业务类型 / 字段 / OpenAPI property 能追溯到 `CONTEXT.md` 业务术语的 `英文标识` 词干;未登记的新名字已回写词汇表 | pass / violation / not-applicable | |
|
|
69
70
|
| `Build Architecture Checklist` 已回勾,延期项、漂移项、违反项有明确处理结论 | pass / violation / not-applicable | |
|
|
70
71
|
|
|
71
72
|
### 后端 smoke check
|
|
@@ -73,7 +73,7 @@ owner: ai
|
|
|
73
73
|
|
|
74
74
|
| 检查项 | 是 / 否 | 说明 / 处理 |
|
|
75
75
|
|---|---|---|
|
|
76
|
-
| 是否新增或改变统一语言 / 核心术语 | | 需要回写 `CONTEXT.md` |
|
|
76
|
+
| 是否新增或改变统一语言 / 核心术语 | | 需要回写 `CONTEXT.md` 的中文术语和 PascalCase `英文标识` |
|
|
77
77
|
| 是否新增或改变限界上下文 / 模块边界 | | 需要在产品总体设计中完成 Strategic DDD Check |
|
|
78
78
|
| 是否改变上下文间协作关系 | | 说明上游 / 下游 / 防腐层 / 共享内核关系 |
|
|
79
79
|
| 是否新增或改变聚合、不变量、状态机 | | 需要在系统概要设计 / 数据架构中完成 Tactical DDD Check |
|
|
@@ -129,4 +129,4 @@ Status: ready-for-human
|
|
|
129
129
|
- [ ] 已回勾当前 `contract_id` / `contract_version`、全部工作单元和对应 `YSS Skill Execution Result`
|
|
130
130
|
- [ ] 实际 changed files 均在合同允许路径内,预期证据齐全,验证结果包含执行时间
|
|
131
131
|
- [ ] `new_impacts`、`drift`、`violation` 和重路由状态均有明确结论,合同未处于 `stale`
|
|
132
|
-
- [ ] 如领域或架构决策变化,已更新 `CONTEXT.md` / ADR
|
|
132
|
+
- [ ] 如领域或架构决策变化,已更新 `CONTEXT.md` / ADR;新增业务术语含 PascalCase `英文标识`,代码与契约字段能追溯到该词干
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
| 资产 | 位置 | 用途 |
|
|
19
19
|
| ------ | ----------------------------------------------------------- | ----------------------------------------------------------- |
|
|
20
|
-
| 领域语言 | `CONTEXT.md` | 统一产品、开发、设计、实施和 AI
|
|
20
|
+
| 领域语言 | `CONTEXT.md` | 统一产品、开发、设计、实施和 AI 的业务词汇与英文标识词干 |
|
|
21
21
|
| 需求与验收 | `docs/.scratch/<feature>/spec.md` | 保存 Spec、用户故事、验收条件和边界规则 |
|
|
22
22
|
| API 契约 | `docs/.scratch/<feature>/api/` | 用 OpenAPI 3.1 约束前后端协作 |
|
|
23
23
|
| 行为差异 | `docs/.scratch/<feature>/spec-delta/` | 用轻量 Spec Delta 记录中高风险变化的 ADDED / MODIFIED / REMOVED 行为和测试映射 |
|
|
@@ -77,17 +77,17 @@ CONTEXT.md
|
|
|
77
77
|
|
|
78
78
|
### Step 2: 建立领域词汇
|
|
79
79
|
|
|
80
|
-
在 `CONTEXT.md`
|
|
80
|
+
在 `CONTEXT.md` 的 `## 业务术语` 中只放稳定业务语言,并填写 PascalCase `英文标识`。不放实现细节、类全名或表名。格式以根目录 `CONTEXT.md` 为准。
|
|
81
81
|
|
|
82
|
-
|
|
82
|
+
示例(仅用户指南;不要把虚构行写入模板源 `## 业务术语`):
|
|
83
83
|
|
|
84
|
-
| 术语 | 含义 | 备注 |
|
|
85
|
-
|
|
86
|
-
| 模型 | 对业务数据结构的抽象定义 |
|
|
87
|
-
| 字段 | 模型中的属性定义 |
|
|
88
|
-
| 草稿版本 | 可编辑但未发布的模型版本 | 不能被生产服务引用 |
|
|
89
|
-
| 发布版本 | 已冻结的可引用版本 |
|
|
90
|
-
| 模型校验 | 发布前对字段、命名、关系和约束的检查 | 失败时需要字段级错误 |
|
|
84
|
+
| 术语 | 含义 | 英文标识 | 避免 / 备注 |
|
|
85
|
+
|---|---|---|---|
|
|
86
|
+
| 模型 | 对业务数据结构的抽象定义 | Model | 不等同于数据库表;Table |
|
|
87
|
+
| 字段 | 模型中的属性定义 | Field | SchemaColumn |
|
|
88
|
+
| 草稿版本 | 可编辑但未发布的模型版本 | DraftVersion | 不能被生产服务引用 |
|
|
89
|
+
| 发布版本 | 已冻结的可引用版本 | PublishedVersion | 上线、提交;Release、OnlineVersion |
|
|
90
|
+
| 模型校验 | 发布前对字段、命名、关系和约束的检查 | ModelValidation | 失败时需要字段级错误 |
|
|
91
91
|
|
|
92
92
|
这一步会直接影响后续 AI 生成 Spec、API、代码和测试的质量。可用 `domain-modeling` 持续维护领域语言和 ADR。
|
|
93
93
|
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
| Harness 能力 | 位置 | 用法 |
|
|
63
63
|
|---|---|---|
|
|
64
64
|
| Agent 入口规则 | `AGENTS.md` | 约束风险 / 回滚约束、阶段门禁和默认协作流程 |
|
|
65
|
-
| 领域记忆 | `CONTEXT.md` |
|
|
65
|
+
| 领域记忆 | `CONTEXT.md` | 保存稳定业务术语和英文标识词干,避免每轮重新解释或临场翻译 |
|
|
66
66
|
| 需求和规格资产 | `docs/.scratch/<feature>/discovery/`、`docs/.scratch/<feature>/spec.md`、`docs/.scratch/<feature>/api/` | 把聊天结论变成可审查文件 |
|
|
67
67
|
| 产品设计资产 | `docs/.scratch/<feature>/design/` 或 Figma / 原型工具链接 | 保存页面清单、用户流、原型、交互说明和状态矩阵 |
|
|
68
68
|
| 架构和决策资产 | `docs/.scratch/<feature>/architecture/`、`docs/adr/` | 保存模块边界、状态流和难回滚取舍 |
|
|
@@ -144,7 +144,7 @@ skills 是让 AI 按规程工作的“操作手册”,不是关键词装饰。
|
|
|
144
144
|
| 目标 | 推荐入口 | 注意事项 |
|
|
145
145
|
|---|---|---|
|
|
146
146
|
| 不知道当前该做什么 | `yss-product-lifecycle` | 先阶段判断和资产检查,不写业务代码 |
|
|
147
|
-
| 模糊需求追问 | `grill-with-docs` | 先问清,不让 AI
|
|
147
|
+
| 模糊需求追问 | `grill-with-docs` | 先问清,不让 AI 猜规则;稳定术语和英文标识写 `CONTEXT.md` |
|
|
148
148
|
| 生成 Spec 初稿 / 需求基线 | `to-spec` 或 Spec 模板 | 只基于已确认事实,不把待确认项写成需求 |
|
|
149
149
|
| 产品总体设计 / 功能架构 | `docs/design/templates/product-overview-design-template.md`、`docs/.scratch/<feature>/design/` | Spec 初稿后的必要产物;必须包含低保真原型 / 页面草图;进入页面 / 原型 / 交互设计、Spec 校准或 OpenAPI Draft 前必须完成 |
|
|
150
150
|
| 页面和交互设计 | `product-design:index`、Product Design focused skills、`docs/.scratch/<feature>/design/` | 基于 Spec 初稿和产品总体设计细化页面流、状态和交互,再回填 Spec 并反推 API |
|
|
@@ -361,7 +361,7 @@ docs/.scratch/data-modeling/discovery/data-modeling-opportunity.md
|
|
|
361
361
|
- [ ] 字段级校验和错误展示规则明确。
|
|
362
362
|
- [ ] API 影响已初判。
|
|
363
363
|
- [ ] 风险 / 回滚约束已检查;需要人工确认的事项已记录结论。
|
|
364
|
-
- [ ] 稳定术语已准备写入 `CONTEXT.md
|
|
364
|
+
- [ ] 稳定术语已准备写入 `CONTEXT.md`,业务对象含 PascalCase `英文标识`。
|
|
365
365
|
|
|
366
366
|
## 6. 阶段 3:Spec 初稿 / 需求基线
|
|
367
367
|
|
|
@@ -920,7 +920,7 @@ docs/user-guide/
|
|
|
920
920
|
- 哪些 OpenAPI 字段在 Freeze 后仍被修改,原因是什么?
|
|
921
921
|
- 哪些测试 seam 缺失导致回归风险?
|
|
922
922
|
- 哪些实施问题应该写入用户指南?
|
|
923
|
-
- 哪些规则应该上升到 `CONTEXT.md
|
|
923
|
+
- 哪些规则应该上升到 `CONTEXT.md`(含英文标识)、ADR 或 `AGENTS.md`?
|
|
924
924
|
|
|
925
925
|
阶段门禁:
|
|
926
926
|
|
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
|
|
7
7
|
### 1.1 先稳定语言,再稳定实现
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
业务系统最怕“同一个东西有三个名字”。开始写代码前,先把稳定术语和 PascalCase `英文标识` 写进 `CONTEXT.md` 的 `## 业务术语`。
|
|
10
10
|
|
|
11
11
|
示例:
|
|
12
12
|
|
|
13
13
|
```text
|
|
14
|
-
|
|
14
|
+
模型 / Model、字段 / Field、草稿版本 / DraftVersion、发布版本 / PublishedVersion
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
如果一个术语还在讨论中,可以先放在 Spec 或 discovery 文档,不要急着写进 `CONTEXT.md`。
|
|
@@ -222,7 +222,7 @@ opportunity exploration
|
|
|
222
222
|
|
|
223
223
|
| 文档 | 应该写 | 不应该写 |
|
|
224
224
|
|---|---|---|
|
|
225
|
-
| `CONTEXT.md` |
|
|
225
|
+
| `CONTEXT.md` | 稳定术语与英文标识词干 | 临时计划、类全名、表名、代码路径 |
|
|
226
226
|
| Competitive Matrix | 竞品功能、差异化机会、MVP 边界输入 | 未验证事实、营销文案堆砌 |
|
|
227
227
|
| Spec | 用户问题、范围、验收 | 详细实现代码 |
|
|
228
228
|
| OpenAPI | 接口契约 | 页面交互细节 |
|
|
@@ -436,7 +436,7 @@ OpenAPI Freeze
|
|
|
436
436
|
- [ ] 如果涉及权限、认证、SQL、迁移、加密或公共 API 时,已记录风险判断和验证证据。
|
|
437
437
|
- [ ] 没有调试代码。
|
|
438
438
|
- [ ] 任务清单已更新。
|
|
439
|
-
- [ ] 如果术语或规则变化,已更新 `CONTEXT.md
|
|
439
|
+
- [ ] 如果术语或规则变化,已更新 `CONTEXT.md`(业务术语含 `英文标识`)或 Spec。
|
|
440
440
|
|
|
441
441
|
### 6.3 发布前
|
|
442
442
|
|
|
@@ -579,6 +579,6 @@ OpenAPI Freeze
|
|
|
579
579
|
- 哪些需求被改了两次以上?
|
|
580
580
|
- 哪些实现让实施解释成本变高?
|
|
581
581
|
- 哪些规则应该写入 `AGENTS.md`?
|
|
582
|
-
- 哪些术语应该写入 `CONTEXT.md
|
|
582
|
+
- 哪些术语应该写入 `CONTEXT.md`,并补上英文标识词干?
|
|
583
583
|
|
|
584
584
|
这样这套模板会从“文档目录”逐渐变成你的产品操作系统。
|
|
@@ -121,28 +121,27 @@ grill 的重点是“被问住”。遇到不确定的问题,不要让 AI 替
|
|
|
121
121
|
|
|
122
122
|
## 5. 与 CONTEXT.md 的关系
|
|
123
123
|
|
|
124
|
-
`CONTEXT.md`
|
|
124
|
+
`CONTEXT.md` 只记录稳定业务语言,不记录实现细节。格式与变形规则以根目录 `CONTEXT.md` 文首为准。
|
|
125
125
|
|
|
126
126
|
应该写入:
|
|
127
127
|
|
|
128
128
|
- 业务对象:模型、字段、草稿版本、发布版本。
|
|
129
129
|
- 状态含义:冻结、发布、撤销、失效。
|
|
130
130
|
- 角色和责任:建模人员、实施顾问、平台管理员。
|
|
131
|
-
-
|
|
131
|
+
- PascalCase `英文标识` 词干,供代码类型 / 字段和契约 property 变形。
|
|
132
|
+
- 避免用语:禁用中文近义词和禁用英文别名。
|
|
132
133
|
|
|
133
134
|
不应该写入:
|
|
134
135
|
|
|
135
|
-
-
|
|
136
|
+
- 具体类全名、Vue 组件名、表名、接口路径。
|
|
136
137
|
- 临时计划。
|
|
137
138
|
- 未确认猜测。
|
|
138
139
|
- 具体实现方案。
|
|
139
140
|
|
|
140
|
-
|
|
141
|
+
示例(仅用户指南;不要把虚构行写入模板源 `## 业务术语`):
|
|
141
142
|
|
|
142
143
|
```text
|
|
143
|
-
|
|
144
|
-
将草稿版本冻结为可被下游引用的发布版本。
|
|
145
|
-
_Avoid_: 上线、提交、保存
|
|
144
|
+
| 发布版本 | 已冻结的可引用版本 | PublishedVersion | 上线、提交;Release、OnlineVersion |
|
|
146
145
|
```
|
|
147
146
|
|
|
148
147
|
## 6. 与 ADR 的关系
|
|
@@ -236,7 +236,7 @@ Ticket 需要清晰 change 目标。如果目标还模糊,先 grill。
|
|
|
236
236
|
|---|---|---|
|
|
237
237
|
| AI 一次问十个问题 | 用户难回答,容易敷衍 | 一次聚焦一个主题,必要时一个关键问题一轮 |
|
|
238
238
|
| AI 替业务做决定 | 关键规则来自猜测 | 标为待确认 |
|
|
239
|
-
| 术语都写进 CONTEXT.md | 词汇表膨胀失真 |
|
|
239
|
+
| 术语都写进 CONTEXT.md | 词汇表膨胀失真 | 只写已确认的业务术语,并带 PascalCase `英文标识` |
|
|
240
240
|
| ADR 写成大方案 | 后续没人读 | 只记录决定和原因 |
|
|
241
241
|
| grill 之后直接开发 | Spec / OpenAPI / change 丢失 | 先进入 Spec 或 Ticket |
|
|
242
242
|
| 只问正常路径 | 异常场景上线后暴露 | 必问失败、并发、权限、回滚 |
|
|
@@ -255,7 +255,7 @@ Ticket 需要清晰 change 目标。如果目标还模糊,先 grill。
|
|
|
255
255
|
### grill 过程中
|
|
256
256
|
|
|
257
257
|
- [ ] 不确定的问题标记为待确认。
|
|
258
|
-
- [ ]
|
|
258
|
+
- [ ] 稳定业务术语及时写入 `CONTEXT.md`,并填写 PascalCase `英文标识`。
|
|
259
259
|
- [ ] 冲突术语被指出并解决。
|
|
260
260
|
- [ ] 正常路径、异常路径、权限和边界都被问到。
|
|
261
261
|
- [ ] 重大取舍按 ADR 三条件判断。
|
|
@@ -264,7 +264,7 @@ Ticket 需要清晰 change 目标。如果目标还模糊,先 grill。
|
|
|
264
264
|
|
|
265
265
|
- [ ] 已确认范围和非目标。
|
|
266
266
|
- [ ] 已列出待确认问题。
|
|
267
|
-
- [ ] `CONTEXT.md`
|
|
267
|
+
- [ ] `CONTEXT.md` 没有类全名、表名或接口路径;业务术语有英文标识词干。
|
|
268
268
|
- [ ] ADR 只记录必要决定。
|
|
269
269
|
- [ ] 已明确下一步是 discovery、Spec、OpenAPI、Ticket 还是实现路由。
|
|
270
270
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"wikiRoot": "wiki",
|
|
4
|
-
"compiledAt": "2026-08-
|
|
5
|
-
"gitCommit": "
|
|
4
|
+
"compiledAt": "2026-08-24T03:05:31.972Z",
|
|
5
|
+
"gitCommit": "de5a8f193f84d44c0b8c9b8dc5da501e60846e66",
|
|
6
6
|
"profile": "documents",
|
|
7
7
|
"sources": [
|
|
8
8
|
{
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"livePath": "AGENTS.md",
|
|
12
12
|
"rawPath": "raw/AGENTS.md",
|
|
13
13
|
"role": "copy",
|
|
14
|
-
"sha256": "
|
|
14
|
+
"sha256": "7cfed91a8e530606f1140acf5156acae1b4c7b16ae13c3d960b8905a61fabd0d"
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
17
|
"id": "CONTEXT.md",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"livePath": "CONTEXT.md",
|
|
20
20
|
"rawPath": "raw/CONTEXT.md",
|
|
21
21
|
"role": "copy",
|
|
22
|
-
"sha256": "
|
|
22
|
+
"sha256": "83c31282a9fcfa5ca22e391045fb482cba87d1fb8ae1f31bd93a6224add462d4"
|
|
23
23
|
},
|
|
24
24
|
{
|
|
25
25
|
"id": "README.md",
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"livePath": "docs/agents/yss-skill-registry.yaml",
|
|
84
84
|
"rawPath": "raw/yss-skill-registry.yaml",
|
|
85
85
|
"role": "copy",
|
|
86
|
-
"sha256": "
|
|
86
|
+
"sha256": "b265d25be9bc80166e289ca1702337457ac839aec50290d1ba078c7a100cd474"
|
|
87
87
|
},
|
|
88
88
|
{
|
|
89
89
|
"id": "issue-tracker.md",
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
"livePath": "docs/templates/spec-template.md",
|
|
124
124
|
"rawPath": "raw/spec-template.md",
|
|
125
125
|
"role": "copy",
|
|
126
|
-
"sha256": "
|
|
126
|
+
"sha256": "10d12f0d4c7c148afd74876d057afebdf0a97b65a21cdf2b67ca14a3ce804115"
|
|
127
127
|
},
|
|
128
128
|
{
|
|
129
129
|
"id": "vertical-slice-ticket-template.md",
|
|
@@ -131,7 +131,7 @@
|
|
|
131
131
|
"livePath": "docs/templates/vertical-slice-ticket-template.md",
|
|
132
132
|
"rawPath": "raw/vertical-slice-ticket-template.md",
|
|
133
133
|
"role": "copy",
|
|
134
|
-
"sha256": "
|
|
134
|
+
"sha256": "49bec2cb6df81ab6d76d01920b52197274b39b6381c329baff360e34e64cc341"
|
|
135
135
|
},
|
|
136
136
|
{
|
|
137
137
|
"id": "skills-lock.json",
|
|
@@ -142,7 +142,7 @@
|
|
|
142
142
|
"extract": {
|
|
143
143
|
"kind": "skill-names"
|
|
144
144
|
},
|
|
145
|
-
"sha256": "
|
|
145
|
+
"sha256": "8b6df90beb87c526bc2e0a71de61a2ffd1f76b96cb47e6fe87172ebd849bb45b"
|
|
146
146
|
}
|
|
147
147
|
],
|
|
148
148
|
"articles": [
|
|
@@ -31,7 +31,7 @@ README、用户指南、根目录 `CLAUDE.md` 和其他说明文档只引用或
|
|
|
31
31
|
- 所有面向业务、产品、架构、实施、审查、发布和复盘的落地文档,正文统一使用简体中文。
|
|
32
32
|
- 英文专有名词、代码标识、API 路径、schema、类名、方法名、枚举值、错误码、命令、文件名和协议 metadata 保持原样。
|
|
33
33
|
- 新流程统一使用 Spec、Ticket、`to-spec`、`to-tickets`。过时术语和技能名只能出现在迁移指南或明确标注的旧项目上下文。
|
|
34
|
-
- 实施前读取 `CONTEXT.md
|
|
34
|
+
- 实施前读取 `CONTEXT.md`。业务术语必须已有 PascalCase `英文标识`;代码类型 / 字段与契约 property 使用该词干按 `CONTEXT.md` 文首规则变形。改中文术语或英文标识都先回写 `CONTEXT.md`。与词汇或 ADR 冲突时立即指出并先解决冲突。
|
|
35
35
|
|
|
36
36
|
## 4. `template-source` 模板维护路由
|
|
37
37
|
|
|
@@ -78,7 +78,7 @@ README、用户指南、根目录 `CLAUDE.md` 和其他说明文档只引用或
|
|
|
78
78
|
|---|---|
|
|
79
79
|
| 技术事实、标准、第三方 API 或框架行为影响决策 | `research` 或等价的一手资料记录 |
|
|
80
80
|
| 竞品、市场或用户口碑事实 | `competitive-intelligence` |
|
|
81
|
-
| UI 设计、原型、组件或主题 | `yss-design-system` 后使用 `yss-prototype-stage`;Codex 再路由 `product-design:index`,其他 Agent
|
|
81
|
+
| UI 设计、原型、组件或主题 | `yss-design-system` 后使用 `yss-prototype-stage`;Codex 再路由 `product-design:index`,其他 Agent 交付等价合同资产;原型产出前后用 `yss-antd-design` 记录 Ant Design v6 事实与浏览器验证。前端代码落地改用 `yss-ui`,不要继续调用 `yss-antd-design` |
|
|
82
82
|
| Bug、测试失败或性能回退 | `diagnosing-bugs` 建立可复现反馈,再用 `tdd` |
|
|
83
83
|
| merge / rebase 冲突 | `resolving-merge-conflicts` |
|
|
84
84
|
| 架构治理、难测模块或深模块设计 | `improve-codebase-architecture` / `codebase-design` |
|
|
@@ -1,72 +1,80 @@
|
|
|
1
1
|
# 领域上下文
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
本文档是项目的领域词汇表,只记录稳定业务语言和协作概念,不记录实现细节、计划草稿或架构说明。
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
| 术语 | 含义 | 避免 / 备注 |
|
|
8
|
-
|---|---|---|
|
|
9
|
-
| Agent | 执行特定工作流步骤的 AI 协作者。 | 不要与人工审查者混用。 |
|
|
10
|
-
| Agent 入口规则 | Agent 启动任务时必须先遵守的全局路由、硬门禁和禁止事项。 | 不作为 YSS 后端、前端或其他专项编码规范的完整手册。 |
|
|
11
|
-
| 标准文档语言 | 面向业务、产品、架构、实施、审查、发布和复盘的持久化文档所使用的默认语言。 | 统一使用简体中文;英文专有名词、代码标识、API 路径、schema、文件名和协议 metadata 保持原样。 |
|
|
12
|
-
| Matt Engineering Skills | 来自 `mattpocock/skills` 的轻量工程流程技能集合。 | 用于澄清、Spec、Ticket、实现、TDD、诊断、审查和架构治理,不替代 YSS 专项规范。 |
|
|
13
|
-
| 上游技能基线 | 从外部技能源锁定的可追溯 revision 及其未经项目适配的原始内容。 | 不等同于项目当前实际生效的 skill;上游更新不得直接覆盖 YSS 适配。 |
|
|
14
|
-
| YSS 技能适配 | 在上游技能基线之上,为 YSS 仓库身份、门禁、状态、授权和专项规范保留的可追溯差异。 | 必须同时保留上游内容哈希、有效内容哈希和适配依据,不作无记录的直接 fork。 |
|
|
15
|
-
| YSS skills | 本项目内置的 YSS 工程规范技能。 | 用于 DDD、UI、OpenAPI、Repository、Controller、DTO、组件和编码规范。 |
|
|
16
|
-
| 技能投影 | 从权威共享技能生成、供特定 Agent root 加载的同步副本。 | 投影不是独立维护的技能源,不应在各 Agent root 中分别修改。 |
|
|
17
|
-
| Spec | 记录用户问题、解决方案、用户故事、关键决策、验收标准和测试 seam 的产品研发规格。 | 新资产统一使用 Spec;旧规格称谓只在迁移记录中保留。 |
|
|
18
|
-
| Spec Delta | 记录相对于既有冻结 Spec 基线的 `ADDED / MODIFIED / REMOVED` 行为、验收场景和测试映射。 | 不用于全新产品或全新模块,也不替代完整 Spec、OpenAPI 或架构资产。 |
|
|
19
|
-
| Ticket | 在追踪平台上承载功能生命周期或可实现工作单元的通用追踪对象。 | GitHub Issues / GitLab Issues 是具体平台对象名称;领域资产统一称为 Ticket。 |
|
|
20
|
-
| 功能父 Ticket | 汇总一个功能从 Spec 到契约冻结的阶段状态、资产链接、审查结论和阻塞项的 Ticket。 | 不作为 Agent 直接实现的垂直切片。 |
|
|
21
|
-
| 垂直切片 Ticket | 契约冻结后生成的可独立验证实现单元,记录范围、阻塞关系、验收标准和验证证据。 | 只有通过必要门禁并具备直接实现条件时才能标记 `ready-for-agent`。 |
|
|
22
|
-
| `ready-for-human` | 表示 Spec、设计、契约草案或其他资产仍需人工审查或确认的流程状态。 | 此状态不表示可以直接进入实现。 |
|
|
23
|
-
| `ready-for-agent` | 表示垂直切片已通过必要门禁并具备直接实现条件的流程状态。 | 不得用于 Spec 初稿、原型、OpenAPI Draft 或其他未冻结资产。 |
|
|
24
|
-
| OpenAPI Draft | review-only 的 OpenAPI 3.1 契约草案。 | Freeze 前不得作为前后端稳定实现契约。 |
|
|
25
|
-
| OpenAPI Freeze | 已通过评审、可作为前后端实现和契约测试输入的 OpenAPI 3.1 契约。 | Freeze 后变更必须回到 API 影响分析和设计审查。 |
|
|
26
|
-
| YSS 响应包装 | 对外 API 使用 `Result` 基础字段及 `SingleResult`、`MultiResult`、`PageResult` 表达单对象、非分页列表和分页查询结果的统一返回结构。 | Java 泛型记法是语义简称;公开 schema 必须落成具体 endpoint wire shape。 |
|
|
27
|
-
| DTO wire shape | DTO 在 HTTP/JSON 边界实际暴露的字段、类型、可空性和方向性;与 Java 字段、getter 或内部协作字段区分。 | 以目标 mapper / contract evidence 为准,不从 getter、Lombok 或 `@JsonIgnore` 机械推断。 |
|
|
28
|
-
| UI 影响 | 会改变用户可见页面、导航、交互流程、状态呈现或权限体验的功能影响。 | 纯后端、API、批处理或数据变更不自动构成 UI 影响。 |
|
|
29
|
-
| 产品设计影响 | UI 变化触及主流程、导航、权限体验、异常 / 恢复状态、状态流转或 API 反推,需要页面流、状态矩阵和原型校准。 | 文案、token、颜色、间距和无行为变化的孤立视觉修复属于 UI 影响,但不自动构成产品设计影响。 |
|
|
30
|
-
| 高保真 HTML 原型 | 低保真原型评审通过后,用于在浏览器中审查真实视觉密度、交互状态和页面流的产品设计资产。 | 不等同于生产前端实现,也不替代 OpenAPI、Spec 校准或垂直切片。 |
|
|
31
|
-
| Visual Baseline Contract | 为生产前端还原冻结页面、视口、交互状态、参考图像和允许差异的可验收合同。 | 不是仅有一张原型截图或绝对像素匹配;每个基线必须可定位到同一视口和同一状态复验。 |
|
|
32
|
-
| 垂直切片(Vertical Slice) | 贯穿所有受影响层、可独立验证的窄功能路径。 | 优先使用垂直切片,避免只按层拆分的横向任务。 |
|
|
33
|
-
| Slice Implementation Contract | 阶段 7 进入实现前,由 `yss-router` 根据冻结资产和垂直切片编译、再由生命周期编排器批准的实现合同,包含 Common、Frontend、Backend、Contract 和 Cross-repo 子合同。 | Router 只能生成草案,不能自行批准、设置 `ready-for-agent` 或宣布完成;Backend 子合同仍保留额外强约束。 |
|
|
34
|
-
| YSS Skill Execution Result | YSS 专项 skill 完成工作单元后返回的结构化执行证据,记录合同版本、变更文件、证据文件、实际验证、延期 seam、偏离和新增影响。 | 实现者自报 `implemented` 不构成最终通过,必须由 Router、生命周期编排器和独立 Reviewer 复核。 |
|
|
35
|
-
| ADR | 架构决策记录,用于沉淀难以回滚、非显而易见且存在真实取舍的技术决策。 | 常规实现选择不要写 ADR。 |
|
|
36
|
-
| Fresh Verification | 完成前重新执行的验证证据,包括测试命令、契约校验、关键路径检查或人工审查结论。 | 不等同于“之前跑过”或实现者自述。 |
|
|
37
|
-
| 实现验证命令 | 前端测试 / 构建优先 `pnpm`,后端校验 / 测试 / 编译优先 `./mvnw`。 | 不要默认 `npm`、`yarn` 或裸 `mvn`;仓库确实缺少 pnpm 或 Maven Wrapper 时记受控例外。 |
|
|
38
|
-
| 测试质量基线 | 项目实例明确采纳的覆盖率阈值、关键流程清单和受控例外。 | 模板推荐值本身不构成可执行门禁;未定义关键流程时,不得声称其 E2E 覆盖率达到 100%。 |
|
|
39
|
-
| 主阶段 | 对相邻研发目标、工作单元和退出条件的粗粒度生命周期分组。 | 不等同于门禁编号,也不因增加门禁而自动增加主阶段。 |
|
|
40
|
-
| 生命周期门禁(条件强制门禁) | 只有当影响面命中触发条件时才必须裁决的生命周期审查点。 | 未触发时记录 `not-applicable` 及原因,不生成空文档;门禁不是产物、工作单元或证据的统称。 |
|
|
41
|
-
| 生命周期产物 | 生命周期工作单元形成并持久化、可被审查和引用的业务或工程结果。 | 文件存在不代表产物已经批准或仍然新鲜。 |
|
|
42
|
-
| 工作单元 | 具有明确输入、输出、允许动作和完成条件的一次有界执行。 | 不等同于主阶段或门禁;一个主阶段可以包含多个工作单元。 |
|
|
43
|
-
| 执行证据 | 用于证明工作单元结果、门禁裁决或完成结论的可读取引用和实际验证记录。 | 口头声明、计划执行的命令或无法解析的引用不构成执行证据。 |
|
|
44
|
-
| 单一事实来源(Single Source of Truth) | 对某一类流程事实拥有唯一定义权的权威资产。 | 其他资产只引用或解释,不重复定义同一规则。 |
|
|
45
|
-
| 流程模板资产 | 可被不同项目复用的文档模板、技能说明、校验脚本、流程规范和目录占位文件。 | 不包含某个具体产品的 Spec、设计、OpenAPI 或 Ticket。 |
|
|
46
|
-
| 模板维护流程 | 用于评估影响、修改权威资产、同步投影、执行压力验证并审查模板演进的工作流。 | 面向模板源仓库,不默认生成具体产品的 Spec、原型、OpenAPI 或垂直切片 Ticket。 |
|
|
47
|
-
| 模板发布门禁 | 模板源发布前必须通过的结构、技能同步、流程语义和压力场景验证集合。 | 不等同于只检查文件存在、Markdown 链接或 YAML 语法。 |
|
|
48
|
-
| Harness 工程 | 串联研发生命周期阶段、门禁、产物、Agent/Skill 编排和追踪证据的工程化治理载体。 | 不等同于单个 CI 流水线或零散提示词集合。 |
|
|
49
|
-
| YSS 研发操作系统 | 由生命周期控制、通用工作流、YSS 专项技能、证据反馈和技能供应链共同构成的可版本化研发治理体系。 | 不等同于单个主控 skill、某个 Agent 客户端或运行时代码平台。 |
|
|
50
|
-
| 生命周期注册表 | 结构化定义主阶段、门禁、产物、工作单元、证据及其稳定标识和关系的机器可读权威资产。 | Markdown 地图、数量说明和验证 fixture 是其派生产物,不应分别维护同一结构事实。 |
|
|
51
|
-
| 生命周期编排器 | 持有阶段、影响面、产物状态、门禁裁决、工作单元路由和恢复条件的研发流程控制平面。 | 不替代专项技能执行业务实现,也不以文件存在或执行者自述宣布完成。 |
|
|
52
|
-
| 前端实现还原验证 | 证明生产前端相对冻结 Spec、交互说明、状态矩阵和高保真原型不存在未解释差异的独立验证。 | 不是绝对像素复刻、普通 type-check 或原型评审;UI 影响切片需覆盖关键视觉、状态、交互和工程证据。 |
|
|
53
|
-
| 生命周期稳定 ID | 以对象类型命名空间和英文标识唯一指向一个生命周期对象的兼容身份。 | 中文名称、展示顺序和数量可以变化;已发布 ID 不得复用来表达另一种语义。 |
|
|
54
|
-
| 派生产物 | 根据生命周期注册表确定性生成的结构表、数量、索引、依赖图或测试 fixture。 | 不承载需要人工解释的原理、取舍或实践建议,禁止脱离注册表分别维护。 |
|
|
55
|
-
| 核心技能(Core Skill) | 默认可发现、负责生命周期控制或通用研发入口的稳定技能。 | 不包含只在特定技术影响下才需要的专项实现规则。 |
|
|
56
|
-
| 专项技能(Specialist Skill) | 由 Router 根据影响面和实现合同按需选择的前端、后端、OpenAPI 或组件技能。 | 不作为所有任务的平级默认入口。 |
|
|
57
|
-
| 试验技能 | 尚未达到项目默认支持成熟度的技能。 | 只在明确试验范围内使用,不进入 Router 默认技能闭包。 |
|
|
58
|
-
| 显式兼容入口 | 为已有用户操作习惯保留的 user-invoked 工作流入口,写入前由生命周期编排器预检,结果回交其验收。 | 不是默认路径、过时别名或可以越过门禁的第二套生命周期。 |
|
|
59
|
-
| 技能成熟度 | 描述技能从 `draft`、`verified`、`supported` 到 `deprecated` 的治理状态。 | 不等同于文件存在、已被投影或能够安装。 |
|
|
60
|
-
| 技能注册表 | 记录技能身份、别名、分层、适用影响面、成熟度、默认可发现性和 Agent 运行时入口的机器可读路由资产。 | 不替代 `skills-lock.json` 的来源、hash 和投影完整性职责。当前 `docs/agents/yss-skill-registry.yaml` 为 `shadow`,Router 与生命周期不得按其裁剪发现面。 |
|
|
61
|
-
| LLM Wiki | 由 `raw/`、`wiki/` 与 `.wiki-manifest.json` 组成的本地持久知识库。 | 不是 `research` 一次性笔记,也不替代权威源。`ingest` 只把用户点名的外源或已落盘研究笔记编进 IR,不改 live 权威文件。 |
|
|
62
|
-
| 生态发布清单 | 关联模板 schema 与 commit、CLI 版本与快照、公开技能来源与导出 hash 的跨仓发布证据。 | 不要求尚未生成的仓库 commit 互相循环引用。 |
|
|
63
|
-
| 研发管理仓库 | 承载 Spec、OpenAPI、架构、Ticket、验证、发布和复盘等研发管理资产的仓库。 | 不等同于前端 / 后端代码 monorepo。 |
|
|
64
|
-
| 实现仓库 | 承载前端、后端或其他运行时代码及其 Git、CI、MR / PR、测试命令和发布流水线的仓库。 | 不要把实现仓库的源码所有权混入研发管理仓库。 |
|
|
65
|
-
| 跨仓库契约变更 | 需要两个或多个独立仓库协同实现、验证和按顺序发布的共享契约变化。 | 任一参与仓库未完成契约对齐和集成验证时,不得单独声称整体可发布。 |
|
|
66
|
-
| 模板源仓库(`template-source`) | 承载 `yss-spec-project-template` 权威模板资产及其演进规则的仓库身份。 | 只管理可复用模板,不承载某个具体产品的研发生命周期资产。 |
|
|
67
|
-
| 模板实例仓库(`project-instance`) | 由模板初始化后生成、承载某个具体产品研发生命周期资产的仓库身份。 | 不作为通用流程模板的权威来源。 |
|
|
68
|
-
| 模板实例分发面 | 模板源中应随 CLI 快照进入 `project-instance` 的共享生命周期、模板、用户指南和验证资产集合。 | 不包含模板源审查、研究、发布路线或源仓库专属 ADR。 |
|
|
69
|
-
| 模板源治理区 | 仅供 `template-source` 使用、保存审查证据、研究记录、跨仓契约、发布路线和源仓库治理决策的归档区域。 | 不随 CLI 分发;不等于产品实例的研发管理资产。 |
|
|
70
|
-
| 仓库身份清单 | 显式声明仓库身份和清单结构版本的机器可读资产。 | 不承载项目名称、团队规模、Tracker 或其他易变业务配置。 |
|
|
5
|
+
`英文标识` 是 PascalCase 词干,不是英语释义。`## 业务术语` 必须填写该列;`## 流程术语` 填 `—`。代码类型名、字段名和契约 property 由该词干变形:类名 = 词干 + YSS 工程后缀;字段与 JSON property 为 camelCase;数据库列为 snake_case;枚举常量为 UPPER_SNAKE。工程后缀以 YSS skill 和当前工程惯例为准,不作为领域词写入本表。JSON 与 Java 字段不一致时,以 DTO wire shape / OpenAPI 为准,不在本表另开列。改中文术语或英文标识都是统一语言变更,必须先回写本表。`避免 / 备注` 同时记录禁用中文和禁用英文别名。
|
|
71
6
|
|
|
72
7
|
只有在计划、分诊、调试或架构讨论中明确沉淀出稳定语言时,才新增术语。
|
|
8
|
+
|
|
9
|
+
## 流程术语
|
|
10
|
+
|
|
11
|
+
模板源与生命周期协作概念放在本节。`英文标识` 填 `—`,不回溯补译。
|
|
12
|
+
|
|
13
|
+
| 术语 | 含义 | 英文标识 | 避免 / 备注 |
|
|
14
|
+
|---|---|---|---|
|
|
15
|
+
| Agent | 执行特定工作流步骤的 AI 协作者。 | — | 不要与人工审查者混用。 |
|
|
16
|
+
| Agent 入口规则 | Agent 启动任务时必须先遵守的全局路由、硬门禁和禁止事项。 | — | 不作为 YSS 后端、前端或其他专项编码规范的完整手册。 |
|
|
17
|
+
| 标准文档语言 | 面向业务、产品、架构、实施、审查、发布和复盘的持久化文档所使用的默认语言。 | — | 统一使用简体中文;英文专有名词、代码标识、API 路径、schema、文件名和协议 metadata 保持原样。 |
|
|
18
|
+
| Matt Engineering Skills | 来自 `mattpocock/skills` 的轻量工程流程技能集合。 | — | 用于澄清、Spec、Ticket、实现、TDD、诊断、审查和架构治理,不替代 YSS 专项规范。 |
|
|
19
|
+
| 上游技能基线 | 从外部技能源锁定的可追溯 revision 及其未经项目适配的原始内容。 | — | 不等同于项目当前实际生效的 skill;上游更新不得直接覆盖 YSS 适配。 |
|
|
20
|
+
| YSS 技能适配 | 在上游技能基线之上,为 YSS 仓库身份、门禁、状态、授权和专项规范保留的可追溯差异。 | — | 必须同时保留上游内容哈希、有效内容哈希和适配依据,不作无记录的直接 fork。 |
|
|
21
|
+
| YSS skills | 本项目内置的 YSS 工程规范技能。 | — | 用于 DDD、UI、OpenAPI、Repository、Controller、DTO、组件和编码规范。 |
|
|
22
|
+
| 技能投影 | 从权威共享技能生成、供特定 Agent root 加载的同步副本。 | — | 投影不是独立维护的技能源,不应在各 Agent root 中分别修改。 |
|
|
23
|
+
| Spec | 记录用户问题、解决方案、用户故事、关键决策、验收标准和测试 seam 的产品研发规格。 | — | 新资产统一使用 Spec;旧规格称谓只在迁移记录中保留。 |
|
|
24
|
+
| Spec Delta | 记录相对于既有冻结 Spec 基线的 `ADDED / MODIFIED / REMOVED` 行为、验收场景和测试映射。 | — | 不用于全新产品或全新模块,也不替代完整 Spec、OpenAPI 或架构资产。 |
|
|
25
|
+
| Ticket | 在追踪平台上承载功能生命周期或可实现工作单元的通用追踪对象。 | — | GitHub Issues / GitLab Issues 是具体平台对象名称;领域资产统一称为 Ticket。 |
|
|
26
|
+
| 功能父 Ticket | 汇总一个功能从 Spec 到契约冻结的阶段状态、资产链接、审查结论和阻塞项的 Ticket。 | — | 不作为 Agent 直接实现的垂直切片。 |
|
|
27
|
+
| 垂直切片 Ticket | 契约冻结后生成的可独立验证实现单元,记录范围、阻塞关系、验收标准和验证证据。 | — | 只有通过必要门禁并具备直接实现条件时才能标记 `ready-for-agent`。 |
|
|
28
|
+
| `ready-for-human` | 表示 Spec、设计、契约草案或其他资产仍需人工审查或确认的流程状态。 | — | 此状态不表示可以直接进入实现。 |
|
|
29
|
+
| `ready-for-agent` | 表示垂直切片已通过必要门禁并具备直接实现条件的流程状态。 | — | 不得用于 Spec 初稿、原型、OpenAPI Draft 或其他未冻结资产。 |
|
|
30
|
+
| OpenAPI Draft | review-only 的 OpenAPI 3.1 契约草案。 | — | Freeze 前不得作为前后端稳定实现契约。 |
|
|
31
|
+
| OpenAPI Freeze | 已通过评审、可作为前后端实现和契约测试输入的 OpenAPI 3.1 契约。 | — | Freeze 后变更必须回到 API 影响分析和设计审查。 |
|
|
32
|
+
| YSS 响应包装 | 对外 API 使用 `Result` 基础字段及 `SingleResult`、`MultiResult`、`PageResult` 表达单对象、非分页列表和分页查询结果的统一返回结构。 | — | Java 泛型记法是语义简称;公开 schema 必须落成具体 endpoint wire shape。 |
|
|
33
|
+
| DTO wire shape | DTO 在 HTTP/JSON 边界实际暴露的字段、类型、可空性和方向性;与 Java 字段、getter 或内部协作字段区分。 | — | 以目标 mapper / contract evidence 为准,不从 getter、Lombok 或 `@JsonIgnore` 机械推断。 |
|
|
34
|
+
| UI 影响 | 会改变用户可见页面、导航、交互流程、状态呈现或权限体验的功能影响。 | — | 纯后端、API、批处理或数据变更不自动构成 UI 影响。 |
|
|
35
|
+
| 产品设计影响 | UI 变化触及主流程、导航、权限体验、异常 / 恢复状态、状态流转或 API 反推,需要页面流、状态矩阵和原型校准。 | — | 文案、token、颜色、间距和无行为变化的孤立视觉修复属于 UI 影响,但不自动构成产品设计影响。 |
|
|
36
|
+
| 高保真 HTML 原型 | 低保真原型评审通过后,用于在浏览器中审查真实视觉密度、交互状态和页面流的产品设计资产。 | — | 不等同于生产前端实现,也不替代 OpenAPI、Spec 校准或垂直切片。 |
|
|
37
|
+
| Visual Baseline Contract | 为生产前端还原冻结页面、视口、交互状态、参考图像和允许差异的可验收合同。 | — | 不是仅有一张原型截图或绝对像素匹配;每个基线必须可定位到同一视口和同一状态复验。 |
|
|
38
|
+
| 垂直切片(Vertical Slice) | 贯穿所有受影响层、可独立验证的窄功能路径。 | — | 优先使用垂直切片,避免只按层拆分的横向任务。 |
|
|
39
|
+
| Slice Implementation Contract | 阶段 7 进入实现前,由 `yss-router` 根据冻结资产和垂直切片编译、再由生命周期编排器批准的实现合同,包含 Common、Frontend、Backend、Contract 和 Cross-repo 子合同。 | — | Router 只能生成草案,不能自行批准、设置 `ready-for-agent` 或宣布完成;Backend 子合同仍保留额外强约束。 |
|
|
40
|
+
| YSS Skill Execution Result | YSS 专项 skill 完成工作单元后返回的结构化执行证据,记录合同版本、变更文件、证据文件、实际验证、延期 seam、偏离和新增影响。 | — | 实现者自报 `implemented` 不构成最终通过,必须由 Router、生命周期编排器和独立 Reviewer 复核。 |
|
|
41
|
+
| ADR | 架构决策记录,用于沉淀难以回滚、非显而易见且存在真实取舍的技术决策。 | — | 常规实现选择不要写 ADR。 |
|
|
42
|
+
| Fresh Verification | 完成前重新执行的验证证据,包括测试命令、契约校验、关键路径检查或人工审查结论。 | — | 不等同于“之前跑过”或实现者自述。 |
|
|
43
|
+
| 实现验证命令 | 前端测试 / 构建优先 `pnpm`,后端校验 / 测试 / 编译优先 `./mvnw`。 | — | 不要默认 `npm`、`yarn` 或裸 `mvn`;仓库确实缺少 pnpm 或 Maven Wrapper 时记受控例外。 |
|
|
44
|
+
| 测试质量基线 | 项目实例明确采纳的覆盖率阈值、关键流程清单和受控例外。 | — | 模板推荐值本身不构成可执行门禁;未定义关键流程时,不得声称其 E2E 覆盖率达到 100%。 |
|
|
45
|
+
| 主阶段 | 对相邻研发目标、工作单元和退出条件的粗粒度生命周期分组。 | — | 不等同于门禁编号,也不因增加门禁而自动增加主阶段。 |
|
|
46
|
+
| 生命周期门禁(条件强制门禁) | 只有当影响面命中触发条件时才必须裁决的生命周期审查点。 | — | 未触发时记录 `not-applicable` 及原因,不生成空文档;门禁不是产物、工作单元或证据的统称。 |
|
|
47
|
+
| 生命周期产物 | 生命周期工作单元形成并持久化、可被审查和引用的业务或工程结果。 | — | 文件存在不代表产物已经批准或仍然新鲜。 |
|
|
48
|
+
| 工作单元 | 具有明确输入、输出、允许动作和完成条件的一次有界执行。 | — | 不等同于主阶段或门禁;一个主阶段可以包含多个工作单元。 |
|
|
49
|
+
| 执行证据 | 用于证明工作单元结果、门禁裁决或完成结论的可读取引用和实际验证记录。 | — | 口头声明、计划执行的命令或无法解析的引用不构成执行证据。 |
|
|
50
|
+
| 单一事实来源(Single Source of Truth) | 对某一类流程事实拥有唯一定义权的权威资产。 | — | 其他资产只引用或解释,不重复定义同一规则。 |
|
|
51
|
+
| 流程模板资产 | 可被不同项目复用的文档模板、技能说明、校验脚本、流程规范和目录占位文件。 | — | 不包含某个具体产品的 Spec、设计、OpenAPI 或 Ticket。 |
|
|
52
|
+
| 模板维护流程 | 用于评估影响、修改权威资产、同步投影、执行压力验证并审查模板演进的工作流。 | — | 面向模板源仓库,不默认生成具体产品的 Spec、原型、OpenAPI 或垂直切片 Ticket。 |
|
|
53
|
+
| 模板发布门禁 | 模板源发布前必须通过的结构、技能同步、流程语义和压力场景验证集合。 | — | 不等同于只检查文件存在、Markdown 链接或 YAML 语法。 |
|
|
54
|
+
| Harness 工程 | 串联研发生命周期阶段、门禁、产物、Agent/Skill 编排和追踪证据的工程化治理载体。 | — | 不等同于单个 CI 流水线或零散提示词集合。 |
|
|
55
|
+
| YSS 研发操作系统 | 由生命周期控制、通用工作流、YSS 专项技能、证据反馈和技能供应链共同构成的可版本化研发治理体系。 | — | 不等同于单个主控 skill、某个 Agent 客户端或运行时代码平台。 |
|
|
56
|
+
| 生命周期注册表 | 结构化定义主阶段、门禁、产物、工作单元、证据及其稳定标识和关系的机器可读权威资产。 | — | Markdown 地图、数量说明和验证 fixture 是其派生产物,不应分别维护同一结构事实。 |
|
|
57
|
+
| 生命周期编排器 | 持有阶段、影响面、产物状态、门禁裁决、工作单元路由和恢复条件的研发流程控制平面。 | — | 不替代专项技能执行业务实现,也不以文件存在或执行者自述宣布完成。 |
|
|
58
|
+
| 前端实现还原验证 | 证明生产前端相对冻结 Spec、交互说明、状态矩阵和高保真原型不存在未解释差异的独立验证。 | — | 不是绝对像素复刻、普通 type-check 或原型评审;UI 影响切片需覆盖关键视觉、状态、交互和工程证据。 |
|
|
59
|
+
| 生命周期稳定 ID | 以对象类型命名空间和英文标识唯一指向一个生命周期对象的兼容身份。 | — | 中文名称、展示顺序和数量可以变化;已发布 ID 不得复用来表达另一种语义。 |
|
|
60
|
+
| 派生产物 | 根据生命周期注册表确定性生成的结构表、数量、索引、依赖图或测试 fixture。 | — | 不承载需要人工解释的原理、取舍或实践建议,禁止脱离注册表分别维护。 |
|
|
61
|
+
| 核心技能(Core Skill) | 默认可发现、负责生命周期控制或通用研发入口的稳定技能。 | — | 不包含只在特定技术影响下才需要的专项实现规则。 |
|
|
62
|
+
| 专项技能(Specialist Skill) | 由 Router 根据影响面和实现合同按需选择的前端、后端、OpenAPI 或组件技能。 | — | 不作为所有任务的平级默认入口。 |
|
|
63
|
+
| 试验技能 | 尚未达到项目默认支持成熟度的技能。 | — | 只在明确试验范围内使用,不进入 Router 默认技能闭包。 |
|
|
64
|
+
| 显式兼容入口 | 为已有用户操作习惯保留的 user-invoked 工作流入口,写入前由生命周期编排器预检,结果回交其验收。 | — | 不是默认路径、过时别名或可以越过门禁的第二套生命周期。 |
|
|
65
|
+
| 技能成熟度 | 描述技能从 `draft`、`verified`、`supported` 到 `deprecated` 的治理状态。 | — | 不等同于文件存在、已被投影或能够安装。 |
|
|
66
|
+
| 技能注册表 | 记录技能身份、别名、分层、适用影响面、成熟度、默认可发现性和 Agent 运行时入口的机器可读路由资产。 | — | 不替代 `skills-lock.json` 的来源、hash 和投影完整性职责。当前 `docs/agents/yss-skill-registry.yaml` 为 `shadow`,Router 与生命周期不得按其裁剪发现面。 |
|
|
67
|
+
| LLM Wiki | 由 `raw/`、`wiki/` 与 `.wiki-manifest.json` 组成的本地持久知识库。 | — | 不是 `research` 一次性笔记,也不替代权威源。`ingest` 只把用户点名的外源或已落盘研究笔记编进 IR,不改 live 权威文件。 |
|
|
68
|
+
| 生态发布清单 | 关联模板 schema 与 commit、CLI 版本与快照、公开技能来源与导出 hash 的跨仓发布证据。 | — | 不要求尚未生成的仓库 commit 互相循环引用。 |
|
|
69
|
+
| 研发管理仓库 | 承载 Spec、OpenAPI、架构、Ticket、验证、发布和复盘等研发管理资产的仓库。 | — | 不等同于前端 / 后端代码 monorepo。 |
|
|
70
|
+
| 实现仓库 | 承载前端、后端或其他运行时代码及其 Git、CI、MR / PR、测试命令和发布流水线的仓库。 | — | 不要把实现仓库的源码所有权混入研发管理仓库。 |
|
|
71
|
+
| 跨仓库契约变更 | 需要两个或多个独立仓库协同实现、验证和按顺序发布的共享契约变化。 | — | 任一参与仓库未完成契约对齐和集成验证时,不得单独声称整体可发布。 |
|
|
72
|
+
| 模板源仓库(`template-source`) | 承载 `yss-spec-project-template` 权威模板资产及其演进规则的仓库身份。 | — | 只管理可复用模板,不承载某个具体产品的研发生命周期资产。 |
|
|
73
|
+
| 模板实例仓库(`project-instance`) | 由模板初始化后生成、承载某个具体产品研发生命周期资产的仓库身份。 | — | 不作为通用流程模板的权威来源。 |
|
|
74
|
+
| 模板实例分发面 | 模板源中应随 CLI 快照进入 `project-instance` 的共享生命周期、模板、用户指南和验证资产集合。 | — | 不包含模板源审查、研究、发布路线或源仓库专属 ADR。 |
|
|
75
|
+
| 模板源治理区 | 仅供 `template-source` 使用、保存审查证据、研究记录、跨仓契约、发布路线和源仓库治理决策的归档区域。 | — | 不随 CLI 分发;不等于产品实例的研发管理资产。 |
|
|
76
|
+
| 仓库身份清单 | 显式声明仓库身份和清单结构版本的机器可读资产。 | — | 不承载项目名称、团队规模、Tracker 或其他易变业务配置。 |
|
|
77
|
+
|
|
78
|
+
## 业务术语
|
|
79
|
+
|
|
80
|
+
`project-instance` 在本节新增产品对象。每一行必须有 PascalCase `英文标识`;缺该列视为统一语言未冻结。模板源不放虚构业务行。
|
|
@@ -73,7 +73,7 @@ owner: ai
|
|
|
73
73
|
|
|
74
74
|
| 检查项 | 是 / 否 | 说明 / 处理 |
|
|
75
75
|
|---|---|---|
|
|
76
|
-
| 是否新增或改变统一语言 / 核心术语 | | 需要回写 `CONTEXT.md` |
|
|
76
|
+
| 是否新增或改变统一语言 / 核心术语 | | 需要回写 `CONTEXT.md` 的中文术语和 PascalCase `英文标识` |
|
|
77
77
|
| 是否新增或改变限界上下文 / 模块边界 | | 需要在产品总体设计中完成 Strategic DDD Check |
|
|
78
78
|
| 是否改变上下文间协作关系 | | 说明上游 / 下游 / 防腐层 / 共享内核关系 |
|
|
79
79
|
| 是否新增或改变聚合、不变量、状态机 | | 需要在系统概要设计 / 数据架构中完成 Tactical DDD Check |
|
|
@@ -129,4 +129,4 @@ Status: ready-for-human
|
|
|
129
129
|
- [ ] 已回勾当前 `contract_id` / `contract_version`、全部工作单元和对应 `YSS Skill Execution Result`
|
|
130
130
|
- [ ] 实际 changed files 均在合同允许路径内,预期证据齐全,验证结果包含执行时间
|
|
131
131
|
- [ ] `new_impacts`、`drift`、`violation` 和重路由状态均有明确结论,合同未处于 `stale`
|
|
132
|
-
- [ ] 如领域或架构决策变化,已更新 `CONTEXT.md` / ADR
|
|
132
|
+
- [ ] 如领域或架构决策变化,已更新 `CONTEXT.md` / ADR;新增业务术语含 PascalCase `英文标识`,代码与契约字段能追溯到该词干
|
|
@@ -283,6 +283,12 @@ skills:
|
|
|
283
283
|
instance_default_discoverable: false
|
|
284
284
|
aliases: []
|
|
285
285
|
impacts: [writing]
|
|
286
|
+
- id: yss-antd-design
|
|
287
|
+
layer: specialist
|
|
288
|
+
maturity: supported
|
|
289
|
+
instance_default_discoverable: false
|
|
290
|
+
aliases: []
|
|
291
|
+
impacts: [prototype]
|
|
286
292
|
- id: yss-api-integration
|
|
287
293
|
layer: specialist
|
|
288
294
|
maturity: supported
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
单一事实来源不得在说明文档里重复定义:领域与流程词汇以 `CONTEXT.md` 为准;Agent 入口以 `AGENTS.md` 为准;主阶段、门禁、产物、工作单元、证据和稳定 ID 以 `docs/process/lifecycle-registry.yaml` 为准(`docs/process/lifecycle-artifact-map.md` 只是派生阅读视图);影响面触发与 `not-applicable` 以 `docs/process/harness-process-tailoring.md` 为准(见 [[影响面分诊与流程裁剪]]);技能清单、来源、版本、哈希和投影目标以 `skills-lock.json` 为准。`docs/agents/yss-skill-registry.yaml` 当前 `status: shadow`,不作为 Router / 生命周期运行时入口。
|
|
6
6
|
|
|
7
|
-
落地文档正文统一使用简体中文;英文专有名词、路径、schema、命令与协议 metadata
|
|
7
|
+
落地文档正文统一使用简体中文;英文专有名词、路径、schema、命令与协议 metadata 保持原样。业务术语必须已有 PascalCase `英文标识`;代码类型 / 字段与契约 property 使用该词干按 `CONTEXT.md` 文首规则变形;改中文术语或英文标识都先回写 `CONTEXT.md`。新流程统一使用 Spec、Ticket、`to-spec`、`to-tickets`。功能父 Ticket 汇总阶段证据;Spec 初稿、产品设计、原型、OpenAPI Draft 和待冻结资产使用 `ready-for-human`;只有通过必要门禁、阻塞边已清除并具备直接实现条件的垂直切片 Ticket 才能使用 `ready-for-agent`(见 [[Ticket与流程状态]])。
|
|
8
8
|
|
|
9
9
|
进入实现前先读 `docs/process/implementation-repo-integration.md` 并登记实现仓库,再由 `yss-router` 编译最小 skill 集合与当前实现合同(见 [[YSS路由与合同编译]])。当前仓库默认是研发管理仓库,运行时代码优先在独立实现仓库;只有用户明确选择时才用 `apps/backend/<project>/` 或 `apps/frontend/<project>/`。`app/backend/`、`app/frontend/` 禁止作为工程输出(见 [[实现仓库与跨仓库契约]])。前端测试、type-check 与构建优先 `pnpm`;后端校验、测试与编译优先项目根 `./mvnw`;不要默认 `npm` / `yarn` 或裸 `mvn`。根目录 `CLAUDE.md` 只引用 `AGENTS.md`,不是第二套入口规则。
|
|
10
10
|
|
|
@@ -6,7 +6,7 @@ Spec 是记录用户问题、解决方案、用户故事、关键决策、验收
|
|
|
6
6
|
|
|
7
7
|
模板 `docs/templates/spec-template.md` 的 frontmatter 含 `pipeline`、`stage`、`status`、`owner`;`status` 默认 `ready-for-human`,`stage` 默认 `open`,`owner` 默认 `ai`。正文先挂功能父 Ticket,再写问题陈述、解决方案、用户故事、功能需求、非功能需求、验收标准(gherkin)、产品总体设计 / 功能架构、OpenAPI 影响、DDD 影响判断、测试决策、AI / 人工审查点、非目标范围和风险。Local 路径约定为 `docs/.scratch/<feature>/spec.md`,父 Ticket 为 `docs/.scratch/<feature>/parent-ticket.md`。
|
|
8
8
|
|
|
9
|
-
验收标准写可观察结果,不写实现步骤。测试决策要标明主要测试 seam、代码库中的相似测试,以及单元 / 领域行为、API / 契约、前端组件、E2E 关键路径是否必需。DDD 影响判断只做轻量检查:统一语言变化回写 `CONTEXT.md
|
|
9
|
+
验收标准写可观察结果,不写实现步骤。测试决策要标明主要测试 seam、代码库中的相似测试,以及单元 / 领域行为、API / 契约、前端组件、E2E 关键路径是否必需。DDD 影响判断只做轻量检查:统一语言变化回写 `CONTEXT.md` 的中文术语和 PascalCase `英文标识`;限界上下文变化在产品总体设计中补 Strategic DDD Check;聚合、不变量或状态机变化在系统概要设计 / 数据架构中补 Tactical DDD Check。未触发时不另开流程阶段。
|
|
10
10
|
|
|
11
11
|
存在 UI 影响时,Spec 才强制低保真页面草图、状态矩阵、高保真 HTML 原型和用户确认;否则记录 `not-applicable` 及原因。UI 影响不等于 [[产品设计影响与原型]]:只有主流程、导航、权限体验、异常 / 恢复、状态流转或 API 反推才构成产品设计影响。OpenAPI 影响在 Spec 中先勾选「无 / 需要 API 影响分析 / 需要 review-only OpenAPI Draft」,Draft 路径为 `docs/.scratch/<feature>/api/<feature>.yaml`;Draft 在 Freeze 前只供评审,见 [[OpenAPI契约]]。
|
|
12
12
|
|
|
@@ -42,3 +42,10 @@ lint 脚本改为失败跨路径 wikilink、校验 manifest sha256,并要求 H
|
|
|
42
42
|
- unmapped: (none)
|
|
43
43
|
|
|
44
44
|
同步 raw 中的 `AGENTS.md` / `CONTEXT.md`,重放 `skill-names` 摘录(内容未变)。刷新 [[Agent入口规则]]、[[LLM Wiki]] 与 [[模板总览]] 中与 ingest / refresh 分界相关的句子;新增基础设施 `concept-table.md`;`CLAUDE.md` 补 Status / INGEST。未改其余命中页:AGENTS 仅增 ingest 入口句,CONTEXT 仅澄清 ingest 不替代权威源,锁文件只变 `effectiveHash`。
|
|
45
|
+
|
|
46
|
+
## [2026-08-24] REFRESH | CONTEXT 英文标识词干
|
|
47
|
+
- changed: AGENTS.md, CONTEXT.md, spec-template.md, vertical-slice-ticket-template.md, yss-skill-registry.yaml, skills-lock.json
|
|
48
|
+
- articles: Agent入口规则, Spec基线, 垂直切片Ticket, 模板总览, 复盘与权威资产修订
|
|
49
|
+
- unmapped: (none)
|
|
50
|
+
|
|
51
|
+
同步 raw 中的 `CONTEXT.md` / `AGENTS.md` / Spec 与垂直切片模板。刷新上述文章中与 PascalCase `英文标识` 词干相关的句子。未改其余命中页。`yss-skill-registry.yaml` 与 `skills-lock.json` 为既有 live 漂移,仅对齐 raw / hash(补入 `yss-antd-design`),不改技能投影文章。
|
|
@@ -10,7 +10,7 @@ Spec 初稿、产品设计、原型、OpenAPI Draft 和待冻结资产一律使
|
|
|
10
10
|
|
|
11
11
|
工作单元必须写验收行为、主 / 辅 skill、`behavior-tdd` 或 `controlled-generation`、允许写路径、预期证据和验证命令。业务规则、状态机、事务、权限、错误映射、复杂查询和用户可见交互必须 `behavior-tdd`;`controlled-generation` 只覆盖机械脚手架、样板、冻结客户端或配置,并记录 exception reason。涉及后端时必须填写 Backend 合同与 skill 表,不得只写「符合 YSS」。出现 `drift`、`violation` 或非空 `new_impacts` 时暂停受影响工作单元,不得先完成代码再补合同。
|
|
12
12
|
|
|
13
|
-
完成定义要求:实现与测试通过,调试 / 原型代码已移除,合同与 `YSS Skill Execution Result` 已回勾,实际 changed files 均在允许路径内,验证结果含执行时间,重路由状态有明确结论且合同未 `stale
|
|
13
|
+
完成定义要求:实现与测试通过,调试 / 原型代码已移除,合同与 `YSS Skill Execution Result` 已回勾,实际 changed files 均在允许路径内,验证结果含执行时间,重路由状态有明确结论且合同未 `stale`。领域或架构决策变化时更新 `CONTEXT.md` / ADR,新增业务术语含 PascalCase `英文标识`,代码与契约字段能追溯到该词干。路径越界、证据缺失、未执行验证时停止实现并重新路由,见 [[条件强制门禁]] 与 [[实现仓库与跨仓库契约]]。整条链路属于 [[产品研发生命周期]] 的 Ticket 正式化与垂直切片实现阶段。
|
|
14
14
|
|
|
15
15
|
## 来源
|
|
16
16
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
复盘与发布工作单元是 `work-unit.release-and-retrospective`:输入已审查候选、发布窗口和回滚点;输出发布 / 回滚证据和复盘记录;完成条件为人工发布裁决、fresh verification 和治理回流均完成(见 [[Fresh验证与独立审查]] 与 [[产品研发生命周期]])。
|
|
6
6
|
|
|
7
|
-
复盘输入包括验证证据、审查报告、Ticket 证据与 Git checkpoint(见 [[Ticket与流程状态]])。落地文档可用 `docs/templates/retro-report-template.md`,包含「做得好的地方」「需要改进的地方」「改进动作」「沉淀去向」。发现回流到对应单一事实来源:领域词汇修订 `CONTEXT.md
|
|
7
|
+
复盘输入包括验证证据、审查报告、Ticket 证据与 Git checkpoint(见 [[Ticket与流程状态]])。落地文档可用 `docs/templates/retro-report-template.md`,包含「做得好的地方」「需要改进的地方」「改进动作」「沉淀去向」。发现回流到对应单一事实来源:领域词汇修订 `CONTEXT.md`(含英文标识词干),入口与硬门禁修订 `AGENTS.md`,主阶段 / 门禁 / 工作单元修订 `docs/process/lifecycle-registry.yaml`,影响面与 `not-applicable` 修订 `docs/process/harness-process-tailoring.md`,技能问题进入 `maintaining-skills` 并更新 `skills-lock.json`(见 [[模板维护流程]] 与 [[条件强制门禁]])。
|
|
8
8
|
|
|
9
9
|
复盘修订仍按影响面分诊:命中触发条件才生成对应资产,未命中只记录 `not-applicable` 及原因,不生成空文档(见 [[影响面分诊与流程裁剪]])。跨仓库契约偏差须同步到外部仓库责任边界,任一参与仓库未完成契约对齐和集成验证时,不得单独声称整体可发布(见 [[实现仓库与跨仓库契约]])。
|
|
10
10
|
|
|
@@ -6,7 +6,7 @@ YSS Spec Project Template 是 Matt Pocock Engineering Skills × YSS × OpenAPI
|
|
|
6
6
|
|
|
7
7
|
任务开始必须先读根目录 `yss-project.yaml`。当前仓库 `repository_mode` 为 `template-source`,走 [[模板维护流程]],不默认生成具体产品的 Spec、原型、OpenAPI 或垂直切片 Ticket。`create-yss-spec` 创建或接管的产品仓库写入 `project-instance`,再进入 [[产品研发生命周期]];CLI 只管理研发管理资产,不接管前后端运行时代码。身份判定细则见 [[仓库身份与路由]]。
|
|
8
8
|
|
|
9
|
-
单一事实来源不得在 README 或用户指南里另写一套:领域与流程词汇以 `CONTEXT.md`
|
|
9
|
+
单一事实来源不得在 README 或用户指南里另写一套:领域与流程词汇以 `CONTEXT.md` 为准(中文术语加 PascalCase `英文标识` 词干,见 [[Agent入口规则]]);Agent 入口、硬门禁与禁止事项以 `AGENTS.md` 为准(见 [[Agent入口规则]]);主阶段、门禁、产物、工作单元、证据和稳定 ID 以 `docs/process/lifecycle-registry.yaml` 为准;技能清单、来源、版本、哈希和投影目标以 `skills-lock.json` 为准(见 [[技能投影与锁定]])。
|
|
10
10
|
|
|
11
11
|
`.agents/skills` 是跨 Agent 共享技能的权威内容;各平台 root 中的共享技能是生成投影。模板发布阻断门禁是 `scripts/verify-template`,且与外部 `create-yss-spec` 的跨仓库契约未完成集成验证时不得声称可发布(见 [[模板发布门禁与验证]])。本地知识库的 init / refresh / rebuild,或要把研究结果落成持久 wiki,走 [[LLM Wiki]](落成持久 wiki 用 `ingest`;已映射 live 源变了用 `refresh`);一次性一手资料笔记仍走 `research`。
|
|
12
12
|
|
package/template.snapshot.json
CHANGED
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
"templateName": "yss-spec-project-template",
|
|
4
4
|
"templateSource": "github:iloveZzz/yss-spec-project-template",
|
|
5
5
|
"templateRepository": "https://github.com/iloveZzz/yss-spec-project-template.git",
|
|
6
|
-
"requestedRef": "
|
|
7
|
-
"templateCommit": "
|
|
6
|
+
"requestedRef": "986ded5d78e2d0bd816f7f8038aec6ef2d7c6d0a",
|
|
7
|
+
"templateCommit": "986ded5d78e2d0bd816f7f8038aec6ef2d7c6d0a",
|
|
8
8
|
"encodedPaths": {
|
|
9
9
|
".codex/skills/data-analytics/.gitignore": ".codex/skills/data-analytics/__yss_dotfile__.gitignore",
|
|
10
10
|
".codex/skills/product-design/.npmignore": ".codex/skills/product-design/__yss_dotfile__.npmignore",
|
|
11
11
|
".codex/skills/product-design/templates/prototype/.npmrc": ".codex/skills/product-design/templates/prototype/__yss_dotfile__.npmrc",
|
|
12
12
|
".gitignore": "__yss_dotfile__.gitignore"
|
|
13
13
|
},
|
|
14
|
-
"snapshotHash": "
|
|
15
|
-
"generatedAt": "2026-08-
|
|
14
|
+
"snapshotHash": "e15b05f44ef09f9953338c6846345c1197d615f7d31370deb0b3c5cdc3195376",
|
|
15
|
+
"generatedAt": "2026-08-24T05:35:24.742Z"
|
|
16
16
|
}
|