universal-dev-standards 5.3.2 → 5.4.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.
@@ -1,302 +1,44 @@
1
- # Execution History Repository Standards - AI Optimized
2
- # Source: cross-project/specs/XSPEC-003-execution-history-standard-sdd.md
1
+ # Execution History Repository Standards - DEPRECATED STUB
2
+ # This file has been migrated to DevAP per DEC-049 (UDS/DevAP responsibility split).
3
+ # Canonical location: dev-autopilot/standards/orchestration/execution-history.ai.yaml
4
+ # Migration: XSPEC-086 Phase 2 (2026-04-27)
5
+ #
6
+ # Source spec: cross-project/specs/XSPEC-003-execution-history-standard-sdd.md
7
+ # Deprecation schedule: UDS 5.4.0 deprecated → UDS 6.0.0 removed
3
8
 
4
9
  standard:
5
10
  id: execution-history
6
- name: "Execution History Repository Standards"
7
- description: "Structured system for persisting agent execution artifacts with L1/L2/L3 tiered access model"
8
- guidelines:
9
- - "每次 agent 任務執行完畢後,必須產出 required artifacts"
10
- - "歷史以檔案系統目錄結構組織,支援直接路徑存取"
11
- - "提供 L1/L2/L3 三層存取,平衡資訊量與 token 成本"
12
- - "敏感資訊在寫入時自動 redact"
13
- - "跨專案僅共享 L1 層級,遵守授權隔離"
14
- - "歷史保留策略確保 L1/L2 索引永久保留,L3 artifacts 依 max_runs 設定自動清理以控制儲存空間"
15
-
16
11
  meta:
17
- version: "1.0.0"
18
- updated: "2026-04-02"
12
+ version: "1.0.1"
13
+ updated: "2026-04-27"
14
+ deprecated: true
15
+ deprecated_since: "5.4.0"
16
+ removal_version: "6.0.0"
17
+ canonical_owner: devap
18
+ canonical_path: "dev-autopilot/standards/orchestration/execution-history.ai.yaml"
19
19
  source: cross-project/specs/XSPEC-003-execution-history-standard-sdd.md
20
- description: "基於 Meta-Harness 論文洞見,建立跨專案執行歷史標準"
21
-
22
- schema:
23
- storage:
24
- description: "執行歷史為 append-only log,支援兩種儲存後端"
25
- backends:
26
- local:
27
- description: "儲存在 repo 內的 .execution-history/ 目錄"
28
- git_policy: |
29
- L3 artifacts 不追蹤(納入 .gitignore),L1 index.json 可選追蹤。
30
- 歷史本質是寫入後不變動的 log,不適合 git 追蹤大量變動。
31
- gitignore_rules: |
32
- .execution-history/*/ # L3 artifacts 不追蹤
33
- !.execution-history/index.json # L1 索引可選追蹤
34
- !.execution-history/index-archive.json # L1 歸檔索引可選追蹤
35
- when_to_use: "個人開發、小型專案、或不需跨環境共享歷史時"
36
- file_server:
37
- description: "儲存在外部 FileServer(如 S3、MinIO、NAS、共享磁碟)"
38
- config_file: ".execution-history/storage.json"
39
- config_schema:
40
- backend: { type: string, enum: [local, file_server] }
41
- file_server_url: { type: string, description: "FileServer 端點 URL" }
42
- auth_method: { type: string, enum: [none, api_key, oauth], default: none }
43
- sync_l1_to_local: { type: boolean, default: true, description: "是否將 L1 索引同步到本地" }
44
- when_to_use: "團隊協作、跨環境共享、歷史量大、或需要長期保存時"
45
- rules:
46
- - "L1 索引始終同步到本地(sync_l1_to_local: true),確保離線可讀"
47
- - "L2/L3 按需從 FileServer 拉取"
48
- - "寫入走 FileServer API,本地不留 L3 副本"
49
- default_backend: local
50
-
51
- directory_structure:
52
- root: ".execution-history/"
53
- layout: |
54
- .execution-history/
55
- ├── storage.json # 儲存後端配置(可選,預設 local)
56
- ├── index.json # L1: 最近 50 個活躍 tasks 索引
57
- ├── index-archive.json # L1-ext: 歸檔 tasks 索引(> 90 天無新 run)
58
- ├── {task-id}/
59
- │ ├── manifest.json # L2: 任務層級摘要
60
- │ ├── {run-number}/ # 三位數字(001-999)
61
- │ │ ├── manifest.json # L2: 單次執行摘要
62
- │ │ ├── task-description.md # Required: 任務描述
63
- │ │ ├── code-diff.patch # Required: 程式碼變更
64
- │ │ ├── test-results.json # Required: 測試結果
65
- │ │ ├── execution-log.jsonl # Required: 執行日誌
66
- │ │ ├── token-usage.json # Required: Token 使用量
67
- │ │ ├── final-status.json # Required: 最終狀態
68
- │ │ ├── error-analysis.md # Optional: 錯誤分析
69
- │ │ └── agent-reasoning.md # Optional: Agent 推理過程
70
- │ └── ...
71
- └── ...
72
- index_strategy:
73
- description: "分層索引策略,平衡即時性與歷史完整性"
74
- active_index: "index.json — 最近 50 個活躍 tasks(< 200 tokens 目標)"
75
- archive_index: "index-archive.json — 超過 90 天無新 run 的 tasks 自動歸檔"
76
- archive_trigger: "task 最後一次 run 距今 > 90 天"
77
- reactivate_trigger: "歸檔 task 有新 run 時自動移回 active index"
78
-
79
- artifacts:
80
- required:
81
- - id: task-description
82
- file: "task-description.md"
83
- format: markdown
84
- description: "任務目標、輸入、預期產出"
85
- max_size: "2KB"
86
- - id: code-diff
87
- file: "code-diff.patch"
88
- format: "unified diff"
89
- description: "本次執行產生的程式碼變更"
90
- max_size: "50KB"
91
- - id: test-results
92
- file: "test-results.json"
93
- format: json
94
- description: "測試執行結果(通過/失敗/跳過數量、失敗詳情)"
95
- schema_ref: "#/definitions/test-results"
96
- - id: execution-log
97
- file: "execution-log.jsonl"
98
- format: jsonl
99
- description: "結構化執行日誌(每行一個事件)"
100
- schema_ref: "#/definitions/log-entry"
101
- - id: token-usage
102
- file: "token-usage.json"
103
- format: json
104
- description: "Token 使用量明細(input/output/total,按步驟分)"
105
- schema_ref: "#/definitions/token-usage"
106
- - id: final-status
107
- file: "final-status.json"
108
- format: json
109
- description: "最終狀態(success/failure/partial,含摘要)"
110
- schema_ref: "#/definitions/final-status"
111
- optional:
112
- - id: error-analysis
113
- file: "error-analysis.md"
114
- format: markdown
115
- description: "失敗時的根因分析"
116
- condition: "status != success"
117
- - id: agent-reasoning
118
- file: "agent-reasoning.md"
119
- format: markdown
120
- description: "Agent 的推理過程與決策紀錄"
121
-
122
- access_layers:
123
- L1:
124
- name: "索引層"
125
- files:
126
- active: "index.json"
127
- archive: "index-archive.json"
128
- target_tokens: "< 200 (active), 按需 (archive)"
129
- fields:
130
- - task_id
131
- - task_name
132
- - tags
133
- - latest_run
134
- - latest_status
135
- - latest_date
136
- - total_runs
137
- cross_project_access: true
138
- L2:
139
- name: "摘要層"
140
- file: "manifest.json"
141
- target_tokens: "< 1,000 per task"
142
- fields:
143
- - task_description_summary
144
- - run_history
145
- - key_metrics
146
- - artifacts_available
147
- - failure_summary
148
- cross_project_access: false
149
- L3:
150
- name: "完整紀錄層"
151
- file: "各 artifact 檔案"
152
- target_tokens: "不限"
153
- description: "直接讀取 run 目錄下的個別 artifact 檔案"
154
- cross_project_access: false
155
-
156
- retention_policy:
157
- configurable: true
158
- defaults:
159
- max_runs_per_task: 50
160
- max_total_size_mb: 500
161
- cleanup_strategy: "oldest_l3_first"
162
- rules:
163
- - "超過 max_runs 時,最舊的 run 的 L3 artifacts 被刪除"
164
- - "L1 和 L2 索引永久保留(除非手動刪除)"
165
- - "cleanup 以 task 為單位,不跨 task 清理"
166
-
167
- sensitive_data:
168
- redact_on_write: true
169
- sensitive_patterns:
170
- - pattern: "sk-[a-zA-Z0-9_-]{20,}"
171
- label: "API_KEY"
172
- - pattern: "ghp_[a-zA-Z0-9]{36}"
173
- label: "GITHUB_TOKEN"
174
- - pattern: "password\\s*[:=]\\s*\\S+"
175
- label: "PASSWORD"
176
- - pattern: "-----BEGIN .* PRIVATE KEY-----"
177
- label: "PRIVATE_KEY"
178
- redact_format: "[REDACTED:{label}]"
179
-
180
- definitions:
181
- test-results:
182
- type: object
183
- required: [timestamp, summary, details]
184
- properties:
185
- timestamp:
186
- type: string
187
- format: "ISO 8601"
188
- summary:
189
- type: object
190
- properties:
191
- total: { type: integer }
192
- passed: { type: integer }
193
- failed: { type: integer }
194
- skipped: { type: integer }
195
- details:
196
- type: array
197
- items:
198
- type: object
199
- properties:
200
- test_name: { type: string }
201
- status: { type: string, enum: [passed, failed, skipped] }
202
- duration_ms: { type: integer }
203
- error_message: { type: string }
204
-
205
- log-entry:
206
- type: object
207
- required: [timestamp, level, event]
208
- properties:
209
- timestamp: { type: string, format: "ISO 8601" }
210
- level: { type: string, enum: [debug, info, warn, error] }
211
- event: { type: string }
212
- details: { type: object }
213
- tool_call: { type: string }
214
- tokens: { type: integer }
215
-
216
- token-usage:
217
- type: object
218
- required: [total, breakdown]
219
- properties:
220
- total:
221
- type: object
222
- properties:
223
- input_tokens: { type: integer }
224
- output_tokens: { type: integer }
225
- breakdown:
226
- type: array
227
- items:
228
- type: object
229
- properties:
230
- step: { type: string }
231
- input_tokens: { type: integer }
232
- output_tokens: { type: integer }
233
-
234
- final-status:
235
- type: object
236
- required: [status, summary, timestamp]
237
- properties:
238
- status: { type: string, enum: [success, failure, partial] }
239
- summary: { type: string }
240
- timestamp: { type: string, format: "ISO 8601" }
241
- duration_seconds: { type: number }
242
- error: { type: string }
20
+ description: >
21
+ DEPRECATED: This standard has moved to DevAP (orchestration layer).
22
+ Install DevAP and load standards/orchestration/execution-history.ai.yaml instead.
243
23
 
244
24
  rules:
245
- - id: record-on-completion
246
- trigger: "Agent 任務執行完畢(無論成功或失敗)"
25
+ - id: deprecation-notice
26
+ trigger: any execution history operation
247
27
  instruction: >
248
- 在任務完成後,依據 storage.json 配置的後端(預設 local),
249
- 將所有 required artifacts 寫入 .execution-history/{task-id}/{run-number}/ 目錄,
250
- 並更新 task manifest.json 和根 index.json。
251
- 若使用 file_server 後端,寫入走 FileServer API,
252
- 同時將 L1 索引同步到本地。
253
- priority: required
254
-
255
- - id: use-l1-first
256
- trigger: "Agent 需要參考先前執行歷史"
257
- instruction: >
258
- 先讀取 .execution-history/index.json(L1)篩選相關任務,
259
- 再讀取相關任務的 manifest.json(L2)了解脈絡,
260
- 僅在需要深入診斷時才讀取 L3 完整 artifacts。
261
- priority: required
28
+ This standard (execution-history.ai.yaml) has been migrated to DevAP.
29
+ For the canonical executable definition, load:
30
+ dev-autopilot/standards/orchestration/execution-history.ai.yaml
262
31
 
263
- - id: redact-sensitive
264
- trigger: "寫入任何 artifact .execution-history/"
265
- instruction: >
266
- 在寫入前,掃描內容中的 sensitive_patterns,
267
- 將匹配內容替換為 [REDACTED:{label}] 格式。
32
+ Note: DevAP's packages/core already implements execution history (ExecutionHistoryStorage).
33
+ The YAML standard is now co-located with the implementation.
268
34
  priority: required
269
35
 
270
- - id: respect-retention
271
- trigger: " run 寫入後,檢查 retention_policy"
272
- instruction: >
273
- 檢查該 task 的 run 數量是否超過 max_runs_per_task,
274
- 若超過則刪除最舊 run 的 L3 artifacts,保留 L1/L2 索引。
275
- priority: recommended
276
-
277
- - id: archive-stale-tasks
278
- trigger: "index.json 更新時,檢查是否有 task 需要歸檔"
36
+ - id: record-on-completion
37
+ trigger: "Agent 任務執行完畢"
279
38
  instruction: >
280
- index.json 中某 task 的 latest_date 距今超過 90 天,
281
- 將該 task index.json 移至 index-archive.json。
282
- 若歸檔 task 有新 run 寫入,自動移回 index.json。
283
- index.json 最多保留 50 個活躍 tasks。
284
- priority: recommended
39
+ DEPRECATED load dev-autopilot/standards/orchestration/execution-history.ai.yaml
40
+ for the current executable history protocol.
285
41
 
286
- - id: cross-project-l1-only
287
- trigger: "從其他專案讀取執行歷史"
288
- instruction: >
289
- 跨專案存取僅限 L1 層級(index.json),
290
- 不得讀取 L2/L3 層級以遵守授權隔離。
42
+ Minimal fallback: Write required artifacts to .execution-history/{task-id}/{run-number}/
43
+ after each agent task completes.
291
44
  priority: required
292
-
293
- storage:
294
- directory: ".execution-history/"
295
- format: "JSON + Markdown + JSONL + Patch"
296
-
297
- architecture:
298
- classification: always-on-protocol
299
- note: >
300
- Execution History 是 Always-On Protocol,
301
- 與 developer-memory、project-context-memory 同層級。
302
- AI 自動遵循所有 rules,不需要 slash command。
@@ -1,184 +1,43 @@
1
- # Pipeline Integration Standards - AI Optimized
2
- # Source: core/pipeline-integration-standards.md
1
+ # Pipeline Integration Standards - DEPRECATED STUB
2
+ # This file has been migrated to DevAP per DEC-049 (UDS/DevAP responsibility split).
3
+ # Canonical location: dev-autopilot/standards/flow/pipeline-integration-standards.ai.yaml
4
+ # Migration: XSPEC-086 Phase 2 (2026-04-27)
5
+ #
6
+ # Human-readable standard: core/pipeline-integration-standards.md (remains in UDS)
7
+ # Deprecation schedule: UDS 5.4.0 deprecated → UDS 6.0.0 removed
3
8
 
4
9
  standard:
5
10
  id: pipeline-integration
6
- name: Pipeline Integration
7
- description: Configuration contract, stage model, and context classification for automated development pipelines
8
-
9
11
  meta:
10
- version: "1.0.0"
11
- updated: "2026-03-18"
12
+ version: "1.0.1"
13
+ updated: "2026-04-27"
14
+ deprecated: true
15
+ deprecated_since: "5.4.0"
16
+ removal_version: "6.0.0"
17
+ canonical_owner: devap
18
+ canonical_path: "dev-autopilot/standards/flow/pipeline-integration-standards.ai.yaml"
12
19
  source: core/pipeline-integration-standards.md
13
- references:
14
- - "ISO/IEC 12207 (Software Lifecycle Processes)"
15
- - "ISO/IEC 15504 SPICE (Process Assessment)"
16
- - "Continuous Delivery (Jez Humble)"
17
- - "DORA Metrics"
18
-
19
- configuration_contract:
20
20
  description: >
21
- Projects using automated pipelines declare pipeline preferences via standard toggles.
22
- All toggles default to OFF (manual mode).
23
-
24
- toggles:
25
- - name: autoSpecGeneration
26
- type: boolean
27
- default: false
28
- description: Automatically generate SDD specs from PRD/user stories
29
- when_on: Pipeline generates spec draft, submits for review
30
- when_off: Manual spec creation required
31
-
32
- - name: autoDerive
33
- type: boolean
34
- default: false
35
- description: Automatically derive BDD/TDD/ATDD from approved specs
36
- when_on: Pipeline runs derivation after spec approval
37
- when_off: Manual derivation via commands
38
-
39
- - name: autoTDD
40
- type: boolean
41
- default: false
42
- description: Automatically enter TDD RED phase after derivation
43
- when_on: Pipeline sets RED state and creates test skeleton
44
- when_off: Developer manually enters TDD
45
-
46
- - name: autoCheckin
47
- type: boolean
48
- default: false
49
- description: Automatically commit when all quality gates pass
50
- when_on: Pipeline commits after all gates pass
51
- when_off: Developer manually commits
52
-
53
- - name: autoBatch
54
- type: boolean
55
- default: false
56
- description: Automatically batch pending changes before commit
57
- when_on: Pipeline accumulates changes and merges at threshold
58
- when_off: Each change committed individually
59
-
60
- reading_rules:
61
- - Fail-safe defaults — all toggles default to OFF
62
- - Explicit declaration — never assume toggle state without reading config
63
- - Runtime override — CLI flags may override file-based config
64
- - Validation — validate configuration values before execution
65
-
66
- pipeline_stages:
67
- description: Standard 6-stage pipeline model
68
- stages:
69
- - stage: PLAN
70
- input: PRD, user stories, requirements
71
- output: Structured requirements document
72
- gate: Requirements reviewed
73
-
74
- - stage: SPEC
75
- input: Requirements
76
- output: SDD specification with AC
77
- gate: Spec approved
78
-
79
- - stage: DERIVE
80
- input: Approved spec
81
- output: BDD scenarios, TDD skeletons, ATDD tables
82
- gate: 1:1 AC mapping verified
83
-
84
- - stage: BUILD
85
- input: Test skeletons + spec
86
- output: Implementation code
87
- gate: Tests pass (RED→GREEN)
88
-
89
- - stage: REVIEW
90
- input: Implementation + tests
91
- output: Review feedback
92
- gate: Review approved
93
-
94
- - stage: CHECKIN
95
- input: Approved changes
96
- output: Committed code
97
- gate: All quality gates pass
98
-
99
- context_classification:
100
- types:
101
- - type: greenfield
102
- description: New project or feature with no existing code
103
- scenario: Starting a new module, service, or product
104
- strategy:
105
- plan: Full requirements
106
- spec: Complete SDD
107
- derive: Full derivation
108
- build: TDD from scratch
109
- review: Full review
110
- checkin: Standard checkin
111
-
112
- - type: brownfield
113
- description: Existing codebase requiring modification
114
- scenario: Adding features to legacy code, refactoring
115
- strategy:
116
- plan: Impact analysis first
117
- spec: Delta SDD (changes only)
118
- derive: Targeted derivation
119
- build: Modify existing + new tests
120
- review: Focused review on changes
121
- checkin: Standard checkin
122
-
123
- - type: adhoc
124
- description: Small, isolated changes
125
- scenario: Bug fixes, configuration changes, hotfixes
126
- strategy:
127
- plan: Quick assessment
128
- spec: Optional (for significant changes)
129
- derive: Skip (unless complex)
130
- build: Direct fix
131
- review: Quick review
132
- checkin: Standard checkin
133
-
134
- detection_signals:
135
- - signal: file_count
136
- greenfield: 0 or minimal files
137
- brownfield: Established codebase
138
- adhoc: N/A
139
- - signal: change_scope
140
- greenfield: New directory/module
141
- brownfield: Modifications to existing files
142
- adhoc: 1-3 files changed
143
- - signal: test_coverage
144
- greenfield: No existing tests
145
- brownfield: Existing test suite
146
- adhoc: Existing tests cover area
21
+ DEPRECATED: This standard has moved to DevAP (flow orchestration layer).
22
+ Install DevAP and load standards/flow/pipeline-integration-standards.ai.yaml instead.
147
23
 
148
24
  rules:
149
- - id: read-config-first
25
+ - id: deprecation-notice
150
26
  trigger: starting pipeline execution
151
- instruction: Read all toggles from configuration before executing any stage
27
+ instruction: >
28
+ This standard (pipeline-integration-standards.ai.yaml) has been migrated to DevAP.
29
+ For the canonical executable definition, load:
30
+ dev-autopilot/standards/flow/pipeline-integration-standards.ai.yaml
31
+
32
+ The human-readable standard remains at:
33
+ universal-dev-standards/core/pipeline-integration-standards.md
152
34
  priority: required
153
35
 
154
36
  - id: fail-safe-defaults
155
37
  trigger: toggle not found in configuration
156
- instruction: Default all unset toggles to OFF (manual mode)
157
- priority: required
38
+ instruction: >
39
+ DEPRECATED — load dev-autopilot/standards/flow/pipeline-integration-standards.ai.yaml
40
+ for the current executable pipeline integration rules.
158
41
 
159
- - id: enforce-stage-gates
160
- trigger: completing a pipeline stage
161
- instruction: Verify quality gate passes before progressing to next stage
42
+ Minimal fallback: Default all unset pipeline toggles to OFF (manual mode).
162
43
  priority: required
163
-
164
- - id: context-awareness
165
- trigger: starting pipeline execution
166
- instruction: Detect or read context type and adapt stage strategy accordingly
167
- priority: required
168
-
169
- - id: log-decisions
170
- trigger: skipping or executing a stage
171
- instruction: Log which stages were executed, skipped, and why
172
- priority: recommended
173
-
174
- - id: validate-config
175
- trigger: reading configuration
176
- instruction: Validate toggle types (boolean), context enum, and unknown keys
177
- priority: required
178
-
179
- related_standards:
180
- - spec-driven-development.md
181
- - forward-derivation-standards.md
182
- - checkin-standards.md
183
- - change-batching-standards.md
184
- - acceptance-criteria-traceability.md