universal-dev-standards 6.3.10 → 6.5.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/bin/uds.js +2 -2
- package/bundled/ai/standards/agent-dispatch.ai.yaml +162 -0
- package/bundled/ai/standards/ai-friendly-architecture.ai.yaml +1 -1
- package/bundled/ai/standards/ai-instruction-standards.ai.yaml +190 -15
- package/bundled/ai/standards/class-level-fix.ai.yaml +178 -0
- package/bundled/ai/standards/commit-message.ai.yaml +2 -0
- package/bundled/ai/standards/model-selection.ai.yaml +370 -72
- package/bundled/ai/standards/mutation-testing.ai.yaml +105 -2
- package/bundled/ai/standards/project-structure.ai.yaml +1 -1
- package/bundled/ai/standards/security-standards.ai.yaml +22 -1
- package/bundled/ai/standards/spec-driven-development.ai.yaml +59 -2
- package/bundled/ai/standards/test-governance.ai.yaml +49 -2
- package/bundled/ai/standards/testing.ai.yaml +49 -3
- package/bundled/ai/standards/translation-lifecycle-standards.ai.yaml +4 -4
- package/bundled/ai/standards/verification-evidence.ai.yaml +48 -4
- package/bundled/core/class-level-fix.md +184 -0
- package/bundled/core/model-selection.md +383 -125
- package/bundled/core/mutation-testing.md +41 -2
- package/bundled/core/test-governance.md +22 -2
- package/bundled/core/translation-lifecycle-standards.md +6 -6
- package/bundled/core/verification-evidence.md +42 -3
- package/bundled/locales/zh-CN/CHANGELOG.md +26 -3
- package/bundled/locales/zh-CN/CLAUDE.md +1 -1
- package/bundled/locales/zh-CN/README.md +3 -3
- package/bundled/locales/zh-CN/SECURITY.md +1 -1
- package/bundled/locales/zh-CN/core/model-selection.md +375 -60
- package/bundled/locales/zh-CN/core/mutation-testing.md +1 -1
- package/bundled/locales/zh-CN/core/test-governance.md +1 -1
- package/bundled/locales/zh-CN/core/translation-lifecycle-standards.md +1 -1
- package/bundled/locales/zh-CN/core/verification-evidence.md +1 -1
- package/bundled/locales/zh-CN/docs/CHEATSHEET.md +9 -12
- package/bundled/locales/zh-CN/docs/FEATURE-REFERENCE.md +16 -19
- package/bundled/locales/zh-TW/CHANGELOG.md +51 -3
- package/bundled/locales/zh-TW/CLAUDE.md +1 -1
- package/bundled/locales/zh-TW/README.md +3 -3
- package/bundled/locales/zh-TW/SECURITY.md +1 -1
- package/bundled/locales/zh-TW/core/class-level-fix.md +163 -0
- package/bundled/locales/zh-TW/core/model-selection.md +385 -47
- package/bundled/locales/zh-TW/core/mutation-testing.md +45 -6
- package/bundled/locales/zh-TW/core/test-governance.md +22 -3
- package/bundled/locales/zh-TW/core/translation-lifecycle-standards.md +1 -1
- package/bundled/locales/zh-TW/core/verification-evidence.md +33 -6
- package/bundled/locales/zh-TW/docs/CHEATSHEET.md +9 -12
- package/bundled/locales/zh-TW/docs/FEATURE-REFERENCE.md +16 -19
- package/bundled/locales/zh-TW/integrations/claude-code/README.md +31 -5
- package/package.json +1 -1
- package/src/utils/reference-sync.js +83 -16
- package/standards-registry.json +32 -8
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
source: ../../../core/verification-evidence.md
|
|
3
|
-
source_version: 1.
|
|
4
|
-
translation_version: 1.
|
|
5
|
-
last_synced: 2026-
|
|
3
|
+
source_version: 1.3.0
|
|
4
|
+
translation_version: 1.3.0
|
|
5
|
+
last_synced: 2026-08-14
|
|
6
6
|
status: current
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -10,8 +10,8 @@ status: current
|
|
|
10
10
|
|
|
11
11
|
> **語言**: [English](../../../core/verification-evidence.md) | 繁體中文
|
|
12
12
|
|
|
13
|
-
**版本**: 1.
|
|
14
|
-
**最後更新**: 2026-
|
|
13
|
+
**版本**: 1.3.0
|
|
14
|
+
**最後更新**: 2026-08-14
|
|
15
15
|
**適用性**: 所有 AI 輔助開發工作流
|
|
16
16
|
**範圍**: 通用 (Universal)
|
|
17
17
|
**靈感來源**: [Superpowers](https://github.com/obra/superpowers) — verification-before-completion (MIT)
|
|
@@ -40,6 +40,7 @@ status: current
|
|
|
40
40
|
| 環境層次 (Environment Layer) | 該證據是從哪個環境蒐集而來(`local` / `uat` / `prd`) |
|
|
41
41
|
| 證據有效性 (Evidence Validity) | 證據*本身*是否可信 —— 亦即驗證指令究竟有沒有真的執行、有沒有真的量到它宣稱量到的東西 |
|
|
42
42
|
| 工具靜默失敗 (Silent Tool Failure) | 驗證指令根本沒跑起來,或跑了但什麼都沒量到,卻產生了與真實結果無從分辨的輸出 |
|
|
43
|
+
| 證據新鮮度 (Evidence Freshness) | 證據是否由**最後一次編輯受測程式碼、提示詞或設定之後**才執行的一次執行所產生 —— 而不是沿用一次針對更早狀態的執行結果 |
|
|
43
44
|
|
|
44
45
|
---
|
|
45
46
|
|
|
@@ -169,7 +170,7 @@ status: current
|
|
|
169
170
|
|
|
170
171
|
這不是幻覺。幻覺是虛構你沒查過的事。這是反過來:**你查了,而那個查詢工具騙了你。** `anti-hallucination` 標準涵蓋不到這一塊 —— 該標準的每一條禁令都是某種形式的「不要編造」,而這裡沒有任何東西被編造。
|
|
171
172
|
|
|
172
|
-
###
|
|
173
|
+
### 五條有效性規則
|
|
173
174
|
|
|
174
175
|
**1. 只有在「成功時回傳 0」的工具上,`exit_code = 0` 才代表成功。**
|
|
175
176
|
|
|
@@ -187,6 +188,16 @@ status: current
|
|
|
187
188
|
|
|
188
189
|
在 `set -o pipefail` 下,`producer | grep -q pattern` 會繼承 `producer` 的非零值,與 `grep` 有沒有匹配到無關。當決策取決於內容時,**先捕捉輸出,再評估它** —— 不要讓一個 pipeline 把兩個問題壓縮成一個數字。
|
|
189
190
|
|
|
191
|
+
**5. 證據必須晚於它所驗證對象的最後一次編輯。**
|
|
192
|
+
|
|
193
|
+
在受測程式碼、提示詞或設定的**最近一次變更之前**擷取的驗證執行,證明的是別的東西 —— 不是正在被主張的那件事。這個陷阱是靜默的:完整套件先跑過且全綠,之後才編輯了某個東西(提示詞、設定檔、門檻),而編輯之後只跑了範圍更窄的檢查(lint、部分套件)—— 結果卻拿更早的那次綠燈當作現狀的證據。**證據必須是最後一次編輯之後的單一次新鮮執行,不是「剛好通過的最近一次執行」。**
|
|
194
|
+
|
|
195
|
+
### 過期證據 —— 一種失效樣態
|
|
196
|
+
|
|
197
|
+
規則 1–4 假設證據**在正確的地方**被蒐集且被正確解讀。它們沒有回答「**什麼時候**」這個問題。一個執行了、量測正確、也回傳真結果的指令,依然可能撐不起一個完成聲明 —— 如果它跑完之後有東西又變了。
|
|
198
|
+
|
|
199
|
+
**失效樣態**:完整測試套件跑過且通過。之後,某個提示詞或設定值被編輯 —— 沒有任何測試直接涵蓋那次編輯。提交前只跑了 `lint`,也通過。commit 引用「測試通過」作為證據。接著 CI 紅在一個釘住剛剛被改掉那份內容的測試上 —— 那個「通過」的套件,跑的是一個在主張被提出時已經不存在的版本。
|
|
200
|
+
|
|
190
201
|
### 此失效模式的實例證據
|
|
191
202
|
|
|
192
203
|
以下是某 AI 代理於 2026-07-17 實際執行的驗證指令,每一道都導出了自信而錯誤的結論,並被當成事實回報出去:
|
|
@@ -216,11 +227,24 @@ status: current
|
|
|
216
227
|
| 有 `verification_evidence` 但 `exit_code ≠ 0` | 標記為**驗證失敗** —— **除非**已知該工具在受測狀態下本就會以非零退出(證據有效性規則 1),此時改以輸出判定 |
|
|
217
228
|
| `exit_code = 0`,但該指令不可能量到它所宣稱的事 | 標記為**未驗證** —— 一道在錯的地方執行、或根本沒執行的通過指令,不是證據 |
|
|
218
229
|
| 證據主張「不存在」(`0`、空輸出、「查無」) | 在證明查詢工具成功執行過之前,標記為**未驗證** |
|
|
230
|
+
| 證據的時間戳早於它所驗證對象的最後一次編輯 | 標記為**過期(stale)** —— 須在編輯後重跑,不得引用更早那次通過 |
|
|
219
231
|
| 多個驗證步驟 | **全部**步驟都必須通過 |
|
|
220
232
|
| 代理提供的是錯誤指令的證據 | 標記為**未驗證** |
|
|
221
233
|
|
|
222
234
|
---
|
|
223
235
|
|
|
236
|
+
## 窄涵蓋必須登記,不能只揭露
|
|
237
|
+
|
|
238
|
+
Evidence Validity 與 Environment Stratification Matrix 都允許一個被記錄下來的缺口 —— 一個無法驗證某個維度的環境層次、一項量測範圍窄於它所支撐主張的檢查。單純寫下這個缺口本身並不夠:散文比真正補上缺口便宜,而一個從未被重新檢視的揭露,會悄悄變成「這份證據其實撐不起它被用來支撐的主張」的永久藉口。
|
|
239
|
+
|
|
240
|
+
**要求**:任何這一類已記錄的缺口,必須同時登記到一份**帶到期日的例外清冊** —— 獨立於標準本文或 matrix 條目本身之外 —— 指名缺口、其成因、並附上覆核或到期日期。只有一則註腳而沒有對應清冊條目,不滿足本條。
|
|
241
|
+
|
|
242
|
+
**可證偽條件**:一則清冊條目連續兩期審查都未變動,代表該揭露已經變成逃生口,本條對該條目失效 —— 不是「部分滿足」,是失效。清冊放在哪裡、什麼格式、多久審一次,留給採用專案自行決定;本標準只要求「有這麼一份東西存在,且條目會動」。
|
|
243
|
+
|
|
244
|
+
這與[類別層修正標準](class-level-fix.md)的窄涵蓋規則是同一條要求,套用在驗證證據而非類別層檢查上:兩種情況下,一個永遠不必改變的揭露都不是揭露,是一份穿著揭露外衣的永久豁免。
|
|
245
|
+
|
|
246
|
+
---
|
|
247
|
+
|
|
224
248
|
## 規則
|
|
225
249
|
|
|
226
250
|
| ID | 觸發條件 | 動作 | 優先級 |
|
|
@@ -235,6 +259,8 @@ status: current
|
|
|
235
259
|
| VE-008 | 證據主張「不存在」(`0`、空輸出、「查無」) | 在證明查詢工具成功執行過之前一律無效。以不壓抑 stderr 的方式重跑 | High |
|
|
236
260
|
| VE-009 | 存在性/不存在性檢查壓抑了 stderr(`2>/dev/null` 或等價寫法) | 證據不成立。以 stderr 可見的方式重跑 | High |
|
|
237
261
|
| VE-010 | 證據的 `exit_code` 來自 pipeline(尤其是在 `pipefail` 下) | 該 code 不歸屬於任何單一階段。改為捕捉輸出並評估內容 | Medium |
|
|
262
|
+
| VE-011 | 證據的執行時間戳早於它所宣稱驗證之產物的最後一次編輯 | 標記為**過期(stale)** —— 對現狀不成立為證據;要求在編輯後補一次單一次新鮮執行 | High |
|
|
263
|
+
| VE-012 | 文件化的證據/涵蓋缺口(environment-stratification ⚠️/❌,或任何窄於其主張的檢查)沒有登記到帶到期日的例外清冊 | 揭露本身不滿足此規則 —— 要求一則已登記、帶到期日的清冊條目,指名缺口與其覆核/到期日期 | Required |
|
|
238
264
|
|
|
239
265
|
---
|
|
240
266
|
|
|
@@ -314,6 +340,7 @@ verification_evidence:
|
|
|
314
340
|
- [測試標準](testing-standards.md) —— 產生多數證據的那些測試是怎麼寫的
|
|
315
341
|
- [代理派遣與並行協調](agent-dispatch.md) —— 委派出去的工作會回傳主張,那些主張需要套用本標準
|
|
316
342
|
- [部署標準](deployment-standards.md) —— 定義 VE-005 / VE-006 所引用的「環境分層責任矩陣」
|
|
343
|
+
- [類別層修正標準](class-level-fix.md) —— 與 VE-012 相同的「窄涵蓋必須登記」要求,套用在類別層檢查而非驗證證據上
|
|
317
344
|
|
|
318
345
|
---
|
|
319
346
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# UDS 速查表
|
|
2
2
|
|
|
3
|
-
> Quick reference for all UDS features | Last updated: 2026-
|
|
3
|
+
> Quick reference for all UDS features | Last updated: 2026-08-12
|
|
4
4
|
|
|
5
5
|
**Language**: [English](../../../docs/user/CHEATSHEET.md) | 繁體中文 | [简体中文](../../zh-CN/docs/CHEATSHEET.md)
|
|
6
6
|
|
|
@@ -190,6 +190,7 @@
|
|
|
190
190
|
| `chaos-injection-tests` | Chaos Injection Tests |
|
|
191
191
|
| `checkin-standards` | This standard defines quality gates that MUST be p |
|
|
192
192
|
| `circuit-breaker` | Circuit Breaker Standard |
|
|
193
|
+
| `class-level-fix` | A defect is almost never alone. It is one member o |
|
|
193
194
|
| `code-review-checklist` | This standard provides a comprehensive checklist f |
|
|
194
195
|
| `commit-message-guide` | Standardized commit messages improve code review e |
|
|
195
196
|
| `container-image-standards` | Container Image Build and Security Standards |
|
|
@@ -239,7 +240,7 @@
|
|
|
239
240
|
| `logging-standards` | Logging Standards |
|
|
240
241
|
| `mock-boundary` | This document defines rules for what can and canno |
|
|
241
242
|
| `model-provenance` | Model Provenance Policy Standards |
|
|
242
|
-
| `model-selection` | Define
|
|
243
|
+
| `model-selection` | Define how to choose **which model** and **how dee |
|
|
243
244
|
| `multi-environment-e2e-testing` | Multi-Environment E2E Testing Standards |
|
|
244
245
|
| `mutation-testing` | Mutation testing evaluates test suite effectivenes |
|
|
245
246
|
| `no-cicd-deployment` | No-CI/CD Deployment Strategy |
|
|
@@ -318,26 +319,22 @@
|
|
|
318
319
|
| `aggregate-effectiveness.mjs` | Aggregate Standards Effectiveness Reports |
|
|
319
320
|
| `analyze-hook-stats.mjs` | Hook Statistics Analyzer (SPEC-SELFDIAG-001 REQ-7, |
|
|
320
321
|
| `bump-version.mjs` | Build a platform-aware shell command for a .sh scr |
|
|
321
|
-
| `bump-version.sh` |
|
|
322
|
+
| `bump-version.sh` | Thin wrapper — scripts/bump-version.mjs is the onl |
|
|
322
323
|
| `check-ai-agent-sync.ps1` | Check Ai Agent Sync |
|
|
323
324
|
| `check-ai-agent-sync.sh` | AI Agent Sync Checker |
|
|
324
|
-
| `check-ai-
|
|
325
|
+
| `check-ai-yaml-parses.mjs` | Every shipped .ai.yaml must parse, and must parse |
|
|
325
326
|
| `check-cli-docs-sync.ps1` | Check Cli Docs Sync |
|
|
326
327
|
| `check-cli-docs-sync.sh` | CLI-to-Documentation Sync Checker |
|
|
327
328
|
| `check-commands-sync.ps1` | Check Commands Sync |
|
|
328
329
|
| `check-commands-sync.sh` | Commands Sync Checker |
|
|
329
|
-
| `check-commit-spec-reference.sh` |
|
|
330
|
+
| `check-commit-spec-reference.sh` | Thin wrapper — scripts/check-commit-spec-reference |
|
|
330
331
|
| `check-docs-integrity.ps1` | Check Docs Integrity |
|
|
331
332
|
| `check-docs-integrity.sh` | Documentation Integrity Checker |
|
|
332
333
|
| `check-docs-sync.ps1` | Check Docs Sync |
|
|
333
334
|
| `check-docs-sync.sh` | Documentation Sync Checker |
|
|
334
335
|
| `check-external-references.mjs` | External Reference Checker (SPEC-SELFDIAG-001 REQ- |
|
|
335
|
-
| `check-flow-gate-report.sh` | DEPRECATED: Use 'npx tsx scripts/check-flow-gate-r |
|
|
336
|
-
| `check-integration-commands-sync.sh` | DEPRECATED: Use 'npx tsx scripts/check-integration |
|
|
337
336
|
| `check-orphan-specs.ps1` | Check Orphan Specs |
|
|
338
337
|
| `check-orphan-specs.sh` | Orphan Spec Detection Script |
|
|
339
|
-
| `check-registry-completeness.sh` | DEPRECATED: Use 'npx tsx scripts/check-registry-co |
|
|
340
|
-
| `check-release-readiness-signoff.sh` | DEPRECATED: Use 'npx tsx scripts/check-release-rea |
|
|
341
338
|
| `check-scope-sync.ps1` | Check Scope Sync |
|
|
342
339
|
| `check-scope-sync.sh` | Scope Consistency Check Script |
|
|
343
340
|
| `check-skill-next-steps-sync.ps1` | Check Skill Next Steps Sync |
|
|
@@ -354,16 +351,16 @@
|
|
|
354
351
|
| `check-usage-docs-sync.sh` | check-usage-docs-sync.sh |
|
|
355
352
|
| `check-version-sync.ps1` | Check Version Sync |
|
|
356
353
|
| `check-version-sync.sh` | Version Sync Checker |
|
|
357
|
-
| `check-workflow-compliance.sh` |
|
|
354
|
+
| `check-workflow-compliance.sh` | Thin wrapper — scripts/check-workflow-compliance.t |
|
|
358
355
|
| `commitlint-bilingual-rule.mjs` | commitlint-bilingual-rule.mjs — custom commitlint |
|
|
359
356
|
| `convert-md-to-yaml.mjs` | Markdown to AI-YAML Conversion Script |
|
|
360
357
|
| `fix-manifest-paths.ps1` | Fix Manifest Paths |
|
|
361
358
|
| `fix-manifest-paths.sh` | Manifest Path Fixer |
|
|
362
|
-
| `generate-docs.mjs` |
|
|
359
|
+
| `generate-docs.mjs` | Look up the release date for `version` from CHANGE |
|
|
363
360
|
| `generate-locale-coverage.mjs` | Locale Coverage Generator |
|
|
364
361
|
| `generate-version-manifest.mjs` | Generate Version Manifest (SPEC-SELFDIAG-001 REQ-9 |
|
|
365
362
|
| `install-hooks.mjs` | Install Hooks |
|
|
366
|
-
| `install-hooks.sh` |
|
|
363
|
+
| `install-hooks.sh` | Thin wrapper — scripts/install-hooks.mjs is the on |
|
|
367
364
|
| `pre-commit.mjs` | Build a platform-aware shell command for a .sh scr |
|
|
368
365
|
| `pre-release-check.ps1` | Pre Release Check |
|
|
369
366
|
| `pre-release-check.sh` | Pre-release Check Script |
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# UDS 功能參考手冊
|
|
2
2
|
|
|
3
3
|
> Universal Development Standards - 完整功能文件
|
|
4
|
-
> Auto-generated | Last updated: 2026-
|
|
4
|
+
> Auto-generated | Last updated: 2026-08-12
|
|
5
5
|
|
|
6
6
|
**Language**: [English](../../../docs/reference/FEATURE-REFERENCE.md) | 繁體中文 | [简体中文](../../zh-CN/docs/FEATURE-REFERENCE.md)
|
|
7
7
|
|
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
3. [技能](#skills) (55)
|
|
15
15
|
4. [代理](#agents) (5)
|
|
16
16
|
5. [工作流程](#workflows) (5)
|
|
17
|
-
6. [核心規範](#core-standards) (
|
|
18
|
-
7. [腳本](#scripts) (
|
|
17
|
+
6. [核心規範](#core-standards) (150)
|
|
18
|
+
7. [腳本](#scripts) (54)
|
|
19
19
|
|
|
20
|
-
**Total Features:
|
|
20
|
+
**Total Features: 329**
|
|
21
21
|
|
|
22
22
|
---
|
|
23
23
|
|
|
@@ -107,8 +107,8 @@
|
|
|
107
107
|
| `--skills` | Install/update Skills for configured AI tools |
|
|
108
108
|
| `--commands` | Install/update slash commands for configured AI tools |
|
|
109
109
|
| `--debug` | Show debug output for Skills/Commands detection |
|
|
110
|
-
| `--plan` | Show reconciliation plan without executing (like terraform plan) |
|
|
111
|
-
| `--apply` | Apply exactly the plan --plan prints (plain `uds update` does not) |
|
|
110
|
+
| `--plan` | Show reconciliation plan without executing (like terraform plan); combines with --skills/--commands to plan just that scope, still writing nothing |
|
|
111
|
+
| `--apply` | Apply exactly the plan --plan prints (plain `uds update` does not); with --skills/--commands it does the reconciliation AND that scope, not only the scope |
|
|
112
112
|
| `--force` | Force update all files, ignoring hash comparison |
|
|
113
113
|
| `--rollback` | Rollback to the most recent backup |
|
|
114
114
|
| `--locale` | Override locale for skills install (zh-tw, zh-cn, en); also reads .uds/install.yaml + UDS_LOCALE env |
|
|
@@ -317,6 +317,7 @@
|
|
|
317
317
|
| `chaos-injection-tests` | - | |
|
|
318
318
|
| `checkin-standards` | 1.8.0 | This standard defines quality gates that MUST be passed before committing code t |
|
|
319
319
|
| `circuit-breaker` | - | |
|
|
320
|
+
| `class-level-fix` | 1.0.0 | A defect is almost never alone. It is one member of a set — one flag in a dispat |
|
|
320
321
|
| `code-review-checklist` | 1.4.0 | This standard provides a comprehensive checklist for reviewing code changes, ens |
|
|
321
322
|
| `commit-message-guide` | 1.3.0 | Standardized commit messages improve code review efficiency, facilitate automate |
|
|
322
323
|
| `container-image-standards` | 1.0.0 | **Status**: Active | **Updated**: 2026-06-17 | |
|
|
@@ -366,7 +367,7 @@
|
|
|
366
367
|
| `logging-standards` | 1.4.0 | |
|
|
367
368
|
| `mock-boundary` | 1.1.0 | This document defines rules for what can and cannot be mocked in tests. Its goal |
|
|
368
369
|
| `model-provenance` | 1.0.0 | **Status**: Active | **Updated**: 2026-06-17 | |
|
|
369
|
-
| `model-selection` | 1.0
|
|
370
|
+
| `model-selection` | 2.1.0 | Define how to choose **which model** and **how deeply it should think** — two in |
|
|
370
371
|
| `multi-environment-e2e-testing` | 1.0.0 | **Status**: Active | **Updated**: 2026-05-13 | |
|
|
371
372
|
| `mutation-testing` | 1.0.0 | Mutation testing evaluates test suite effectiveness by injecting artificial bugs |
|
|
372
373
|
| `no-cicd-deployment` | - | |
|
|
@@ -417,7 +418,7 @@
|
|
|
417
418
|
| `standard-lifecycle-management` | - | |
|
|
418
419
|
| `structured-task-definition` | 1.0.0 | |
|
|
419
420
|
| `supply-chain-attestation` | - | |
|
|
420
|
-
| `supply-chain-security-standards` | 1.
|
|
421
|
+
| `supply-chain-security-standards` | 1.1.0 | |
|
|
421
422
|
| `systematic-debugging` | 1.0.0 | Define a structured, four-phase debugging workflow that prevents the common anti |
|
|
422
423
|
| `tech-debt-standards` | 1.0.0 | |
|
|
423
424
|
| `test-completeness-dimensions` | 1.1.0 | This document defines a systematic framework for evaluating test completeness. I |
|
|
@@ -427,7 +428,7 @@
|
|
|
427
428
|
| `testing-standards` | 3.2.0 | This standard defines actionable testing rules and conventions for AI agents and |
|
|
428
429
|
| `timeout-standards` | - | |
|
|
429
430
|
| `token-budget` | - | |
|
|
430
|
-
| `translation-lifecycle-standards` | 1.0.
|
|
431
|
+
| `translation-lifecycle-standards` | 1.0.1 | Translation lifecycle standards: MISSING vs OUTDATED distinction, semver-aware s |
|
|
431
432
|
| `user-journey-testing` | - | |
|
|
432
433
|
| `user-story-mapping` | 1.0.0 | **Status**: Active | **Updated**: 2026-06-17 | |
|
|
433
434
|
| `verification-evidence` | 1.2.0 | Establish an "Iron Law" that no task can be claimed as complete without verifica |
|
|
@@ -447,26 +448,22 @@
|
|
|
447
448
|
| `aggregate-effectiveness.mjs` | Aggregate Standards Effectiveness Reports |
|
|
448
449
|
| `analyze-hook-stats.mjs` | Hook Statistics Analyzer (SPEC-SELFDIAG-001 REQ-7, AC-11) |
|
|
449
450
|
| `bump-version.mjs` | Build a platform-aware shell command for a .sh script. |
|
|
450
|
-
| `bump-version.sh` |
|
|
451
|
+
| `bump-version.sh` | Thin wrapper — scripts/bump-version.mjs is the only copy of the bump logic. |
|
|
451
452
|
| `check-ai-agent-sync.ps1` | Check Ai Agent Sync |
|
|
452
453
|
| `check-ai-agent-sync.sh` | AI Agent Sync Checker |
|
|
453
|
-
| `check-ai-
|
|
454
|
+
| `check-ai-yaml-parses.mjs` | Every shipped .ai.yaml must parse, and must parse into what it says. |
|
|
454
455
|
| `check-cli-docs-sync.ps1` | Check Cli Docs Sync |
|
|
455
456
|
| `check-cli-docs-sync.sh` | CLI-to-Documentation Sync Checker |
|
|
456
457
|
| `check-commands-sync.ps1` | Check Commands Sync |
|
|
457
458
|
| `check-commands-sync.sh` | Commands Sync Checker |
|
|
458
|
-
| `check-commit-spec-reference.sh` |
|
|
459
|
+
| `check-commit-spec-reference.sh` | Thin wrapper — scripts/check-commit-spec-reference.ts is the only copy of |
|
|
459
460
|
| `check-docs-integrity.ps1` | Check Docs Integrity |
|
|
460
461
|
| `check-docs-integrity.sh` | Documentation Integrity Checker |
|
|
461
462
|
| `check-docs-sync.ps1` | Check Docs Sync |
|
|
462
463
|
| `check-docs-sync.sh` | Documentation Sync Checker |
|
|
463
464
|
| `check-external-references.mjs` | External Reference Checker (SPEC-SELFDIAG-001 REQ-5, AC-7) |
|
|
464
|
-
| `check-flow-gate-report.sh` | DEPRECATED: Use 'npx tsx scripts/check-flow-gate-report.ts' instead (cross-platform). |
|
|
465
|
-
| `check-integration-commands-sync.sh` | DEPRECATED: Use 'npx tsx scripts/check-integration-commands-sync.ts' instead (cross-platform). |
|
|
466
465
|
| `check-orphan-specs.ps1` | Check Orphan Specs |
|
|
467
466
|
| `check-orphan-specs.sh` | Orphan Spec Detection Script |
|
|
468
|
-
| `check-registry-completeness.sh` | DEPRECATED: Use 'npx tsx scripts/check-registry-completeness.ts' instead (cross-platform). |
|
|
469
|
-
| `check-release-readiness-signoff.sh` | DEPRECATED: Use 'npx tsx scripts/check-release-readiness-signoff.ts' instead (cross-platform). |
|
|
470
467
|
| `check-scope-sync.ps1` | Check Scope Sync |
|
|
471
468
|
| `check-scope-sync.sh` | Scope Consistency Check Script |
|
|
472
469
|
| `check-skill-next-steps-sync.ps1` | Check Skill Next Steps Sync |
|
|
@@ -483,16 +480,16 @@
|
|
|
483
480
|
| `check-usage-docs-sync.sh` | check-usage-docs-sync.sh |
|
|
484
481
|
| `check-version-sync.ps1` | Check Version Sync |
|
|
485
482
|
| `check-version-sync.sh` | Version Sync Checker |
|
|
486
|
-
| `check-workflow-compliance.sh` |
|
|
483
|
+
| `check-workflow-compliance.sh` | Thin wrapper — scripts/check-workflow-compliance.ts is the only copy of the |
|
|
487
484
|
| `commitlint-bilingual-rule.mjs` | commitlint-bilingual-rule.mjs — custom commitlint rules enforcing the |
|
|
488
485
|
| `convert-md-to-yaml.mjs` | Markdown to AI-YAML Conversion Script |
|
|
489
486
|
| `fix-manifest-paths.ps1` | Fix Manifest Paths |
|
|
490
487
|
| `fix-manifest-paths.sh` | Manifest Path Fixer |
|
|
491
|
-
| `generate-docs.mjs` |
|
|
488
|
+
| `generate-docs.mjs` | Look up the release date for `version` from CHANGELOG.md's own |
|
|
492
489
|
| `generate-locale-coverage.mjs` | Locale Coverage Generator |
|
|
493
490
|
| `generate-version-manifest.mjs` | Generate Version Manifest (SPEC-SELFDIAG-001 REQ-9, AC-14) |
|
|
494
491
|
| `install-hooks.mjs` | Install Hooks |
|
|
495
|
-
| `install-hooks.sh` |
|
|
492
|
+
| `install-hooks.sh` | Thin wrapper — scripts/install-hooks.mjs is the only copy of the installer |
|
|
496
493
|
| `pre-commit.mjs` | Build a platform-aware shell command for a .sh script. |
|
|
497
494
|
| `pre-release-check.ps1` | Pre Release Check |
|
|
498
495
|
| `pre-release-check.sh` | Pre-release Check Script |
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
source: ../../../../integrations/claude-code/README.md
|
|
3
|
-
source_version: 1.
|
|
4
|
-
translation_version: 1.
|
|
5
|
-
last_synced: 2026-
|
|
3
|
+
source_version: 1.1.0
|
|
4
|
+
translation_version: 1.1.0
|
|
5
|
+
last_synced: 2026-08-12
|
|
6
6
|
status: current
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -10,8 +10,8 @@ status: current
|
|
|
10
10
|
|
|
11
11
|
> **語言**: English | [繁體中文](README.md)
|
|
12
12
|
|
|
13
|
-
**版本**: 1.
|
|
14
|
-
**最後更新**: 2026-
|
|
13
|
+
**版本**: 1.1.0
|
|
14
|
+
**最後更新**: 2026-08-12
|
|
15
15
|
|
|
16
16
|
本目錄包含將通用開發標準 (Universal Development Standards) 與 [Claude Code](https://docs.anthropic.com/claude-code) 整合的資源。
|
|
17
17
|
|
|
@@ -21,6 +21,32 @@ Claude Code 是一個先進的 AI 編碼代理,可以直接與您的程式碼
|
|
|
21
21
|
|
|
22
22
|
1. **專案上下文 (`CLAUDE.md`)**:定義專案特定的規則、風格指南和指令。
|
|
23
23
|
2. **技能 (`skills/`)**:針對 TDD、SDD、程式碼審查等的專業能力。
|
|
24
|
+
3. **模型層級 × effort 映射**:`core/model-selection.md` 的宿主層那一半。
|
|
25
|
+
4. **參考 subagent 定義**:`.claude/agents/*.md`,每個模型層級各一份。
|
|
26
|
+
5. **跨 repo 派工模板**:當目標 repo 不是你的 session 所在的那一個時,subagent 的 prompt 必須自帶什麼。
|
|
27
|
+
|
|
28
|
+
## 本宿主的模型選擇(XSPEC-362 R5)
|
|
29
|
+
|
|
30
|
+
`core/model-selection.md` 依規則保持 vendor-neutral——它把 tier(`fast` / `standard` / `capable`)
|
|
31
|
+
與 effort 級距(`low` … `max`)定義為標籤,並明白表示它無法斷言某個模型接受哪些 effort 級距。
|
|
32
|
+
下列檔案為 Claude Code 回答這件事,且是本 repo **唯一**應該出現具體模型識別字的地方。
|
|
33
|
+
|
|
34
|
+
| 檔案 | 內容 |
|
|
35
|
+
|---|---|
|
|
36
|
+
| [`model-selection-mapping.md`](../../../../integrations/claude-code/model-selection-mapping.md) | tier → `model`、effort → `effort`、已解析的 tier × effort 表格,以及硬邊界登記表 |
|
|
37
|
+
| [`model-selection-mapping.ai.yaml`](../../../../integrations/claude-code/model-selection-mapping.ai.yaml) | 同一份映射的機器可讀版 |
|
|
38
|
+
| [`.claude/agents/`](../../../../integrations/claude-code/.claude/agents/) | 四份參考 subagent 定義:三層各一,外加一個長時程變體 |
|
|
39
|
+
| [`dispatch-template.md`](../../../../integrations/claude-code/dispatch-template.md) | 跨 repo 派工模板,以及支撐它的實測 |
|
|
40
|
+
|
|
41
|
+
該映射有兩件事值得先知道:
|
|
42
|
+
|
|
43
|
+
- **UDS 的 `very-high` 在 Claude Code 寫作 `xhigh`。** 這是唯一名稱不同的一級。標準不改名去遷就工具,
|
|
44
|
+
改名由宿主層吸收。
|
|
45
|
+
- **`fast` 層在本宿主沒有 effort 軸。** 該層的模型不接受任何 effort 級距,
|
|
46
|
+
所以標準的「先調 effort 再升級模型層」在那裡沒有東西可調。
|
|
47
|
+
|
|
48
|
+
派工機制——並行安全、獨立域、狀態協定——**不**由這些檔案涵蓋。
|
|
49
|
+
那屬於 [`core/agent-dispatch.md`](../../../../core/agent-dispatch.md),這些檔案引用它而不重寫它。
|
|
24
50
|
|
|
25
51
|
## 設定
|
|
26
52
|
|
package/package.json
CHANGED
|
@@ -75,18 +75,35 @@ export const STANDARD_TO_CATEGORY = {
|
|
|
75
75
|
* Matches patterns like:
|
|
76
76
|
* - Reference: .standards/anti-hallucination.md
|
|
77
77
|
* - 參考: .standards/anti-hallucination.md (Chinese)
|
|
78
|
+
* - Reference: .standards/a.ai.yaml, .standards/options/b.ai.yaml (more than one)
|
|
79
|
+
* - Reference: `.standards/a.ai.yaml` (quoted, as markdown renders it)
|
|
80
|
+
*
|
|
81
|
+
* The first version anchored `.standards/` directly after the label and ran to
|
|
82
|
+
* the first space, which made it see EXACTLY ONE path per line, keep whatever
|
|
83
|
+
* punctuation followed it, and miss any path that was quoted. Measured on the
|
|
84
|
+
* two telemetry repos: of three references it reported, one was a false
|
|
85
|
+
* positive (`commit-message.ai.yaml,` — the file exists, the comma did not),
|
|
86
|
+
* and it silently skipped two more, one of which
|
|
87
|
+
* (`workflow-enforcement.ai.yaml`) does not exist in any repo or upstream.
|
|
78
88
|
*
|
|
79
89
|
* @param {string} content - Integration file content
|
|
80
90
|
* @returns {string[]} - Array of referenced standard filenames (e.g., ['anti-hallucination.md'])
|
|
81
91
|
*/
|
|
82
92
|
export function parseReferences(content) {
|
|
83
|
-
//
|
|
84
|
-
const
|
|
93
|
+
// Both English and Chinese labels, and both colon widths.
|
|
94
|
+
const referenceLinePattern = /(?:Reference|參考)[::][^\n]*/gi;
|
|
95
|
+
// Every `.standards/` path on that line, stopping at anything that quotes or
|
|
96
|
+
// separates rather than names: whitespace, brackets, backticks, quotes,
|
|
97
|
+
// commas and semicolons.
|
|
98
|
+
const pathPattern = /\.standards\/([^\s\n)\]`,;'"]+)/g;
|
|
85
99
|
const references = new Set();
|
|
86
|
-
let match;
|
|
87
100
|
|
|
88
|
-
|
|
89
|
-
|
|
101
|
+
for (const line of content.match(referenceLinePattern) ?? []) {
|
|
102
|
+
for (const [, path] of line.matchAll(pathPattern)) {
|
|
103
|
+
// Sentence punctuation is not part of a filename.
|
|
104
|
+
const cleaned = path.replace(/[.,;:!?]+$/, '');
|
|
105
|
+
if (cleaned) references.add(cleaned);
|
|
106
|
+
}
|
|
90
107
|
}
|
|
91
108
|
|
|
92
109
|
return Array.from(references);
|
|
@@ -113,6 +130,42 @@ export function getStandardCategory(sourcePath) {
|
|
|
113
130
|
return STANDARD_TO_CATEGORY[fileName] || null;
|
|
114
131
|
}
|
|
115
132
|
|
|
133
|
+
/**
|
|
134
|
+
* Reduce a standard to the identity all three of its spellings share.
|
|
135
|
+
*
|
|
136
|
+
* The same standard appears as a manifest stem (`commit-message`), a shipped
|
|
137
|
+
* file (`commit-message.ai.yaml`) and a human-readable reference
|
|
138
|
+
* (`.standards/commit-message.md`). Comparing any two of those literally
|
|
139
|
+
* fails, and it fails as "this standard is not adopted".
|
|
140
|
+
*
|
|
141
|
+
* @param {string} pathOrName - Any of the three spellings
|
|
142
|
+
* @returns {string} - Bare stem, e.g. 'commit-message'
|
|
143
|
+
*/
|
|
144
|
+
export function standardStem(pathOrName) {
|
|
145
|
+
return pathOrName
|
|
146
|
+
.split('/')
|
|
147
|
+
.pop()
|
|
148
|
+
.replace(/\.(ai\.yaml|yaml|md)$/i, '');
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Category for a standard, accepting a manifest stem as well as a filename.
|
|
153
|
+
*
|
|
154
|
+
* {@link STANDARD_TO_CATEGORY} is keyed by filename; manifests store stems.
|
|
155
|
+
* Looking a stem up directly always missed, which is what emptied
|
|
156
|
+
* `manifestCategories`.
|
|
157
|
+
*
|
|
158
|
+
* @param {string} pathOrName - Manifest stem, filename or reference path
|
|
159
|
+
* @returns {string|null} - Category ID, or null when the table does not cover it
|
|
160
|
+
*/
|
|
161
|
+
function categoryForStandard(pathOrName) {
|
|
162
|
+
const fileName = pathOrName.split('/').pop();
|
|
163
|
+
if (STANDARD_TO_CATEGORY[fileName]) return STANDARD_TO_CATEGORY[fileName];
|
|
164
|
+
|
|
165
|
+
const stem = standardStem(pathOrName);
|
|
166
|
+
return STANDARD_TO_CATEGORY[`${stem}.md`] || STANDARD_TO_CATEGORY[`${stem}.ai.yaml`] || null;
|
|
167
|
+
}
|
|
168
|
+
|
|
116
169
|
/**
|
|
117
170
|
* Compare manifest standards with integration file references
|
|
118
171
|
*
|
|
@@ -124,27 +177,44 @@ export function getStandardCategory(sourcePath) {
|
|
|
124
177
|
* - syncedRefs: Standards that are properly synced
|
|
125
178
|
*/
|
|
126
179
|
export function compareStandardsWithReferences(manifestStandards, integrationReferences) {
|
|
127
|
-
//
|
|
128
|
-
//
|
|
180
|
+
// The manifest is the source of truth for what this project adopted, so ask
|
|
181
|
+
// it directly. The category map below is a hand-written table covering a
|
|
182
|
+
// small fraction of the standards UDS ships (compare its size against
|
|
183
|
+
// `cli/standards-registry.json` — a count written here would go stale the
|
|
184
|
+
// next time a standard lands); using it as the primary test reported every
|
|
185
|
+
// standard outside the table as "not in manifest", which is a different
|
|
186
|
+
// claim, and a false one.
|
|
187
|
+
//
|
|
188
|
+
// It was worse than partial coverage: manifest entries are bare stems
|
|
189
|
+
// (`commit-message`) while the table is keyed by filename
|
|
190
|
+
// (`commit-message.md`), so `manifestCategories` came out EMPTY on the
|
|
191
|
+
// current manifest format and every reference fell through to orphaned.
|
|
192
|
+
// Both halves were wrong at once, which is why the output still looked
|
|
193
|
+
// plausible — three orphans reported on the telemetry repos, one of which
|
|
194
|
+
// (`commit-message.ai.yaml`) is adopted, and the only genuinely dead one
|
|
195
|
+
// (`workflow-enforcement.ai.yaml`) was not among them.
|
|
196
|
+
const manifestStems = new Set(manifestStandards.map(standardStem));
|
|
197
|
+
|
|
129
198
|
const manifestCategories = new Set();
|
|
130
199
|
for (const std of manifestStandards) {
|
|
131
|
-
const
|
|
132
|
-
const category = STANDARD_TO_CATEGORY[fileName];
|
|
200
|
+
const category = categoryForStandard(std);
|
|
133
201
|
if (category) {
|
|
134
202
|
manifestCategories.add(category);
|
|
135
203
|
}
|
|
136
204
|
}
|
|
137
205
|
|
|
138
|
-
//
|
|
206
|
+
// A reference is orphaned when nothing in the manifest answers to it, by
|
|
207
|
+
// stem (extension- and directory-insensitive) or by legacy category name.
|
|
139
208
|
const orphanedRefs = integrationReferences.filter(ref => {
|
|
140
|
-
|
|
209
|
+
if (manifestStems.has(standardStem(ref))) return false;
|
|
210
|
+
const category = categoryForStandard(ref);
|
|
141
211
|
return !category || !manifestCategories.has(category);
|
|
142
212
|
});
|
|
143
213
|
|
|
144
214
|
// Categories in manifest but not referenced in integration file
|
|
145
215
|
const refCategories = new Set();
|
|
146
216
|
for (const ref of integrationReferences) {
|
|
147
|
-
const category =
|
|
217
|
+
const category = categoryForStandard(ref);
|
|
148
218
|
if (category) {
|
|
149
219
|
refCategories.add(category);
|
|
150
220
|
}
|
|
@@ -157,10 +227,7 @@ export function compareStandardsWithReferences(manifestStandards, integrationRef
|
|
|
157
227
|
});
|
|
158
228
|
|
|
159
229
|
// Properly synced references
|
|
160
|
-
const syncedRefs = integrationReferences.filter(ref =>
|
|
161
|
-
const category = STANDARD_TO_CATEGORY[ref];
|
|
162
|
-
return category && manifestCategories.has(category);
|
|
163
|
-
});
|
|
230
|
+
const syncedRefs = integrationReferences.filter(ref => !orphanedRefs.includes(ref));
|
|
164
231
|
|
|
165
232
|
return { orphanedRefs, missingRefs, syncedRefs };
|
|
166
233
|
}
|
package/standards-registry.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.5.0",
|
|
4
4
|
"lastUpdated": "2026-05-13",
|
|
5
5
|
"description": "Standards registry for universal-dev-standards with integrated skills and AI-optimized formats",
|
|
6
6
|
"formats": {
|
|
@@ -58,14 +58,14 @@
|
|
|
58
58
|
"standards": {
|
|
59
59
|
"name": "universal-dev-standards",
|
|
60
60
|
"url": "https://github.com/AsiaOstrich/universal-dev-standards",
|
|
61
|
-
"version": "6.
|
|
61
|
+
"version": "6.5.0"
|
|
62
62
|
},
|
|
63
63
|
"skills": {
|
|
64
64
|
"name": "universal-dev-standards",
|
|
65
65
|
"url": "https://github.com/AsiaOstrich/universal-dev-standards",
|
|
66
66
|
"localPath": "skills",
|
|
67
67
|
"rawUrl": "https://raw.githubusercontent.com/AsiaOstrich/universal-dev-standards/main/skills",
|
|
68
|
-
"version": "6.
|
|
68
|
+
"version": "6.5.0",
|
|
69
69
|
"note": "Skills are now included in the main repository under skills/"
|
|
70
70
|
}
|
|
71
71
|
},
|
|
@@ -1728,7 +1728,19 @@
|
|
|
1728
1728
|
},
|
|
1729
1729
|
"category": "skill",
|
|
1730
1730
|
"skillName": null,
|
|
1731
|
-
"description": "
|
|
1731
|
+
"description": "Two-axis model selection: model tier (reasoning ceiling × specification definiteness) × effort (reasoning depth), plus reverse-exclusion hard boundaries and four-state capability routing"
|
|
1732
|
+
},
|
|
1733
|
+
{
|
|
1734
|
+
"id": "agent-dispatch",
|
|
1735
|
+
"name": "Agent Dispatch & Parallel Coordination",
|
|
1736
|
+
"nameZh": "代理派遣與並行協調",
|
|
1737
|
+
"source": {
|
|
1738
|
+
"human": "core/agent-dispatch.md",
|
|
1739
|
+
"ai": "ai/standards/agent-dispatch.ai.yaml"
|
|
1740
|
+
},
|
|
1741
|
+
"category": "skill",
|
|
1742
|
+
"skillName": null,
|
|
1743
|
+
"description": "Parallel sub-agent dispatch: independent-domain criterion (no shared mutable state), four-state status protocol, conflict detection, prompt design principles"
|
|
1732
1744
|
},
|
|
1733
1745
|
{
|
|
1734
1746
|
"id": "git-worktree",
|
|
@@ -1742,6 +1754,18 @@
|
|
|
1742
1754
|
"skillName": null,
|
|
1743
1755
|
"description": "Git worktree lifecycle management: setup → baseline → execute → merge → cleanup"
|
|
1744
1756
|
},
|
|
1757
|
+
{
|
|
1758
|
+
"id": "class-level-fix",
|
|
1759
|
+
"name": "Class-Level Fix Standard",
|
|
1760
|
+
"nameZh": "類別層修正標準",
|
|
1761
|
+
"source": {
|
|
1762
|
+
"human": "core/class-level-fix.md",
|
|
1763
|
+
"ai": "ai/standards/class-level-fix.ai.yaml"
|
|
1764
|
+
},
|
|
1765
|
+
"category": "skill",
|
|
1766
|
+
"skillName": null,
|
|
1767
|
+
"description": "Aim a fix at the set, not the member. Walk the set from the source the system reads, never from a typed list; print the denominator and what was excluded; prove the check non-vacuous per sub-set"
|
|
1768
|
+
},
|
|
1745
1769
|
{
|
|
1746
1770
|
"id": "verification-evidence",
|
|
1747
1771
|
"name": "Verification Evidence Standard",
|
|
@@ -2236,7 +2260,7 @@
|
|
|
2236
2260
|
"id": "license-compliance",
|
|
2237
2261
|
"name": "License Compliance Standards",
|
|
2238
2262
|
"nameZh": "授權合規標準",
|
|
2239
|
-
"version": "6.
|
|
2263
|
+
"version": "6.5.0",
|
|
2240
2264
|
"source": {
|
|
2241
2265
|
"human": "core/license-compliance.md",
|
|
2242
2266
|
"ai": "ai/standards/license-compliance.ai.yaml"
|
|
@@ -2248,7 +2272,7 @@
|
|
|
2248
2272
|
"id": "verification-oracle",
|
|
2249
2273
|
"name": "Verification Oracle Standards",
|
|
2250
2274
|
"nameZh": "驗證 Oracle 標準",
|
|
2251
|
-
"version": "6.
|
|
2275
|
+
"version": "6.5.0",
|
|
2252
2276
|
"source": {
|
|
2253
2277
|
"human": "core/verification-oracle.md",
|
|
2254
2278
|
"ai": "ai/standards/verification-oracle.ai.yaml"
|
|
@@ -2260,7 +2284,7 @@
|
|
|
2260
2284
|
"id": "model-provenance",
|
|
2261
2285
|
"name": "Model Provenance Policy Standards",
|
|
2262
2286
|
"nameZh": "模型來源政策標準",
|
|
2263
|
-
"version": "6.
|
|
2287
|
+
"version": "6.5.0",
|
|
2264
2288
|
"source": {
|
|
2265
2289
|
"human": "core/model-provenance.md",
|
|
2266
2290
|
"ai": "ai/standards/model-provenance.ai.yaml"
|
|
@@ -2272,7 +2296,7 @@
|
|
|
2272
2296
|
"id": "resource-cost-boundary",
|
|
2273
2297
|
"name": "Resource / Cost Boundary Declaration Standards",
|
|
2274
2298
|
"nameZh": "資源/成本邊界宣告標準",
|
|
2275
|
-
"version": "6.
|
|
2299
|
+
"version": "6.5.0",
|
|
2276
2300
|
"source": {
|
|
2277
2301
|
"human": "core/resource-cost-boundary.md",
|
|
2278
2302
|
"ai": "ai/standards/resource-cost-boundary.ai.yaml"
|