universal-dev-standards 6.9.0 → 6.10.0
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/bundled/core/agent-communication-protocol.md +8 -0
- package/bundled/core/branch-completion.md +8 -0
- package/bundled/core/change-batching-standards.md +8 -0
- package/bundled/core/execution-history.md +8 -0
- package/bundled/core/pipeline-integration-standards.md +8 -0
- package/bundled/core/workflow-enforcement.md +8 -0
- package/bundled/core/workflow-state-protocol.md +8 -0
- package/bundled/locales/zh-CN/CHANGELOG.md +29 -3
- package/bundled/locales/zh-CN/README.md +1 -1
- package/bundled/locales/zh-CN/SECURITY.md +1 -1
- package/bundled/locales/zh-CN/core/agent-communication-protocol.md +7 -0
- package/bundled/locales/zh-CN/core/branch-completion.md +7 -0
- package/bundled/locales/zh-CN/core/change-batching-standards.md +7 -0
- package/bundled/locales/zh-CN/core/execution-history.md +7 -0
- package/bundled/locales/zh-CN/core/pipeline-integration-standards.md +7 -0
- package/bundled/locales/zh-CN/core/workflow-enforcement.md +7 -0
- package/bundled/locales/zh-CN/core/workflow-state-protocol.md +7 -0
- package/bundled/locales/zh-CN/docs/MIGRATION-v6.md +8 -4
- package/bundled/locales/zh-TW/CHANGELOG.md +30 -3
- package/bundled/locales/zh-TW/README.md +1 -1
- package/bundled/locales/zh-TW/SECURITY.md +1 -1
- package/bundled/locales/zh-TW/core/agent-communication-protocol.md +7 -0
- package/bundled/locales/zh-TW/core/branch-completion.md +7 -0
- package/bundled/locales/zh-TW/core/change-batching-standards.md +7 -0
- package/bundled/locales/zh-TW/core/execution-history.md +7 -0
- package/bundled/locales/zh-TW/core/pipeline-integration-standards.md +7 -0
- package/bundled/locales/zh-TW/core/workflow-enforcement.md +7 -0
- package/bundled/locales/zh-TW/core/workflow-state-protocol.md +7 -0
- package/bundled/locales/zh-TW/docs/MIGRATION-v6.md +8 -4
- package/package.json +7 -6
- package/src/commands/check.js +161 -24
- package/src/commands/config.js +19 -19
- package/src/commands/init.js +13 -4
- package/src/commands/spec.js +2 -2
- package/src/commands/update.js +251 -29
- package/src/i18n/messages.js +36 -0
- package/src/installers/integration-installer.js +4 -4
- package/src/installers/skills-installer.js +4 -4
- package/src/installers/standards-installer.js +3 -3
- package/src/prompts/init.js +33 -4
- package/src/reconciler/diff-engine.js +57 -2
- package/src/reconciler/plan-executor.js +31 -11
- package/src/utils/integration-generator.js +209 -81
- package/src/utils/reference-sync.js +103 -7
- package/src/utils/registry.js +57 -0
- package/src/utils/spinner.js +31 -0
- package/standards-registry.json +8 -8
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Agent Communication Protocol
|
|
2
2
|
|
|
3
|
+
<!-- UDS:REFERENCE-ONLY since=6.0.0 -->
|
|
4
|
+
> **Reference only — UDS does not install this standard.** Its machine-readable
|
|
5
|
+
> `.ai.yaml` was removed in 6.0.0; the document is kept here for the adoption
|
|
6
|
+
> layer that implements it, and is **not distributed by `uds init` or
|
|
7
|
+
> `uds update`**. The list this notice is checked against is
|
|
8
|
+
> [`scripts/reference-only-standards.json`](../scripts/reference-only-standards.json);
|
|
9
|
+
> the migration record is [`docs/MIGRATION-v6.md`](../docs/MIGRATION-v6.md) §2.
|
|
10
|
+
|
|
3
11
|
> **Language**: English | [繁體中文](../locales/zh-TW/core/agent-communication-protocol.md)
|
|
4
12
|
|
|
5
13
|
**Version**: 1.0.0
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Branch Completion Workflow
|
|
2
2
|
|
|
3
|
+
<!-- UDS:REFERENCE-ONLY since=6.0.0 -->
|
|
4
|
+
> **Reference only — UDS does not install this standard.** Its machine-readable
|
|
5
|
+
> `.ai.yaml` was removed in 6.0.0; the document is kept here for the adoption
|
|
6
|
+
> layer that implements it, and is **not distributed by `uds init` or
|
|
7
|
+
> `uds update`**. The list this notice is checked against is
|
|
8
|
+
> [`scripts/reference-only-standards.json`](../scripts/reference-only-standards.json);
|
|
9
|
+
> the migration record is [`docs/MIGRATION-v6.md`](../docs/MIGRATION-v6.md) §2.
|
|
10
|
+
|
|
3
11
|
> **Language**: English | [繁體中文](../locales/zh-TW/core/branch-completion.md)
|
|
4
12
|
|
|
5
13
|
**Version**: 1.0.0
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Change Batching Standards
|
|
2
2
|
|
|
3
|
+
<!-- UDS:REFERENCE-ONLY since=6.0.0 -->
|
|
4
|
+
> **Reference only — UDS does not install this standard.** Its machine-readable
|
|
5
|
+
> `.ai.yaml` was removed in 6.0.0; the document is kept here for the adoption
|
|
6
|
+
> layer that implements it, and is **not distributed by `uds init` or
|
|
7
|
+
> `uds update`**. The list this notice is checked against is
|
|
8
|
+
> [`scripts/reference-only-standards.json`](../scripts/reference-only-standards.json);
|
|
9
|
+
> the migration record is [`docs/MIGRATION-v6.md`](../docs/MIGRATION-v6.md) §2.
|
|
10
|
+
|
|
3
11
|
> **Language**: English | [繁體中文](../locales/zh-TW/core/change-batching-standards.md)
|
|
4
12
|
|
|
5
13
|
**Applicability**: All software projects using automated development pipelines
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Execution History Repository Standards
|
|
2
2
|
|
|
3
|
+
<!-- UDS:REFERENCE-ONLY since=6.0.0 -->
|
|
4
|
+
> **Reference only — UDS does not install this standard.** Its machine-readable
|
|
5
|
+
> `.ai.yaml` was removed in 6.0.0; the document is kept here for the adoption
|
|
6
|
+
> layer that implements it, and is **not distributed by `uds init` or
|
|
7
|
+
> `uds update`**. The list this notice is checked against is
|
|
8
|
+
> [`scripts/reference-only-standards.json`](../scripts/reference-only-standards.json);
|
|
9
|
+
> the migration record is [`docs/MIGRATION-v6.md`](../docs/MIGRATION-v6.md) §2.
|
|
10
|
+
|
|
3
11
|
**Applicability**: All AI-assisted software projects
|
|
4
12
|
**Scope**: universal
|
|
5
13
|
**Version**: 1.0.0
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Pipeline Integration Standards
|
|
2
2
|
|
|
3
|
+
<!-- UDS:REFERENCE-ONLY since=6.0.0 -->
|
|
4
|
+
> **Reference only — UDS does not install this standard.** Its machine-readable
|
|
5
|
+
> `.ai.yaml` was removed in 6.0.0; the document is kept here for the adoption
|
|
6
|
+
> layer that implements it, and is **not distributed by `uds init` or
|
|
7
|
+
> `uds update`**. The list this notice is checked against is
|
|
8
|
+
> [`scripts/reference-only-standards.json`](../scripts/reference-only-standards.json);
|
|
9
|
+
> the migration record is [`docs/MIGRATION-v6.md`](../docs/MIGRATION-v6.md) §2.
|
|
10
|
+
|
|
3
11
|
> **Language**: English | [繁體中文](../locales/zh-TW/core/pipeline-integration-standards.md)
|
|
4
12
|
|
|
5
13
|
**Applicability**: All software projects using automated development pipelines
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Workflow Enforcement Standards
|
|
2
2
|
|
|
3
|
+
<!-- UDS:REFERENCE-ONLY since=6.0.0 -->
|
|
4
|
+
> **Reference only — UDS does not install this standard.** Its machine-readable
|
|
5
|
+
> `.ai.yaml` was removed in 6.0.0; the document is kept here for the adoption
|
|
6
|
+
> layer that implements it, and is **not distributed by `uds init` or
|
|
7
|
+
> `uds update`**. The list this notice is checked against is
|
|
8
|
+
> [`scripts/reference-only-standards.json`](../scripts/reference-only-standards.json);
|
|
9
|
+
> the migration record is [`docs/MIGRATION-v6.md`](../docs/MIGRATION-v6.md) §2.
|
|
10
|
+
|
|
3
11
|
**Applicability**: All software projects using structured development methodologies
|
|
4
12
|
**Scope**: universal
|
|
5
13
|
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Workflow State Protocol
|
|
2
2
|
|
|
3
|
+
<!-- UDS:REFERENCE-ONLY since=6.0.0 -->
|
|
4
|
+
> **Reference only — UDS does not install this standard.** Its machine-readable
|
|
5
|
+
> `.ai.yaml` was removed in 6.0.0; the document is kept here for the adoption
|
|
6
|
+
> layer that implements it, and is **not distributed by `uds init` or
|
|
7
|
+
> `uds update`**. The list this notice is checked against is
|
|
8
|
+
> [`scripts/reference-only-standards.json`](../scripts/reference-only-standards.json);
|
|
9
|
+
> the migration record is [`docs/MIGRATION-v6.md`](../docs/MIGRATION-v6.md) §2.
|
|
10
|
+
|
|
3
11
|
**Version**: 1.0.0
|
|
4
12
|
**Last Updated**: 2026-03-17
|
|
5
13
|
**Applicability**: All projects using multi-phase AI workflows
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
source: ../../CHANGELOG.md
|
|
3
|
-
source_version: 6.
|
|
4
|
-
translation_version: 6.
|
|
5
|
-
last_synced: 2026-09-
|
|
3
|
+
source_version: 6.10.0
|
|
4
|
+
translation_version: 6.10.0
|
|
5
|
+
last_synced: 2026-09-16
|
|
6
6
|
status: current
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -17,6 +17,32 @@ status: current
|
|
|
17
17
|
|
|
18
18
|
## [Unreleased]
|
|
19
19
|
|
|
20
|
+
## [6.10.0] - 2026-09-16
|
|
21
|
+
|
|
22
|
+
### 修复
|
|
23
|
+
|
|
24
|
+
- **`uds update --apply` 会忘掉它没有动到的每一个斜杠命令,而 `uds check` 说一切完整。** 一个装有 51 个 OpenCode 命令的项目,三个文件内容漂移:plan 列出那三个,`--apply` 之后 manifest 只剩三条 `commandHashes`——另外 48 个文件仍在磁盘上,却没有任何东西在跟踪它们。同一次 `uds check` 同时打印「Commands: 51 installed」与「✓ All command files intact (3 files)」,而篡改那 48 个之一,两行都不会变(2026-09-16 于干净临时项目在 6.9.0 上实测)。reconciler 在合并新哈希前,会先删掉该工具的所有哈希键——只有在安装器重装了该工具全部命令时才正确,`uds update` 自己的调用点如此,plan 这条路不是。现在改为合并,与 skills 路径一贯的做法相同;plan 标记删除时,只移除该文件那一条。`uds check` 另外列出磁盘上没有任何哈希覆盖的命令文件,两个数字不再能各说各话。
|
|
25
|
+
- **集成文件指向磁盘上不存在的标准,而引用检查说它们同步。** 以 `--format ai` 安装的项目,`uds update --integrations-only` 写出 `Reference: .standards/anti-hallucination.md` 与 `.standards/checkin-standards.md`,这两个文件只存在于 `human` 格式。规则模板一律以 `.md` 书写引用路径,不看实际安装格式;而规则段落位于 UDS 标记之外,标记式更新从不刷新它们——由旧版 CLI 首次写出的文件,在该文件停止发布两个主版本之后,仍留着 `.standards/commit-message-guide.md`。现在无论生成新文件还是更新既有文件,引用路径都会对照本项目实际安装的标准与格式解析;指向未采用标准的引用会被移除,而不是留成死链接。`uds check` 改为报告「文件不存在」的引用,而不是以去掉扩展名的名称比对。只有 UDS 自己发布的标准会被移除:项目自行放进 `.standards/` 的文件,其引用原样保留。
|
|
26
|
+
- **`uds check` 建议执行 `uds update --sync-refs`,而它跑不起来。** manifest 没有 `integrationConfigs` 时 `--sync-refs` 直接中止,而这个键只有 `uds init` 的交互流程会写入——以 `uds init -y` 创建的项目从第一天起就是 `{}`,所以一个全新的 6.9.0 项目,已经处在那段错误信息归咎于「旧版本、手动复制」的状态。`--sync-refs` 现在会从 manifest(integrations、AI 工具、标准、选项)重建配置,而不是拒绝执行;`uds check` 只在它确实可执行时才提它,否则改指 `uds update --integrations-only`。
|
|
27
|
+
- **`uds check` 把已采用的标准报成索引中缺少。** id 对文件名的表只从 `source.ai` 建立,但部分 registry 条目的 `source` 是字符串——`zh-tw-locale` 是 `extensions/locales/zh-tw.md`——于是它安装出的 `.standards/zh-tw.md` 从未被认出,在明明列出该文件的集成文件上显示「67/68 项标准已引用,缺少:zh-tw-locale」。
|
|
28
|
+
- **引用同步把选项文件报成孤儿,并建议 UDS 已不再发布的文件名。** 选项记在 `manifest.options` 而非 `manifest.standards`,于是每个 `.standards/options/*.ai.yaml` 引用都被报成「未在 manifest 中」;而「未引用的标准」清单来自一张手写的 6.0.0 之前文件名表(`git-workflow.md`、`error-code-standards.md`、`project-structure.md`)。现在选项会被认得,清单也只列出本项目实际持有的文件。
|
|
29
|
+
- **`uds check` 把 `AGENTS.md` 列了两次。** Codex 与 OpenCode 共用同一份文件,而检查是逐工具而非逐文件进行。现在每个文件只报告一次,并标明共用它的工具。
|
|
30
|
+
- **七条 `core/*.md` 标准自 6.0.0 起就没有被安装过,而它们一个字都没说([#180](https://github.com/AsiaOstrich/universal-dev-standards/issues/180))。** 它们的 `.ai.yaml` 在 6.0.0 被移除,文档则刻意留在 `core/` 作为采用层的参考——这个决定合理,也记在 `docs/MIGRATION-v6.md` §2 与 `scripts/reference-only-standards.json` 里,但**没有记在读者真正会遇到它的地方**。迁移指南在升级时读一次,`core/` 是持续被读的:走访它来回答「UDS 有哪些标准」的人或 agent 会数到 152 份,其中七份 `uds init` 从未安装过。七份现在都在开头带一段 `<!-- UDS:REFERENCE-ONLY -->` 告示,英文、繁中、简中三份都有,并指向迁移记录与那份机器可读清单。新闸门(`npm run check:reference-only`,已接进 CI 并附两臂自测)从 registry 里每一条 `source.human` 现算出货面,把它与 `core/*.md` 的差集当成 reference-only 集合,要求每一份都要披露——**反过来也要求正在出货的文档不得带着这段告示**,所以一条重新开始出货的标准不会留下一句谎话。用现算而不是比对那七个名字,是为了让下一次缩减范围不会重演同一种沉默。
|
|
31
|
+
- **`--format human` 的安装把 `testing-standards.md` 挂在两个标准 id 下送出,而全覆盖那一份从来没送到。** `full-coverage-testing` 的 registry 条目把 `source.human` 指到 `core/testing-standards.md`,于是 `core/full-coverage-testing.md`——一条活着的标准,最近一次维护是 XSPEC-288——没有任何人装得到,而 human 格式的 manifest 里同一条路径出现两次。`check-registry-completeness.ts` 的 Check 2 看不到它:那支只要 human 或 ai 任一条路径出现在 registry 文字里就算通过,而 ai 那条在。由上面那支闸门首跑时抓到,是七份预期之外的第八份。修正前后各跑一次真正的 `uds init --format human` 验证。
|
|
32
|
+
- **`uds update --sync-refs` 写进去的标准数,`uds check` 当场否认。** manifest 有 73 条标准的项目,`--sync-refs` 把 CLAUDE.md 改成宣告 76 条,`uds check` 随即回「索引宣告 76 条标准,manifest 实际有 73 条」;而 `--integrations-only` 算得出正确数字,于是它看起来像计数错误,其实是**来源错误**。`--sync-refs` 是从 `integrationConfigs[文件名]` 重新生成的,那里面的 `installedStandards` 是安装当时的快照、**没有任何路径会更新它**——跨大版本升级过的项目,它仍列着 6.0.0 就停止发布的标准,而它列什么,文件内容就是什么。现在改为从 manifest 重新生成;旧快照只剩 `outputLanguage` 还有发言权。
|
|
33
|
+
- **已安装标准索引在每个项目都写「options 0」。** `uds init` 把安装清单缩成纯文件名,而下游一律以 `/options/` 这个路径片段判断选项——在 `contentLayout: flat` 下根本没有目录可以还原它。一个有 66 条核心标准与 7 个选项的项目,被告知自己有「73 条(core 73、options 0)」。同一个缩减也让 AGENTS.md 里每个选项文件都被写成 `.standards/<名称>.ai.yaml`,比选项实际安装的位置高一层,于是每一条都是死链接。现在路径完整传递,AGENTS.md 的选项写在 `.standards/options/`,并依项目实际格式而非一律假设 `ai`。
|
|
34
|
+
- **照着迁移指南做,会让 `uds check` 报错,而它给的解法不可能成功。** MIGRATION-v6 §2 说要手动删掉七个已降级的 `.ai.yaml`。删掉之后 `fileHashes` 记录还在,`uds check` 于是把七个文件报成遗失并建议 `uds check --restore`,而那个还原在每一个文件上都失败(「无法判断来源」)——上游自 6.0.0 起就没有来源了。现在,一个 UDS 已不再发布的文件不见了,会与真正的遗失分开报告;`uds update` 会清掉那些记录并逐笔说出清了什么,**包含已经在最新版的项目**。`--prune` 碰不到它们:它删的是走访 `.standards/` 时找得到的文件。
|
|
35
|
+
- **UDS 重新生成了 AGENTS.md,却没有记下自己写了什么。** `uds update --integrations-only` 之后紧接着 `uds check`,会在一个只有 UDS 动过的文件上报 `AGENTS.md(已修改)`。三个写 AGENTS.md 的调用点都记了 `integrationBlockHashes`,没有一个记 `fileHashes`。现在已存在的记录会被更新;manifest 没在追踪的文件仍然不会被纳入追踪。
|
|
36
|
+
- **在 Windows PowerShell 上,跑成功看起来像失败。** 进度消息走 stderr,而 PowerShell 5.1 会把原生命令的任何 stderr 输出包成 `NativeCommandError`——**包括报告成功的那一句**。改动前实测:stdout 9 行、stderr 2 行,两行都是 spinner。47 个 spinner 现在一律写 stdout。
|
|
37
|
+
- **删除计划用同一句话解释三种完全不同的情况。** 「no longer in desired state」同时被打给「上游已移除的标准」「项目自己取消选取的选项」「desired state 根本没有建模的路径」。现在理由会说出是哪一种。`.standards/release-config.yaml` 则完全不再是删除候选:它是 `uds init` 依用户挑的发布模式写出、`uds config` 会改写的文件,删掉它是在丢掉一个设置却自称在对账。
|
|
38
|
+
- **一个 .NET Framework 项目拿到四个命令,其中三个跑不动。** `.csproj` 自 2017 年起同时指涉两套互不兼容的构建系统,而检测只看扩展名:旧式项目拿到 `dotnet build`(以 `MSB4019` 失败)与 `dotnet list package --vulnerable`(对 `packages.config` 项目静静地什么都不报)。旧式项目现在 `build` 给 `msbuild`,其余留白。
|
|
39
|
+
- **每一份生成的指示文件,开头都叫 AI 去读一个永远不会被安装的目录。** 九个工具、每种语言,全都以「**优先**读取 `core/` 中的精简规则」开场。`uds init` 安装到 `.standards/`,从来没有在采用者的项目里建立过 `core/`。同样两句话有 36 份副本、错法一模一样。现在它们指向 `.standards/`,并有一支测试走访生成结果。
|
|
40
|
+
- **`uds update` 把中文的 CLAUDE.md 改写成英文。** `uds init` 依 `display_language` 生成集成文件内容,而每一条重新生成的路径都是从 `output_language`(commit 消息语言,默认 `english`)推导的。现在内容语言依 `display_language`。
|
|
41
|
+
|
|
42
|
+
### 新增
|
|
43
|
+
|
|
44
|
+
- **`uds check` 现在会报出指示文件里提到、但实际不存在的路径。** 先前它只读 `Reference:`/`参考:` 开头的行、而且只看 `.standards/` 路径。UDS 标记之外、由旧版安装留下、之后没有任何重新生成会回头看的散文,把 agent 指向不存在的文件。这支扫描以**文件存不存在**为准而非以路径长相为准,网址里的路径也会被排除。它首跑就找到了本次修正中的两项缺陷。
|
|
45
|
+
|
|
20
46
|
## [6.9.0] - 2026-09-14
|
|
21
47
|
|
|
22
48
|
### 采用者升级注意
|
|
@@ -15,7 +15,7 @@ status: current
|
|
|
15
15
|
|
|
16
16
|
> **语言**: [English](../../README.md) | [繁體中文](../zh-TW/README.md) | 简体中文
|
|
17
17
|
|
|
18
|
-
**版本**: 6.
|
|
18
|
+
**版本**: 6.10.0 | **发布日期**: 2026-09-16 | **授权**: [双重授权](../../LICENSE) (CC BY 4.0 + MIT)
|
|
19
19
|
|
|
20
20
|
语言无关、框架无关的软件项目文档标准。通过 AI 原生工作流,确保不同技术栈之间的一致性、质量和可维护性。
|
|
21
21
|
|
|
@@ -8,6 +8,13 @@ status: current
|
|
|
8
8
|
|
|
9
9
|
# Agent 通信协议
|
|
10
10
|
|
|
11
|
+
<!-- UDS:REFERENCE-ONLY since=6.0.0 -->
|
|
12
|
+
> **仅供参考——UDS 不会安装这条标准。** 它的机器可读文件 `.ai.yaml` 已于 6.0.0 移除;
|
|
13
|
+
> 本文档保留在此,供实现它的采用层参考,**不由 `uds init` 或 `uds update` 发布**。
|
|
14
|
+
> 本告示所对照的清单是
|
|
15
|
+
> [`scripts/reference-only-standards.json`](../../../scripts/reference-only-standards.json),
|
|
16
|
+
> 迁移记录见 [`docs/MIGRATION-v6.md`](../../../docs/MIGRATION-v6.md) §2。
|
|
17
|
+
|
|
11
18
|
> **语言**: [English](../../../core/agent-communication-protocol.md) | 简体中文
|
|
12
19
|
|
|
13
20
|
**版本**: 1.0.0
|
|
@@ -10,6 +10,13 @@ status: current
|
|
|
10
10
|
|
|
11
11
|
# 分支完成工作流程
|
|
12
12
|
|
|
13
|
+
<!-- UDS:REFERENCE-ONLY since=6.0.0 -->
|
|
14
|
+
> **仅供参考——UDS 不会安装这条标准。** 它的机器可读文件 `.ai.yaml` 已于 6.0.0 移除;
|
|
15
|
+
> 本文档保留在此,供实现它的采用层参考,**不由 `uds init` 或 `uds update` 发布**。
|
|
16
|
+
> 本告示所对照的清单是
|
|
17
|
+
> [`scripts/reference-only-standards.json`](../../../scripts/reference-only-standards.json),
|
|
18
|
+
> 迁移记录见 [`docs/MIGRATION-v6.md`](../../../docs/MIGRATION-v6.md) §2。
|
|
19
|
+
|
|
13
20
|
**版本**: 1.0.0
|
|
14
21
|
**最后更新**: 2026-03-20
|
|
15
22
|
**适用范围**: 所有使用 Git 分支工作流的项目
|
|
@@ -8,6 +8,13 @@ status: current
|
|
|
8
8
|
|
|
9
9
|
# 变更批次标准
|
|
10
10
|
|
|
11
|
+
<!-- UDS:REFERENCE-ONLY since=6.0.0 -->
|
|
12
|
+
> **仅供参考——UDS 不会安装这条标准。** 它的机器可读文件 `.ai.yaml` 已于 6.0.0 移除;
|
|
13
|
+
> 本文档保留在此,供实现它的采用层参考,**不由 `uds init` 或 `uds update` 发布**。
|
|
14
|
+
> 本告示所对照的清单是
|
|
15
|
+
> [`scripts/reference-only-standards.json`](../../../scripts/reference-only-standards.json),
|
|
16
|
+
> 迁移记录见 [`docs/MIGRATION-v6.md`](../../../docs/MIGRATION-v6.md) §2。
|
|
17
|
+
|
|
11
18
|
> **语言**: [English](../../../core/change-batching-standards.md) | 简体中文
|
|
12
19
|
|
|
13
20
|
**适用范围**: 所有使用自动化开发流程的软件项目
|
|
@@ -8,6 +8,13 @@ status: current
|
|
|
8
8
|
|
|
9
9
|
# 执行历史存储库标准
|
|
10
10
|
|
|
11
|
+
<!-- UDS:REFERENCE-ONLY since=6.0.0 -->
|
|
12
|
+
> **仅供参考——UDS 不会安装这条标准。** 它的机器可读文件 `.ai.yaml` 已于 6.0.0 移除;
|
|
13
|
+
> 本文档保留在此,供实现它的采用层参考,**不由 `uds init` 或 `uds update` 发布**。
|
|
14
|
+
> 本告示所对照的清单是
|
|
15
|
+
> [`scripts/reference-only-standards.json`](../../../scripts/reference-only-standards.json),
|
|
16
|
+
> 迁移记录见 [`docs/MIGRATION-v6.md`](../../../docs/MIGRATION-v6.md) §2。
|
|
17
|
+
|
|
11
18
|
> **语言**: [English](../../../core/execution-history.md) | 简体中文
|
|
12
19
|
|
|
13
20
|
**版本**: 1.0.0
|
|
@@ -8,6 +8,13 @@ status: current
|
|
|
8
8
|
|
|
9
9
|
# Pipeline 整合标准
|
|
10
10
|
|
|
11
|
+
<!-- UDS:REFERENCE-ONLY since=6.0.0 -->
|
|
12
|
+
> **仅供参考——UDS 不会安装这条标准。** 它的机器可读文件 `.ai.yaml` 已于 6.0.0 移除;
|
|
13
|
+
> 本文档保留在此,供实现它的采用层参考,**不由 `uds init` 或 `uds update` 发布**。
|
|
14
|
+
> 本告示所对照的清单是
|
|
15
|
+
> [`scripts/reference-only-standards.json`](../../../scripts/reference-only-standards.json),
|
|
16
|
+
> 迁移记录见 [`docs/MIGRATION-v6.md`](../../../docs/MIGRATION-v6.md) §2。
|
|
17
|
+
|
|
11
18
|
> **语言**: [English](../../../core/pipeline-integration-standards.md) | 简体中文
|
|
12
19
|
|
|
13
20
|
**适用范围**: 所有使用自动化开发 Pipeline 的软件项目
|
|
@@ -8,6 +8,13 @@ status: current
|
|
|
8
8
|
|
|
9
9
|
# 工作流程强制执行标准
|
|
10
10
|
|
|
11
|
+
<!-- UDS:REFERENCE-ONLY since=6.0.0 -->
|
|
12
|
+
> **仅供参考——UDS 不会安装这条标准。** 它的机器可读文件 `.ai.yaml` 已于 6.0.0 移除;
|
|
13
|
+
> 本文档保留在此,供实现它的采用层参考,**不由 `uds init` 或 `uds update` 发布**。
|
|
14
|
+
> 本告示所对照的清单是
|
|
15
|
+
> [`scripts/reference-only-standards.json`](../../../scripts/reference-only-standards.json),
|
|
16
|
+
> 迁移记录见 [`docs/MIGRATION-v6.md`](../../../docs/MIGRATION-v6.md) §2。
|
|
17
|
+
|
|
11
18
|
**适用范围**:所有使用结构化开发方法论的软件项目
|
|
12
19
|
**范围**:通用
|
|
13
20
|
|
|
@@ -8,6 +8,13 @@ status: current
|
|
|
8
8
|
|
|
9
9
|
# 工作流程状态协议
|
|
10
10
|
|
|
11
|
+
<!-- UDS:REFERENCE-ONLY since=6.0.0 -->
|
|
12
|
+
> **仅供参考——UDS 不会安装这条标准。** 它的机器可读文件 `.ai.yaml` 已于 6.0.0 移除;
|
|
13
|
+
> 本文档保留在此,供实现它的采用层参考,**不由 `uds init` 或 `uds update` 发布**。
|
|
14
|
+
> 本告示所对照的清单是
|
|
15
|
+
> [`scripts/reference-only-standards.json`](../../../scripts/reference-only-standards.json),
|
|
16
|
+
> 迁移记录见 [`docs/MIGRATION-v6.md`](../../../docs/MIGRATION-v6.md) §2。
|
|
17
|
+
|
|
11
18
|
> **语言**: [English](../../../core/workflow-state-protocol.md) | [繁體中文](../../zh-TW/core/workflow-state-protocol.md)
|
|
12
19
|
|
|
13
20
|
**版本**: 1.0.0
|
|
@@ -32,14 +32,13 @@ UDS 6.0.0 是 **major** 版本:包含一项 breaking 更名、移除 8 个已
|
|
|
32
32
|
|
|
33
33
|
**不受影响**:指涉外部工具内建 review 命令(如 Codex)的 `/review` 字样与 UDS 无关,刻意保留原样。
|
|
34
34
|
|
|
35
|
-
## 2. 移除:
|
|
35
|
+
## 2. 移除:7 个已弃用的机器可读标准(`.ai.yaml`)
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
这些标准的 runtime 已于 5.4.0 移交采用层(XSPEC-086/095;UDS 定义活动、采用层编排流程——DEC-049),其 `.ai.yaml` stub 如期移除:
|
|
38
38
|
|
|
39
39
|
| 移除的 `.ai.yaml` | 保留的人类可读文件 |
|
|
40
40
|
|---|---|
|
|
41
41
|
| `agent-communication-protocol` | `core/agent-communication-protocol.md` |
|
|
42
|
-
| `agent-dispatch` | `core/agent-dispatch.md` |
|
|
43
42
|
| `branch-completion` | `core/branch-completion.md` |
|
|
44
43
|
| `change-batching-standards` | `core/change-batching-standards.md` |
|
|
45
44
|
| `execution-history` | `core/execution-history.md` |
|
|
@@ -51,7 +50,12 @@ UDS 6.0.0 是 **major** 版本:包含一项 breaking 更名、移除 8 个已
|
|
|
51
50
|
|
|
52
51
|
- 若从未直接载入这些 `.ai.yaml`:不需动作——人类可读概念仍留在 `core/` 作为参考文件。
|
|
53
52
|
- 若采用层(agent runtime、orchestrator、CI)曾载入这些 stub:在自家工具链实作等效机制。这些 stub 自 5.4.0 起本身就是指向此方向的弃用告示。
|
|
54
|
-
- 这些标准不再由 `uds init` / `uds update`
|
|
53
|
+
- 这些标准不再由 `uds init` / `uds update` 发布。每一份保留下来的 `core/*.md` 都在自己的开头写明这件事,而 `scripts/reference-only-standards.json` 是那份清单的机器可读版本。
|
|
54
|
+
- **`agent-dispatch` 曾在这张表上,现在不在了。** 它的 `.ai.yaml` 已于 XSPEC-362 R5a 恢复、正常发布,而本指南在那之后仍把它列为已移除,跨了两个大版本。**你的 manifest 里若还有它,那是对的。**
|
|
55
|
+
- 专案 `.standards/` 中既有副本不会被自动删除。请用 **`uds update --prune`**,不要手动删:
|
|
56
|
+
- `--prune` 会连同 `fileHashes` 里的记录一起移除。手动删只删掉文件,记录还在,`uds check` 会把每一个报成「遗失」并建议 `uds check --restore`——**而那个还原不可能成功**,因为上游已经没有来源了。
|
|
57
|
+
- **从 6.8.x 以前升上来之后的第一次 `uds update` 什么都不会删**,不论你加什么旗标:此时还没有文件归属记录,而 UDS 不会凭一笔不存在的记录删东西。先跑一次 `uds update`,再跑 `uds update --prune`。
|
|
58
|
+
- `--prune` 不会清 `integrationConfigs[<文件名>].installedStandards`。那份快照正是 `uds update --sync-refs` 重新生成时所依据的东西,所以残留在那里的项目仍可能把错的标准数写进你的 CLAUDE.md。`uds update --integrations-only` 则是从 manifest 重算。
|
|
55
59
|
|
|
56
60
|
## 3. 移除:4 个已弃用的 CLI 命令
|
|
57
61
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
source: ../../CHANGELOG.md
|
|
3
|
-
source_version: 6.
|
|
4
|
-
translation_version: 6.
|
|
5
|
-
last_synced: 2026-09-
|
|
3
|
+
source_version: 6.10.0
|
|
4
|
+
translation_version: 6.10.0
|
|
5
|
+
last_synced: 2026-09-16
|
|
6
6
|
status: current
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -17,6 +17,33 @@ status: current
|
|
|
17
17
|
|
|
18
18
|
## [Unreleased]
|
|
19
19
|
|
|
20
|
+
## [6.10.0] - 2026-09-16
|
|
21
|
+
|
|
22
|
+
### 修正
|
|
23
|
+
|
|
24
|
+
- **`uds update --apply` 會忘掉它沒有動到的每一個斜線命令,而 `uds check` 說一切完整。** 一個裝有 51 個 OpenCode 命令的專案,三個檔案內容漂移:plan 列出那三個,`--apply` 之後 manifest 只剩三筆 `commandHashes`——另外 48 個檔案仍在磁碟上,卻沒有任何東西在追蹤它們。同一次 `uds check` 同時印出「Commands: 51 installed」與「✓ All command files intact (3 files)」,而竄改那 48 個之一,兩行都不會變(2026-09-16 於乾淨暫存專案在 6.9.0 上實測)。reconciler 在合併新雜湊前,會先刪掉該工具的所有雜湊鍵——只有在安裝器重裝了該工具全部命令時才正確,`uds update` 自己的呼叫點是如此,plan 這條路不是。現在改為合併,與 skills 路徑一直以來的做法相同;plan 標記刪除時,只移除該檔案那一筆。`uds check` 另外列出磁碟上沒有任何雜湊涵蓋的命令檔,兩個數字不再能各說各話。
|
|
25
|
+
- **整合檔指向磁碟上不存在的標準,而參考檢查說它們同步。** 以 `--format ai` 安裝的專案,`uds update --integrations-only` 寫出 `Reference: .standards/anti-hallucination.md` 與 `.standards/checkin-standards.md`,這兩個檔案只存在於 `human` 格式。規則模板一律以 `.md` 書寫參考路徑,不看實際安裝格式;而規則段落位於 UDS 標記之外,標記式更新從不刷新它們——由舊版 CLI 首次寫出的檔案,在該檔案停止出貨兩個主版本之後,仍留著 `.standards/commit-message-guide.md`。現在無論是產生新檔或更新既有檔案,參考路徑都會對照這個專案實際安裝的標準與格式解析;指向未採用標準的參考會被移除,而不是留成死連結。`uds check` 改為回報「檔案不存在」的參考,而不是以去掉副檔名的名稱比對。只有 UDS 自己出貨的標準會被移除:專案自行放進 `.standards/` 的檔案,其參考原字不動。
|
|
26
|
+
- **`uds check` 建議執行 `uds update --sync-refs`,而它跑不起來。** manifest 沒有 `integrationConfigs` 時 `--sync-refs` 直接中止,而這個鍵只有 `uds init` 的互動流程會寫入——以 `uds init -y` 建立的專案從第一天起就是 `{}`,所以一個全新的 6.9.0 專案,已經處在那段錯誤訊息歸咎於「舊版本、手動複製」的狀態。`--sync-refs` 現在會從 manifest(integrations、AI 工具、標準、選項)重建設定,而不是拒絕執行;`uds check` 只在它確實可執行時才提它,否則改指 `uds update --integrations-only`。
|
|
27
|
+
- **`uds check` 把已採用的標準報成索引中缺少。** id 對檔名的表只從 `source.ai` 建立,但部分 registry 條目的 `source` 是字串——`zh-tw-locale` 是 `extensions/locales/zh-tw.md`——於是它安裝出的 `.standards/zh-tw.md` 從未被認出,在明明列出該檔的整合檔上顯示「67/68 項標準已參考,缺少:zh-tw-locale」。
|
|
28
|
+
- **參考同步把選項檔報成孤兒,並建議 UDS 已不再出貨的檔名。** 選項記在 `manifest.options` 而非 `manifest.standards`,於是每個 `.standards/options/*.ai.yaml` 參考都被報成「未在 manifest 中」;而「未參考的標準」清單來自一張手寫的 6.0.0 之前檔名表(`git-workflow.md`、`error-code-standards.md`、`project-structure.md`)。現在選項會被認得,清單也只列出這個專案實際持有的檔案。
|
|
29
|
+
- **`uds check` 把 `AGENTS.md` 列了兩次。** Codex 與 OpenCode 共用同一份檔案,而檢查是逐工具而非逐檔案進行。現在每個檔案只回報一次,並標明共用它的工具。
|
|
30
|
+
- **七條 `core/*.md` 標準自 6.0.0 起就沒有被安裝過,而它們一個字都沒說([#180](https://github.com/AsiaOstrich/universal-dev-standards/issues/180))。** 它們的 `.ai.yaml` 在 6.0.0 被移除,文件則刻意留在 `core/` 當作採用層的參考——這個決定合理,也記在 `docs/MIGRATION-v6.md` §2 與 `scripts/reference-only-standards.json` 裡,但**沒有記在讀者真正會遇到它的地方**。遷移指南在升級時讀一次,`core/` 是持續被讀的:走訪它來回答「UDS 有哪些標準」的人或 agent 會數到 152 份,其中七份 `uds init` 從未安裝過。七份現在都在開頭帶一段 `<!-- UDS:REFERENCE-ONLY -->` 告示,英文、繁中、簡中三份都有,並指向遷移紀錄與那份機器可讀清單。新閘門(`npm run check:reference-only`,已接進 CI 並附兩臂自測)從 registry 裡每一條 `source.human` 現算出貨面,把它與 `core/*.md` 的差集當成 reference-only 集合,要求每一份都要揭露——**反過來也要求有在出貨的文件不得帶著這段告示**,所以一條重新開始出貨的標準不會留下一句謊話。用現算而不是比對那七個名字,是為了讓下一次縮減範圍不會重演同一種沉默。
|
|
31
|
+
- **`--format human` 的安裝把 `testing-standards.md` 掛在兩個標準 id 底下送出,而全覆蓋那一份從來沒送到。** `full-coverage-testing` 的 registry 條目把 `source.human` 指到 `core/testing-standards.md`,於是 `core/full-coverage-testing.md`——一條活著的標準,最近一次維護是 XSPEC-288——沒有任何人裝得到,而 human 格式的 manifest 裡同一條路徑出現兩次。`check-registry-completeness.ts` 的 Check 2 看不到它:那支只要 human 或 ai 任一條路徑出現在 registry 文字裡就算通過,而 ai 那條在。由上面那支閘門首跑時抓到,是七份預期之外的第八份。修正前後各跑一次真正的 `uds init --format human` 驗證。
|
|
32
|
+
- **`uds update --sync-refs` 寫進去的標準數,`uds check` 當場否認。** manifest 有 73 條標準的專案,`--sync-refs` 把 CLAUDE.md 改成宣告 76 條,`uds check` 隨即回「索引宣告 76 條標準,manifest 實際有 73 條」;而 `--integrations-only` 算得出正確數字,於是它看起來像計數錯誤,其實是**來源錯誤**。`--sync-refs` 是從 `integrationConfigs[檔名]` 重新產生的,那裡面的 `installedStandards` 是安裝當時的快照、**沒有任何路徑會更新它**——跨大版本升級過的專案,它仍列著 6.0.0 就停止出貨的標準,而它列什麼,檔案內容就是什麼。現在改為從 manifest 重新產生,正如 `buildToolIntegrationConfig` 自己的註解一直寫著的那樣;舊快照只剩 `outputLanguage` 還有發言權,避免一個早於該選項的 manifest 把使用者的選擇悄悄重設。
|
|
33
|
+
- **已安裝標準索引在每個專案都寫「options 0」。** `uds init` 把安裝清單縮成純檔名,而下游一律以 `/options/` 這個路徑片段判斷選項——在 `contentLayout: flat` 底下根本沒有目錄可以還原它。一個有 66 條核心標準與 7 個選項的專案,被告知自己有「73 條(core 73、options 0)」。同一個縮減也讓 AGENTS.md 裡每個選項檔都被寫成 `.standards/<名稱>.ai.yaml`,比選項實際安裝的位置高一層,於是每一條都是死連結——而它們就列在一句「你必須讀這些標準」底下。現在路徑完整傳遞,AGENTS.md 的選項寫在 `.standards/options/`,並且依專案實際格式而非一律假設 `ai`(`--format human` 的專案先前拿到的是一串 `.ai.yaml` 檔名,而它手上是 `.md`)。
|
|
34
|
+
- **照著遷移指南做,會讓 `uds check` 報錯,而它給的解法不可能成功。** MIGRATION-v6 §2 說要手動刪掉七個已降級的 `.ai.yaml`。刪掉之後 `fileHashes` 紀錄還在,`uds check` 於是把七個檔案報成遺失並建議 `uds check --restore`,而那個還原在每一個檔案上都失敗(「無法判斷來源」)——上游自 6.0.0 起就沒有來源了。**工具要求採用者推翻它自己的文件,用的還是一個它已經知道跑不動的指令。** 現在,一個 UDS 已不再出貨的檔案不見了,會與真正的遺失分開回報、用灰色、並給出真的有用的解法;`uds update` 會清掉那些紀錄並逐筆說出清了什麼,**包含已經在最新版的專案**——照指南做過的人必然都在那個狀態。`--prune` 碰不到它們:它刪的是走訪 `.standards/` 時找得到的檔案,而這些正是已經不在那裡的。
|
|
35
|
+
- **UDS 重新產生了 AGENTS.md,卻沒有記下自己寫了什麼。** `uds update --integrations-only` 之後緊接著 `uds check`,會在一個只有 UDS 動過的檔案上報 `AGENTS.md(已修改)`。三個寫 AGENTS.md 的呼叫點都記了 `integrationBlockHashes`,沒有一個記 `fileHashes`。現在已存在的紀錄會被更新;manifest 沒在追蹤的檔案仍然不會被納入追蹤——那份摘要本來就是給採用者擴寫的。
|
|
36
|
+
- **在 Windows PowerShell 上,跑成功看起來像失敗。** 進度訊息走 stderr,而 PowerShell 5.1 會把原生指令的任何 stderr 輸出包成 `NativeCommandError`——**包括 `✔ 已重新產生 2 個整合檔案` 這句報告成功的話**。改動前實測:stdout 9 行、stderr 2 行,兩行都是 spinner。47 個 spinner 現在一律寫 stdout,成功的一趟 stderr 是空的。
|
|
37
|
+
- **刪除計畫用同一句話解釋三種完全不同的情況。** 「no longer in desired state」同時被印給「上游已移除的標準」「專案自己取消選取的選項」「desired state 根本沒有模型化的路徑」——三種情況的正確反應各不相同。現在理由會說出是哪一種,以及重新選取能不能把檔案救回來。`.standards/release-config.yaml` 則完全不再是刪除候選:它是 `uds init` 依使用者挑的發版模式寫出、`uds config` 會改寫的檔案,刪掉它是在丟掉一個設定卻自稱在對帳。它被保留,而且理由會被印出來,不是默默跳過。
|
|
38
|
+
- **一個 .NET Framework 專案拿到四個指令,其中三個跑不動。** `.csproj` 自 2017 年起同時指涉兩套互不相容的建置系統,而偵測只看副檔名:舊式專案(`<TargetFrameworkVersion>`、沒有 `Sdk` 屬性)拿到 `dotnet build`(以 `MSB4019` 失敗)與 `dotnet list package --vulnerable`(對 `packages.config` 專案靜靜地什麼都不報,因為它只讀 `PackageReference`)。舊式專案現在 `build` 給 `msbuild`,其餘留白——未知生態那一支本來就回傳空字串「讓使用者自己填」,而**一個人類會補完的空格,勝過一個看起來很權威、第一次執行就失敗的指令**。
|
|
39
|
+
- **每一份生成的指示檔,開頭都叫 AI 去讀一個永遠不會被安裝的目錄。** 九個工具、每種語言,全都以「**優先**讀取 `core/` 中的精簡規則(例如 `core/testing-standards.md`)」開場。`uds init` 安裝到 `.standards/`,從來沒有在採用者的專案裡建立過 `core/`——那是標準在 UDS repo 裡的位置,不是在採用它的 repo 裡。同樣兩句話有 36 份副本、錯法一模一樣,而且乾淨的 6.9.0 安裝就會寫出它們。現在它們指向 `.standards/`,並有一支測試走訪生成結果,讓第十個工具沒辦法把它重新帶回來。
|
|
40
|
+
- **`uds update` 把中文的 CLAUDE.md 改寫成英文。** `uds init` 依 `display_language` 產生整合檔內容,而每一條重新產生的路徑都是從 `output_language`(commit 訊息語言,預設 `english`)推導的。現在內容語言依 `display_language`,只有在沒有顯示語言設定可依據時才退回 `output_language`。
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
### 新增
|
|
44
|
+
|
|
45
|
+
- **`uds check` 現在會報出指示檔裡提到、但實際不存在的路徑。** 先前它只讀 `Reference:`/`參考:` 開頭的行、而且只看 `.standards/` 路徑——對「參考同步」而言那是正確的範圍(那些行是 UDS 自己生成的),對「這條指示有沒有指到東西」而言則是錯的範圍。UDS 標記之外、由舊版安裝留下、之後沒有任何重新產生會回頭看的散文,把 agent 指向不存在的檔案。這支掃描以**檔案存不存在**為準而非以路徑長相為準,所以一個真的有自己 `core/` 目錄的專案不會被冤枉,網址裡的路徑也會被排除。它首跑就找到了本次修正中的兩項缺陷。
|
|
46
|
+
|
|
20
47
|
## [6.9.0] - 2026-09-14
|
|
21
48
|
|
|
22
49
|
### 採用者升級注意
|
|
@@ -15,7 +15,7 @@ status: current
|
|
|
15
15
|
|
|
16
16
|
> **語言**: [English](../../README.md) | 繁體中文 | [简体中文](../zh-CN/README.md)
|
|
17
17
|
|
|
18
|
-
**版本**: 6.
|
|
18
|
+
**版本**: 6.10.0 | **發布日期**: 2026-09-16 | **授權**: [雙重授權](../../LICENSE) (CC BY 4.0 + MIT)
|
|
19
19
|
|
|
20
20
|
語言無關、框架無關的軟體專案文件標準。透過 AI 原生工作流,確保不同技術堆疊之間的一致性、品質和可維護性。
|
|
21
21
|
|
|
@@ -8,6 +8,13 @@ status: current
|
|
|
8
8
|
|
|
9
9
|
# Agent 通訊協定
|
|
10
10
|
|
|
11
|
+
<!-- UDS:REFERENCE-ONLY since=6.0.0 -->
|
|
12
|
+
> **僅供參考——UDS 不會安裝這條標準。** 它的機器可讀檔 `.ai.yaml` 已於 6.0.0 移除;
|
|
13
|
+
> 本文件保留在此,供實作它的採用層參考,**不由 `uds init` 或 `uds update` 出貨**。
|
|
14
|
+
> 本告示所對照的清單是
|
|
15
|
+
> [`scripts/reference-only-standards.json`](../../../scripts/reference-only-standards.json),
|
|
16
|
+
> 遷移紀錄見 [`docs/MIGRATION-v6.md`](../../../docs/MIGRATION-v6.md) §2。
|
|
17
|
+
|
|
11
18
|
> **語言**: [English](../../../core/agent-communication-protocol.md) | 繁體中文
|
|
12
19
|
|
|
13
20
|
**版本**: 1.0.0
|
|
@@ -8,6 +8,13 @@ status: current
|
|
|
8
8
|
|
|
9
9
|
# 分支完成工作流程
|
|
10
10
|
|
|
11
|
+
<!-- UDS:REFERENCE-ONLY since=6.0.0 -->
|
|
12
|
+
> **僅供參考——UDS 不會安裝這條標準。** 它的機器可讀檔 `.ai.yaml` 已於 6.0.0 移除;
|
|
13
|
+
> 本文件保留在此,供實作它的採用層參考,**不由 `uds init` 或 `uds update` 出貨**。
|
|
14
|
+
> 本告示所對照的清單是
|
|
15
|
+
> [`scripts/reference-only-standards.json`](../../../scripts/reference-only-standards.json),
|
|
16
|
+
> 遷移紀錄見 [`docs/MIGRATION-v6.md`](../../../docs/MIGRATION-v6.md) §2。
|
|
17
|
+
|
|
11
18
|
> **語言**: [English](../../../core/branch-completion.md) | 繁體中文
|
|
12
19
|
|
|
13
20
|
**版本**: 1.0.0
|
|
@@ -8,6 +8,13 @@ status: current
|
|
|
8
8
|
|
|
9
9
|
# 變更批次標準
|
|
10
10
|
|
|
11
|
+
<!-- UDS:REFERENCE-ONLY since=6.0.0 -->
|
|
12
|
+
> **僅供參考——UDS 不會安裝這條標準。** 它的機器可讀檔 `.ai.yaml` 已於 6.0.0 移除;
|
|
13
|
+
> 本文件保留在此,供實作它的採用層參考,**不由 `uds init` 或 `uds update` 出貨**。
|
|
14
|
+
> 本告示所對照的清單是
|
|
15
|
+
> [`scripts/reference-only-standards.json`](../../../scripts/reference-only-standards.json),
|
|
16
|
+
> 遷移紀錄見 [`docs/MIGRATION-v6.md`](../../../docs/MIGRATION-v6.md) §2。
|
|
17
|
+
|
|
11
18
|
> **語言**: [English](../../../core/change-batching-standards.md) | 繁體中文
|
|
12
19
|
|
|
13
20
|
**適用範圍**: 所有使用自動化開發流程的軟體專案
|
|
@@ -8,6 +8,13 @@ status: current
|
|
|
8
8
|
|
|
9
9
|
# 執行歷史儲存庫標準
|
|
10
10
|
|
|
11
|
+
<!-- UDS:REFERENCE-ONLY since=6.0.0 -->
|
|
12
|
+
> **僅供參考——UDS 不會安裝這條標準。** 它的機器可讀檔 `.ai.yaml` 已於 6.0.0 移除;
|
|
13
|
+
> 本文件保留在此,供實作它的採用層參考,**不由 `uds init` 或 `uds update` 出貨**。
|
|
14
|
+
> 本告示所對照的清單是
|
|
15
|
+
> [`scripts/reference-only-standards.json`](../../../scripts/reference-only-standards.json),
|
|
16
|
+
> 遷移紀錄見 [`docs/MIGRATION-v6.md`](../../../docs/MIGRATION-v6.md) §2。
|
|
17
|
+
|
|
11
18
|
> **語言**: [English](../../../core/execution-history.md) | 繁體中文
|
|
12
19
|
|
|
13
20
|
**版本**: 1.0.0
|
|
@@ -8,6 +8,13 @@ status: current
|
|
|
8
8
|
|
|
9
9
|
# Pipeline 整合標準
|
|
10
10
|
|
|
11
|
+
<!-- UDS:REFERENCE-ONLY since=6.0.0 -->
|
|
12
|
+
> **僅供參考——UDS 不會安裝這條標準。** 它的機器可讀檔 `.ai.yaml` 已於 6.0.0 移除;
|
|
13
|
+
> 本文件保留在此,供實作它的採用層參考,**不由 `uds init` 或 `uds update` 出貨**。
|
|
14
|
+
> 本告示所對照的清單是
|
|
15
|
+
> [`scripts/reference-only-standards.json`](../../../scripts/reference-only-standards.json),
|
|
16
|
+
> 遷移紀錄見 [`docs/MIGRATION-v6.md`](../../../docs/MIGRATION-v6.md) §2。
|
|
17
|
+
|
|
11
18
|
> **語言**: [English](../../../core/pipeline-integration-standards.md) | 繁體中文
|
|
12
19
|
|
|
13
20
|
**適用範圍**: 所有使用自動化開發 Pipeline 的軟體專案
|
|
@@ -8,6 +8,13 @@ status: current
|
|
|
8
8
|
|
|
9
9
|
# 工作流程強制執行標準
|
|
10
10
|
|
|
11
|
+
<!-- UDS:REFERENCE-ONLY since=6.0.0 -->
|
|
12
|
+
> **僅供參考——UDS 不會安裝這條標準。** 它的機器可讀檔 `.ai.yaml` 已於 6.0.0 移除;
|
|
13
|
+
> 本文件保留在此,供實作它的採用層參考,**不由 `uds init` 或 `uds update` 出貨**。
|
|
14
|
+
> 本告示所對照的清單是
|
|
15
|
+
> [`scripts/reference-only-standards.json`](../../../scripts/reference-only-standards.json),
|
|
16
|
+
> 遷移紀錄見 [`docs/MIGRATION-v6.md`](../../../docs/MIGRATION-v6.md) §2。
|
|
17
|
+
|
|
11
18
|
**適用範圍**:所有使用結構化開發方法論的軟體專案
|
|
12
19
|
**範圍**:通用
|
|
13
20
|
|
|
@@ -8,6 +8,13 @@ status: current
|
|
|
8
8
|
|
|
9
9
|
# 工作流程狀態協議
|
|
10
10
|
|
|
11
|
+
<!-- UDS:REFERENCE-ONLY since=6.0.0 -->
|
|
12
|
+
> **僅供參考——UDS 不會安裝這條標準。** 它的機器可讀檔 `.ai.yaml` 已於 6.0.0 移除;
|
|
13
|
+
> 本文件保留在此,供實作它的採用層參考,**不由 `uds init` 或 `uds update` 出貨**。
|
|
14
|
+
> 本告示所對照的清單是
|
|
15
|
+
> [`scripts/reference-only-standards.json`](../../../scripts/reference-only-standards.json),
|
|
16
|
+
> 遷移紀錄見 [`docs/MIGRATION-v6.md`](../../../docs/MIGRATION-v6.md) §2。
|
|
17
|
+
|
|
11
18
|
> **語言**: [English](../../../core/workflow-state-protocol.md) | 繁體中文
|
|
12
19
|
|
|
13
20
|
**版本**: 1.0.0
|
|
@@ -32,14 +32,13 @@ UDS 6.0.0 是 **major** 版本:包含一項 breaking 更名、移除 8 個已
|
|
|
32
32
|
|
|
33
33
|
**不受影響**:指涉外部工具內建 review 命令(如 Codex)的 `/review` 字樣與 UDS 無關,刻意保留原樣。
|
|
34
34
|
|
|
35
|
-
## 2. 移除:
|
|
35
|
+
## 2. 移除:7 個已棄用的機器可讀標準(`.ai.yaml`)
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
這些標準的 runtime 已於 5.4.0 移交採用層(XSPEC-086/095;UDS 定義活動、採用層編排流程——DEC-049),其 `.ai.yaml` stub 如期移除:
|
|
38
38
|
|
|
39
39
|
| 移除的 `.ai.yaml` | 保留的人類可讀文件 |
|
|
40
40
|
|---|---|
|
|
41
41
|
| `agent-communication-protocol` | `core/agent-communication-protocol.md` |
|
|
42
|
-
| `agent-dispatch` | `core/agent-dispatch.md` |
|
|
43
42
|
| `branch-completion` | `core/branch-completion.md` |
|
|
44
43
|
| `change-batching-standards` | `core/change-batching-standards.md` |
|
|
45
44
|
| `execution-history` | `core/execution-history.md` |
|
|
@@ -51,7 +50,12 @@ UDS 6.0.0 是 **major** 版本:包含一項 breaking 更名、移除 8 個已
|
|
|
51
50
|
|
|
52
51
|
- 若從未直接載入這些 `.ai.yaml`:不需動作——人類可讀概念仍留在 `core/` 作為參考文件。
|
|
53
52
|
- 若採用層(agent runtime、orchestrator、CI)曾載入這些 stub:在自家工具鏈實作等效機制。這些 stub 自 5.4.0 起本身就是指向此方向的棄用告示。
|
|
54
|
-
- 這些標準不再由 `uds init` / `uds update`
|
|
53
|
+
- 這些標準不再由 `uds init` / `uds update` 發佈。每一份保留下來的 `core/*.md` 都在自己的開頭寫明這件事,而 `scripts/reference-only-standards.json` 是那份清單的機器可讀版本。
|
|
54
|
+
- **`agent-dispatch` 曾在這張表上,現在不在了。** 它的 `.ai.yaml` 已於 XSPEC-362 R5a 恢復、正常出貨,而本指南在那之後仍把它列為已移除,跨了兩個大版本。**你的 manifest 裡若還有它,那是對的。**
|
|
55
|
+
- 專案 `.standards/` 中既有副本不會被自動刪除。請用 **`uds update --prune`**,不要手動刪:
|
|
56
|
+
- `--prune` 會連同 `fileHashes` 裡的紀錄一起移除。手動刪只刪掉檔案,紀錄還在,`uds check` 會把每一個報成「遺失」並建議 `uds check --restore`——**而那個還原不可能成功**,因為上游已經沒有來源了。
|
|
57
|
+
- **從 6.8.x 以前升上來之後的第一次 `uds update` 什麼都不會刪**,不論你加什麼旗標:此時還沒有檔案歸屬紀錄,而 UDS 不會憑一筆不存在的紀錄刪東西。先跑一次 `uds update`,再跑 `uds update --prune`。
|
|
58
|
+
- `--prune` 不會清 `integrationConfigs[<檔名>].installedStandards`。那份快照正是 `uds update --sync-refs` 重新產生時所依據的東西,所以殘留在那裡的項目仍可能把錯的標準數寫進你的 CLAUDE.md。`uds update --integrations-only` 則是從 manifest 重算。
|
|
55
59
|
|
|
56
60
|
## 3. 移除:4 個已棄用的 CLI 命令
|
|
57
61
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "universal-dev-standards",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.10.0",
|
|
4
4
|
"description": "CLI tool for adopting Universal Development Standards",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"documentation",
|
|
@@ -63,21 +63,22 @@
|
|
|
63
63
|
"check:effect-boundary:self-test": "node scripts/check-effect-boundary.mjs --self-test"
|
|
64
64
|
},
|
|
65
65
|
"dependencies": {
|
|
66
|
-
"@inquirer/prompts": "^8.
|
|
66
|
+
"@inquirer/prompts": "^8.7.2",
|
|
67
67
|
"chalk": "^6.0.0",
|
|
68
68
|
"commander": "^15.0.0",
|
|
69
|
-
"js-yaml": "^5.2
|
|
69
|
+
"js-yaml": "^5.4.2",
|
|
70
70
|
"ora": "^9.4.0",
|
|
71
71
|
"semver": "^7.8.5"
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
74
74
|
"@eslint/js": "^10.0.1",
|
|
75
|
-
"@vitest/coverage-v8": "^
|
|
76
|
-
"eslint": "10.
|
|
75
|
+
"@vitest/coverage-v8": "^5.0.0",
|
|
76
|
+
"eslint": "10.10.0",
|
|
77
77
|
"globals": "17.11.0",
|
|
78
78
|
"husky": "^9.1.7",
|
|
79
79
|
"lint-staged": "^17.0.3",
|
|
80
|
-
"
|
|
80
|
+
"vite": "^8.3.0",
|
|
81
|
+
"vitest": "^5.0.0"
|
|
81
82
|
},
|
|
82
83
|
"lint-staged": {
|
|
83
84
|
"src/**/*.js": [
|