universal-dev-standards 5.3.1 → 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.
- package/bundled/ai/standards/agent-communication-protocol.ai.yaml +32 -166
- package/bundled/ai/standards/agent-dispatch.ai.yaml +32 -58
- package/bundled/ai/standards/branch-completion.ai.yaml +34 -70
- package/bundled/ai/standards/change-batching-standards.ai.yaml +31 -180
- package/bundled/ai/standards/execution-history.ai.yaml +30 -288
- package/bundled/ai/standards/pipeline-integration-standards.ai.yaml +28 -169
- package/bundled/ai/standards/workflow-enforcement.ai.yaml +34 -240
- package/bundled/ai/standards/workflow-state-protocol.ai.yaml +31 -107
- package/bundled/locales/zh-CN/CHANGELOG.md +9 -2
- package/bundled/locales/zh-CN/README.md +1 -1
- package/bundled/locales/zh-TW/CHANGELOG.md +9 -2
- package/bundled/locales/zh-TW/README.md +1 -1
- package/package.json +1 -1
- package/src/commands/update.js +83 -11
- package/standards-registry.json +51 -11
|
@@ -1,302 +1,44 @@
|
|
|
1
|
-
# Execution History Repository Standards -
|
|
2
|
-
#
|
|
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.
|
|
18
|
-
updated: "2026-04-
|
|
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:
|
|
21
|
-
|
|
22
|
-
|
|
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:
|
|
246
|
-
trigger:
|
|
25
|
+
- id: deprecation-notice
|
|
26
|
+
trigger: any execution history operation
|
|
247
27
|
instruction: >
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
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
|
-
|
|
264
|
-
|
|
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:
|
|
271
|
-
trigger: "
|
|
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
|
-
|
|
281
|
-
|
|
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
|
-
|
|
287
|
-
|
|
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 -
|
|
2
|
-
#
|
|
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.
|
|
11
|
-
updated: "2026-
|
|
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
|
-
|
|
22
|
-
|
|
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:
|
|
25
|
+
- id: deprecation-notice
|
|
150
26
|
trigger: starting pipeline execution
|
|
151
|
-
instruction:
|
|
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:
|
|
157
|
-
|
|
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
|
-
|
|
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
|