universal-dev-standards 5.5.0 → 5.7.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/options/testing/integration-testing.ai.yaml +2 -2
- package/bundled/ai/options/testing/unit-testing.ai.yaml +2 -2
- package/bundled/ai/standards/agent-communication-protocol.ai.yaml +8 -9
- package/bundled/ai/standards/agent-dispatch.ai.yaml +8 -9
- package/bundled/ai/standards/branch-completion.ai.yaml +8 -10
- package/bundled/ai/standards/browser-compatibility-standards.ai.yaml +63 -0
- package/bundled/ai/standards/capability-declaration.ai.yaml +4 -4
- package/bundled/ai/standards/change-batching-standards.ai.yaml +8 -10
- package/bundled/ai/standards/circuit-breaker.ai.yaml +7 -7
- package/bundled/ai/standards/contract-testing-standards.ai.yaml +62 -0
- package/bundled/ai/standards/cross-flow-regression.ai.yaml +61 -0
- package/bundled/ai/standards/disaster-recovery-drill.ai.yaml +1 -1
- package/bundled/ai/standards/dual-phase-output.ai.yaml +3 -3
- package/bundled/ai/standards/execution-history.ai.yaml +8 -10
- package/bundled/ai/standards/failure-source-taxonomy.ai.yaml +8 -10
- package/bundled/ai/standards/full-coverage-testing.ai.yaml +192 -0
- package/bundled/ai/standards/git-worktree.ai.yaml +1 -1
- package/bundled/ai/standards/governance-layer.ai.yaml +114 -0
- package/bundled/ai/standards/mock-boundary.ai.yaml +1 -1
- package/bundled/ai/standards/model-selection.ai.yaml +1 -1
- package/bundled/ai/standards/packaging-standards.ai.yaml +8 -8
- package/bundled/ai/standards/pipeline-integration-standards.ai.yaml +8 -9
- package/bundled/ai/standards/pipeline-security-gates.ai.yaml +4 -0
- package/bundled/ai/standards/recovery-recipe-registry.ai.yaml +6 -10
- package/bundled/ai/standards/release-readiness-gate.ai.yaml +77 -0
- package/bundled/ai/standards/security-decision.ai.yaml +3 -3
- package/bundled/ai/standards/server-ops-security.ai.yaml +1 -1
- package/bundled/ai/standards/standard-admission-criteria.ai.yaml +1 -1
- package/bundled/ai/standards/standard-lifecycle-management.ai.yaml +1 -1
- package/bundled/ai/standards/supply-chain-attestation.ai.yaml +1 -1
- package/bundled/ai/standards/testing.ai.yaml +20 -13
- package/bundled/ai/standards/token-budget.ai.yaml +3 -3
- package/bundled/ai/standards/workflow-enforcement.ai.yaml +8 -11
- package/bundled/ai/standards/workflow-state-protocol.ai.yaml +8 -10
- package/bundled/core/accessibility-standards.md +58 -0
- package/bundled/core/adversarial-test.md +1 -1
- package/bundled/core/agent-behavior-discipline.md +4 -4
- package/bundled/core/agent-communication-protocol.md +5 -5
- package/bundled/core/branch-completion.md +4 -0
- package/bundled/core/browser-compatibility-standards.md +220 -0
- package/bundled/core/checkin-standards.md +1 -0
- package/bundled/core/circuit-breaker.md +4 -4
- package/bundled/core/container-security.md +8 -8
- package/bundled/core/contract-testing-standards.md +182 -0
- package/bundled/core/cross-flow-regression.md +190 -0
- package/bundled/core/disaster-recovery-drill.md +3 -3
- package/bundled/core/dual-phase-output.md +1 -1
- package/bundled/core/failure-source-taxonomy.md +3 -3
- package/bundled/core/flow-based-testing.md +135 -2
- package/bundled/core/full-coverage-testing.md +183 -0
- package/bundled/core/git-worktree.md +1 -1
- package/bundled/core/governance-layer.md +151 -0
- package/bundled/core/llm-output-validation.md +2 -2
- package/bundled/core/mock-boundary.md +1 -1
- package/bundled/core/packaging-standards.md +14 -14
- package/bundled/core/performance-standards.md +65 -0
- package/bundled/core/policy-as-code-testing.md +9 -9
- package/bundled/core/recovery-recipe-registry.md +2 -2
- package/bundled/core/release-quality-manifest.md +58 -12
- package/bundled/core/release-readiness-gate.md +184 -0
- package/bundled/core/sast-advanced.md +5 -5
- package/bundled/core/secure-op.md +5 -5
- package/bundled/core/security-decision.md +1 -1
- package/bundled/core/server-ops-security.md +15 -15
- package/bundled/core/smoke-test.md +1 -1
- package/bundled/core/standard-admission-criteria.md +1 -1
- package/bundled/core/standard-lifecycle-management.md +1 -1
- package/bundled/core/supply-chain-attestation.md +4 -4
- package/bundled/core/token-budget.md +3 -3
- package/bundled/locales/zh-CN/CHANGELOG.md +51 -4
- package/bundled/locales/zh-CN/README.md +11 -27
- package/bundled/locales/zh-CN/core/agent-communication-protocol.md +5 -5
- package/bundled/locales/zh-CN/core/circuit-breaker.md +1 -1
- package/bundled/locales/zh-CN/core/git-worktree.md +1 -1
- package/bundled/locales/zh-CN/core/packaging-standards.md +14 -14
- package/bundled/locales/zh-CN/core/recovery-recipe-registry.md +6 -9
- package/bundled/locales/zh-CN/core/standard-admission-criteria.md +1 -1
- package/bundled/locales/zh-CN/core/standard-lifecycle-management.md +1 -1
- package/bundled/locales/zh-CN/core/token-budget.md +1 -1
- package/bundled/locales/zh-TW/CHANGELOG.md +51 -4
- package/bundled/locales/zh-TW/README.md +11 -27
- package/bundled/locales/zh-TW/core/agent-communication-protocol.md +5 -5
- package/bundled/locales/zh-TW/core/browser-compatibility-standards.md +11 -0
- package/bundled/locales/zh-TW/core/capability-declaration.md +4 -4
- package/bundled/locales/zh-TW/core/circuit-breaker.md +7 -7
- package/bundled/locales/zh-TW/core/contract-testing-standards.md +11 -0
- package/bundled/locales/zh-TW/core/cross-flow-regression.md +11 -0
- package/bundled/locales/zh-TW/core/dual-phase-output.md +3 -3
- package/bundled/locales/zh-TW/core/failure-source-taxonomy.md +7 -9
- package/bundled/locales/zh-TW/core/governance-layer.md +159 -0
- package/bundled/locales/zh-TW/core/packaging-standards.md +14 -14
- package/bundled/locales/zh-TW/core/recovery-recipe-registry.md +6 -9
- package/bundled/locales/zh-TW/core/release-readiness-gate.md +11 -0
- package/bundled/locales/zh-TW/core/security-decision.md +3 -3
- package/bundled/locales/zh-TW/core/standard-admission-criteria.md +1 -1
- package/bundled/locales/zh-TW/core/standard-lifecycle-management.md +1 -1
- package/bundled/locales/zh-TW/core/token-budget.md +3 -3
- package/bundled/skills/README.md +23 -0
- package/bundled/skills/atdd-assistant/SKILL.md +4 -5
- package/bundled/skills/bdd-assistant/SKILL.md +4 -5
- package/bundled/skills/checkin-assistant/SKILL.md +4 -6
- package/bundled/skills/code-review-assistant/SKILL.md +4 -5
- package/bundled/skills/commands/observability.md +42 -0
- package/bundled/skills/commands/runbook.md +44 -0
- package/bundled/skills/commands/slo.md +45 -0
- package/bundled/skills/journey-test-assistant/SKILL.md +1 -1
- package/bundled/skills/orchestrate/SKILL.md +1 -1
- package/bundled/skills/plan/SKILL.md +1 -1
- package/bundled/skills/pr-automation-assistant/SKILL.md +4 -5
- package/bundled/skills/push/SKILL.md +1 -1
- package/bundled/skills/spec-driven-dev/SKILL.md +4 -5
- package/bundled/skills/sweep/SKILL.md +3 -3
- package/bundled/skills/tdd-assistant/SKILL.md +4 -5
- package/package.json +6 -6
- package/src/commands/check.js +43 -0
- package/src/commands/flow.js +7 -5
- package/src/commands/init.js +2 -1
- package/src/commands/start.js +7 -6
- package/src/commands/sweep.js +7 -6
- package/src/commands/update.js +10 -0
- package/src/commands/workflow.js +7 -6
- package/src/core/agent-communication-protocol.js +10 -3
- package/standards-registry.json +107 -51
|
@@ -17,7 +17,7 @@ characteristics:
|
|
|
17
17
|
scope: Multiple components working together
|
|
18
18
|
speed: "<1 second per test"
|
|
19
19
|
isolation: Partial (may use real dependencies)
|
|
20
|
-
|
|
20
|
+
coverage_policy: "Behavior-completeness ratchet (XSPEC-178) — no fixed % floor. See full-coverage-testing.ai.yaml."
|
|
21
21
|
|
|
22
22
|
rules:
|
|
23
23
|
- id: test-integration-points
|
|
@@ -86,4 +86,4 @@ tools:
|
|
|
86
86
|
- MockServer
|
|
87
87
|
- nock (Node.js)
|
|
88
88
|
|
|
89
|
-
coverage_target: "
|
|
89
|
+
coverage_target: "All critical paths AND integration points — not just happy path. Ratchet CI enforced. (XSPEC-178)"
|
|
@@ -11,7 +11,7 @@ characteristics:
|
|
|
11
11
|
scope: Single function or method
|
|
12
12
|
speed: "<100ms per test"
|
|
13
13
|
isolation: Complete (no external dependencies)
|
|
14
|
-
|
|
14
|
+
coverage_policy: "Behavior-completeness ratchet (XSPEC-178) — no fixed % floor. See full-coverage-testing.ai.yaml."
|
|
15
15
|
|
|
16
16
|
rules:
|
|
17
17
|
- id: test-one-thing
|
|
@@ -71,7 +71,7 @@ when_not_to_write:
|
|
|
71
71
|
- Testing trivial getters/setters
|
|
72
72
|
- Testing third-party libraries
|
|
73
73
|
|
|
74
|
-
coverage_target: "80%
|
|
74
|
+
coverage_target: "Behavior-completeness: happy/edge/error path per public function. Ratchet CI — coverage can only increase. (XSPEC-178 — deprecated fixed 80% threshold)"
|
|
75
75
|
|
|
76
76
|
tools:
|
|
77
77
|
javascript: [Jest, Vitest, Mocha]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Agent Communication Protocol - DEPRECATED STUB
|
|
2
|
-
#
|
|
3
|
-
#
|
|
2
|
+
# Runtime details relocated to adoption layer (runtime moved to adoption layer 2026-04-28).
|
|
3
|
+
# Adoption layer must implement an equivalent runtime; UDS retains only the human-readable concept under core/.
|
|
4
4
|
# Migration: XSPEC-086 Phase 2 (2026-04-27)
|
|
5
5
|
#
|
|
6
6
|
# Human-readable standard: core/agent-communication-protocol.md (remains in UDS)
|
|
@@ -14,20 +14,19 @@ standard:
|
|
|
14
14
|
deprecated: true
|
|
15
15
|
deprecated_since: "5.4.0"
|
|
16
16
|
removal_version: "6.0.0"
|
|
17
|
-
canonical_owner:
|
|
18
|
-
canonical_path: "
|
|
17
|
+
canonical_owner: adoption-layer
|
|
18
|
+
canonical_path: "" # adoption-layer responsibility
|
|
19
19
|
source: core/agent-communication-protocol.md
|
|
20
20
|
description: >
|
|
21
|
-
DEPRECATED:
|
|
22
|
-
|
|
21
|
+
DEPRECATED: Runtime details relocated to adoption layer (runtime moved to adoption layer 2026-04-28).
|
|
22
|
+
Adoption layer must implement an equivalent runtime.
|
|
23
23
|
|
|
24
24
|
rules:
|
|
25
25
|
- id: deprecation-notice
|
|
26
26
|
trigger: any agent communication operation
|
|
27
27
|
instruction: >
|
|
28
|
-
|
|
28
|
+
Runtime details for this standard are now adoption-layer responsibility (runtime moved to adoption layer 2026-04-28).
|
|
29
29
|
For the canonical executable definition, load:
|
|
30
|
-
dev-autopilot/standards/orchestration/agent-communication-protocol.ai.yaml
|
|
31
30
|
|
|
32
31
|
The human-readable standard remains at:
|
|
33
32
|
universal-dev-standards/core/agent-communication-protocol.md
|
|
@@ -36,7 +35,7 @@ standard:
|
|
|
36
35
|
- id: ACP-001
|
|
37
36
|
trigger: "訊息缺少必要欄位"
|
|
38
37
|
instruction: >
|
|
39
|
-
DEPRECATED —
|
|
38
|
+
DEPRECATED — see universal-dev-standards/core/ for human-readable concept; runtime is adoption-layer responsibility
|
|
40
39
|
for the current executable communication protocol.
|
|
41
40
|
|
|
42
41
|
Minimal fallback: Reject messages missing required Envelope fields and report INVALID_ENVELOPE.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Agent Dispatch & Parallel Coordination - DEPRECATED STUB
|
|
2
|
-
#
|
|
3
|
-
#
|
|
2
|
+
# Runtime details relocated to adoption layer (runtime moved to adoption layer 2026-04-28).
|
|
3
|
+
# Adoption layer must implement an equivalent runtime; UDS retains only the human-readable concept under core/.
|
|
4
4
|
# Migration: XSPEC-086 Phase 2 (2026-04-27)
|
|
5
5
|
#
|
|
6
6
|
# Human-readable standard: core/agent-dispatch.md (remains in UDS)
|
|
@@ -14,20 +14,19 @@ standard:
|
|
|
14
14
|
deprecated: true
|
|
15
15
|
deprecated_since: "5.4.0"
|
|
16
16
|
removal_version: "6.0.0"
|
|
17
|
-
canonical_owner:
|
|
18
|
-
canonical_path: "
|
|
17
|
+
canonical_owner: adoption-layer
|
|
18
|
+
canonical_path: "" # adoption-layer responsibility
|
|
19
19
|
source: core/agent-dispatch.md
|
|
20
20
|
description: >
|
|
21
|
-
DEPRECATED:
|
|
22
|
-
|
|
21
|
+
DEPRECATED: Runtime details relocated to adoption layer (runtime moved to adoption layer 2026-04-28).
|
|
22
|
+
Adoption layer must implement an equivalent runtime.
|
|
23
23
|
|
|
24
24
|
rules:
|
|
25
25
|
- id: deprecation-notice
|
|
26
26
|
trigger: any agent dispatch operation
|
|
27
27
|
instruction: >
|
|
28
|
-
|
|
28
|
+
Runtime details for this standard are now adoption-layer responsibility (runtime moved to adoption layer 2026-04-28).
|
|
29
29
|
For the canonical executable definition, load:
|
|
30
|
-
dev-autopilot/standards/orchestration/agent-dispatch.ai.yaml
|
|
31
30
|
|
|
32
31
|
The human-readable standard remains at:
|
|
33
32
|
universal-dev-standards/core/agent-dispatch.md
|
|
@@ -36,7 +35,7 @@ standard:
|
|
|
36
35
|
- id: AD-003
|
|
37
36
|
trigger: "所有並行代理完成"
|
|
38
37
|
instruction: >
|
|
39
|
-
DEPRECATED —
|
|
38
|
+
DEPRECATED — see universal-dev-standards/core/ for human-readable concept; runtime is adoption-layer responsibility
|
|
40
39
|
for the current executable dispatch protocol.
|
|
41
40
|
|
|
42
41
|
Minimal fallback: Run full test suite after all parallel agents complete.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Branch Completion Workflow - DEPRECATED STUB
|
|
2
|
-
#
|
|
3
|
-
#
|
|
2
|
+
# Runtime details relocated to adoption layer (runtime moved to adoption layer 2026-04-28).
|
|
3
|
+
# Adoption layer must implement an equivalent runtime; UDS retains only the human-readable concept under core/.
|
|
4
4
|
# Migration: XSPEC-086 Phase 2 (2026-04-27)
|
|
5
5
|
#
|
|
6
6
|
# Human-readable standard: core/branch-completion.md (remains in UDS)
|
|
@@ -14,31 +14,29 @@ standard:
|
|
|
14
14
|
deprecated: true
|
|
15
15
|
deprecated_since: "5.4.0"
|
|
16
16
|
removal_version: "6.0.0"
|
|
17
|
-
canonical_owner:
|
|
18
|
-
canonical_path: "
|
|
17
|
+
canonical_owner: adoption-layer
|
|
18
|
+
canonical_path: "" # adoption-layer responsibility
|
|
19
19
|
source: core/branch-completion.md
|
|
20
20
|
description: >
|
|
21
|
-
DEPRECATED:
|
|
22
|
-
|
|
21
|
+
DEPRECATED: Runtime details relocated to adoption layer (runtime moved to adoption layer 2026-04-28).
|
|
22
|
+
Adoption layer must implement an equivalent runtime.
|
|
23
23
|
|
|
24
24
|
rules:
|
|
25
25
|
- id: deprecation-notice
|
|
26
26
|
trigger: any branch completion operation
|
|
27
27
|
instruction: >
|
|
28
|
-
|
|
28
|
+
Runtime details for this standard are now adoption-layer responsibility (runtime moved to adoption layer 2026-04-28).
|
|
29
29
|
For the canonical executable definition, load:
|
|
30
|
-
dev-autopilot/standards/flow/branch-completion.ai.yaml
|
|
31
30
|
|
|
32
31
|
The human-readable standard remains at:
|
|
33
32
|
universal-dev-standards/core/branch-completion.md
|
|
34
33
|
|
|
35
|
-
To install DevAP: npm install -g @devap/cli
|
|
36
34
|
priority: required
|
|
37
35
|
|
|
38
36
|
- id: BC-003
|
|
39
37
|
trigger: "前置條件未滿足"
|
|
40
38
|
instruction: >
|
|
41
|
-
DEPRECATED —
|
|
39
|
+
DEPRECATED — see universal-dev-standards/core/ for human-readable concept; runtime is adoption-layer responsibility
|
|
42
40
|
for the current executable branch completion flow.
|
|
43
41
|
|
|
44
42
|
Minimal fallback: Block branch completion when prerequisites (tests, lint,
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Browser Compatibility Standards - AI Optimized
|
|
2
|
+
# Source: core/browser-compatibility-standards.md
|
|
3
|
+
|
|
4
|
+
id: browser-compatibility-standards
|
|
5
|
+
meta:
|
|
6
|
+
version: "1.0.0"
|
|
7
|
+
updated: "2026-05-05"
|
|
8
|
+
source: core/browser-compatibility-standards.md
|
|
9
|
+
description: Browser/device support matrix, Playwright automation, and release gate for frontend projects; N/A for CLI/backend
|
|
10
|
+
|
|
11
|
+
requirements:
|
|
12
|
+
REQ-1:
|
|
13
|
+
id: REQ-BC-001
|
|
14
|
+
title: Explicit Support Matrix
|
|
15
|
+
rule: >
|
|
16
|
+
Frontend projects MUST declare an explicit browser support matrix in
|
|
17
|
+
.browserslistrc and in Playwright project config. At minimum define Tier-1
|
|
18
|
+
(full support, release blocking) and Tier-2 (partial, WARN) browsers.
|
|
19
|
+
Tier-1 default: Chrome/Firefox/Safari/Edge latest + latest-1; iOS Safari
|
|
20
|
+
latest + latest-1; Android Chrome latest.
|
|
21
|
+
rationale: >
|
|
22
|
+
Implicit "supports all browsers" is untestable; an explicit matrix defines
|
|
23
|
+
scope for both engineering and QA.
|
|
24
|
+
|
|
25
|
+
REQ-2:
|
|
26
|
+
id: REQ-BC-002
|
|
27
|
+
title: Viewport Coverage
|
|
28
|
+
rule: >
|
|
29
|
+
Automated tests MUST cover at minimum three viewport widths: 360px (mobile),
|
|
30
|
+
768px (tablet), 1280px (desktop). No critical flow must be broken at any
|
|
31
|
+
Tier-1 browser × viewport combination.
|
|
32
|
+
rationale: >
|
|
33
|
+
Missing mobile viewport tests produce broken UX for the majority of
|
|
34
|
+
mobile users who represent 50%+ of web traffic globally.
|
|
35
|
+
|
|
36
|
+
REQ-3:
|
|
37
|
+
id: REQ-BC-003
|
|
38
|
+
title: Real iOS Device Testing
|
|
39
|
+
rule: >
|
|
40
|
+
For release candidates, Safari must be tested on real iOS devices (not
|
|
41
|
+
simulators only). WebKit on iOS Simulator diverges from real device WebKit
|
|
42
|
+
in rendering and API behaviour.
|
|
43
|
+
rationale: >
|
|
44
|
+
Simulator-only iOS testing misses a significant class of WebKit rendering
|
|
45
|
+
bugs that only manifest on real hardware.
|
|
46
|
+
|
|
47
|
+
REQ-4:
|
|
48
|
+
id: REQ-BC-004
|
|
49
|
+
title: Release Gate
|
|
50
|
+
rule: >
|
|
51
|
+
Tier-1 browser matrix pass rate MUST be 100% (no test failure = release block).
|
|
52
|
+
Tier-2 must be ≥ 95% (WARN if below). This is Dimension 9 (Tier-3) in
|
|
53
|
+
release-readiness-gate.md. Mark N/A for CLI, backend API, and mobile native projects.
|
|
54
|
+
rationale: >
|
|
55
|
+
100% Tier-1 requirement is appropriate because unsupported behavior in
|
|
56
|
+
a declared Tier-1 browser is a support commitment violation.
|
|
57
|
+
|
|
58
|
+
quick_reference:
|
|
59
|
+
tier1_default: "Chrome, Firefox, Safari, Edge (latest + latest-1); iOS Safari; Android Chrome latest"
|
|
60
|
+
viewport_minimum: "360px, 768px, 1280px"
|
|
61
|
+
automation: "Playwright matrix config; BrowserStack/Sauce/LambdaTest for cross-OS"
|
|
62
|
+
na_when: "CLI-only, backend API, mobile native (non-web)"
|
|
63
|
+
release_readiness_dimension: "Dim 9, Tier-3"
|
|
@@ -100,10 +100,10 @@ standard:
|
|
|
100
100
|
consequence: "記錄 CAPABILITY_MISMATCH 事件,降級至 FAIL_CLOSED_DEFAULTS"
|
|
101
101
|
|
|
102
102
|
applicable_components:
|
|
103
|
-
- "
|
|
104
|
-
- "
|
|
105
|
-
- "
|
|
106
|
-
- "
|
|
103
|
+
- "AgentAdapter implementations (e.g., ClaudeAdapter / OpenCodeAdapter / CliAdapter at the adoption layer)"
|
|
104
|
+
- "Tool 呼叫系統(採用層 runtime)"
|
|
105
|
+
- "ToolExecutor 實作(採用層)"
|
|
106
|
+
- "Agent(採用層;planner / builder / evaluator 等角色)"
|
|
107
107
|
- "所有 MCP 工具插件"
|
|
108
108
|
|
|
109
109
|
error_codes:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Change Batching Standards - DEPRECATED STUB
|
|
2
|
-
#
|
|
3
|
-
#
|
|
2
|
+
# Runtime details relocated to adoption layer (runtime moved to adoption layer 2026-04-28).
|
|
3
|
+
# Adoption layer must implement an equivalent runtime; UDS retains only the human-readable concept under core/.
|
|
4
4
|
# Migration: XSPEC-086 Phase 2 (2026-04-27)
|
|
5
5
|
#
|
|
6
6
|
# Human-readable standard: core/change-batching-standards.md (remains in UDS)
|
|
@@ -14,31 +14,29 @@ standard:
|
|
|
14
14
|
deprecated: true
|
|
15
15
|
deprecated_since: "5.4.0"
|
|
16
16
|
removal_version: "6.0.0"
|
|
17
|
-
canonical_owner:
|
|
18
|
-
canonical_path: "
|
|
17
|
+
canonical_owner: adoption-layer
|
|
18
|
+
canonical_path: "" # adoption-layer responsibility
|
|
19
19
|
source: core/change-batching-standards.md
|
|
20
20
|
description: >
|
|
21
|
-
DEPRECATED:
|
|
22
|
-
|
|
21
|
+
DEPRECATED: Runtime details relocated to adoption layer (runtime moved to adoption layer 2026-04-28).
|
|
22
|
+
Adoption layer must implement an equivalent runtime.
|
|
23
23
|
|
|
24
24
|
rules:
|
|
25
25
|
- id: deprecation-notice
|
|
26
26
|
trigger: any batch change operation
|
|
27
27
|
instruction: >
|
|
28
|
-
|
|
28
|
+
Runtime details for this standard are now adoption-layer responsibility (runtime moved to adoption layer 2026-04-28).
|
|
29
29
|
For the canonical executable definition, load:
|
|
30
|
-
dev-autopilot/standards/flow/change-batching-standards.ai.yaml
|
|
31
30
|
|
|
32
31
|
The human-readable standard remains at:
|
|
33
32
|
universal-dev-standards/core/change-batching-standards.md
|
|
34
33
|
|
|
35
|
-
To install DevAP: npm install -g @devap/cli
|
|
36
34
|
priority: required
|
|
37
35
|
|
|
38
36
|
- id: atomic-commits
|
|
39
37
|
trigger: merging a batch
|
|
40
38
|
instruction: >
|
|
41
|
-
DEPRECATED —
|
|
39
|
+
DEPRECATED — see universal-dev-standards/core/ for human-readable concept; runtime is adoption-layer responsibility
|
|
42
40
|
for the current executable batch orchestration rules.
|
|
43
41
|
|
|
44
42
|
Minimal fallback: Enforce all-or-nothing batch merging — either all changes
|
|
@@ -20,7 +20,7 @@ standard:
|
|
|
20
20
|
- "任何重試機制必須使用斷路器包裝,不得直接無限重試"
|
|
21
21
|
- "斷路器狀態必須透過遙測可觀測(circuit_breaker_state_change 事件)"
|
|
22
22
|
- "OPEN 狀態下的請求必須立即失敗(fail fast),不等待 timeout"
|
|
23
|
-
- "failureThreshold 預設值為 3,與 claude-code-book
|
|
23
|
+
- "failureThreshold 預設值為 3,與 claude-code-book 及常見 Fix Loop 實作慣例一致"
|
|
24
24
|
- "斷路器必須按照「功能單元」建立,不得全域共享單一斷路器"
|
|
25
25
|
|
|
26
26
|
states:
|
|
@@ -80,12 +80,12 @@ standard:
|
|
|
80
80
|
when: "每次狀態轉換時上傳"
|
|
81
81
|
|
|
82
82
|
applicable_scenarios:
|
|
83
|
-
- "
|
|
84
|
-
- "
|
|
85
|
-
- "
|
|
86
|
-
- "
|
|
87
|
-
- "
|
|
88
|
-
- "
|
|
83
|
+
- "Fix Loop Agent 呼叫重試(採用層)"
|
|
84
|
+
- "Judge / Quality Gate 重試(採用層)"
|
|
85
|
+
- "LLM API 呼叫(不穩定保護)"
|
|
86
|
+
- "Feedback Loop 重試(採用層)"
|
|
87
|
+
- "FLARE 主動檢索重試(採用層)"
|
|
88
|
+
- "AutoCompact 風格的對話壓縮重試(claude-code-book 為原始靈感來源)"
|
|
89
89
|
|
|
90
90
|
error_codes:
|
|
91
91
|
CB-001: "CIRCUIT_OPEN — 斷路器開路,請求被拒絕"
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Contract Testing Standards - AI Optimized
|
|
2
|
+
# Source: core/contract-testing-standards.md
|
|
3
|
+
|
|
4
|
+
id: contract-testing-standards
|
|
5
|
+
meta:
|
|
6
|
+
version: "1.0.0"
|
|
7
|
+
updated: "2026-05-05"
|
|
8
|
+
source: core/contract-testing-standards.md
|
|
9
|
+
description: Consumer-driven contract testing standard with release gate integration; applies to projects with API consumers
|
|
10
|
+
|
|
11
|
+
requirements:
|
|
12
|
+
REQ-1:
|
|
13
|
+
id: REQ-CT-001
|
|
14
|
+
title: Consumer-Driven Flow
|
|
15
|
+
rule: >
|
|
16
|
+
For projects with API consumers, contracts MUST be published by consumers
|
|
17
|
+
to a Pact Broker (or equivalent). Providers MUST verify all active consumer
|
|
18
|
+
contracts in CI. The `can-i-deploy` command MUST return exit 0 before
|
|
19
|
+
any provider deployment.
|
|
20
|
+
rationale: >
|
|
21
|
+
Provider-only contract tests miss the most common class of contract bug:
|
|
22
|
+
the provider ships a change it considers non-breaking, but consumers assumed
|
|
23
|
+
different response structure.
|
|
24
|
+
|
|
25
|
+
REQ-2:
|
|
26
|
+
id: REQ-CT-002
|
|
27
|
+
title: Schema Matchers Not Literals
|
|
28
|
+
rule: >
|
|
29
|
+
Consumer contracts MUST use schema matchers (like(), eachLike(), integer(),
|
|
30
|
+
string(), email()) rather than exact literal values. Only assert fields
|
|
31
|
+
the consumer actually uses.
|
|
32
|
+
rationale: >
|
|
33
|
+
Literal value matching causes brittle contracts that break on realistic data
|
|
34
|
+
variation without indicating any real compatibility issue.
|
|
35
|
+
|
|
36
|
+
REQ-3:
|
|
37
|
+
id: REQ-CT-003
|
|
38
|
+
title: Backward Compatibility Window
|
|
39
|
+
rule: >
|
|
40
|
+
Minor releases MUST maintain N-1 consumer contract compatibility.
|
|
41
|
+
Major releases require a deprecation period: notify consumers, keep old
|
|
42
|
+
contract active until all consumers migrate, then archive.
|
|
43
|
+
rationale: >
|
|
44
|
+
Consumers cannot always upgrade in lockstep; the N-1 window allows them
|
|
45
|
+
one release cycle to migrate without service disruption.
|
|
46
|
+
|
|
47
|
+
REQ-4:
|
|
48
|
+
id: REQ-CT-004
|
|
49
|
+
title: Release Gate
|
|
50
|
+
rule: >
|
|
51
|
+
All active consumer contracts MUST be green before deploying a provider
|
|
52
|
+
to production. This is Dimension 4 (Tier-3) in release-readiness-gate.md.
|
|
53
|
+
Mark N/A when the project has no API consumers.
|
|
54
|
+
rationale: >
|
|
55
|
+
A red consumer contract means a deployed provider will break that consumer
|
|
56
|
+
in production — this is a hard release blocker, not a warning.
|
|
57
|
+
|
|
58
|
+
quick_reference:
|
|
59
|
+
applies_when: "project has API consumers (service-to-service, frontend-to-backend, public API)"
|
|
60
|
+
gate: "can-i-deploy exit 0 before provider deploy; N-1 compat required"
|
|
61
|
+
broker_tag_convention: "main, production, <feature-branch>"
|
|
62
|
+
release_readiness_dimension: "Dim 4, Tier-3"
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Cross-Flow Regression Standards - AI Optimized
|
|
2
|
+
# Source: core/cross-flow-regression.md
|
|
3
|
+
|
|
4
|
+
id: cross-flow-regression
|
|
5
|
+
meta:
|
|
6
|
+
version: "1.0.0"
|
|
7
|
+
updated: "2026-05-05"
|
|
8
|
+
source: core/cross-flow-regression.md
|
|
9
|
+
description: Cross-flow regression testing complementing per-flow Multi-Gate; verifies inter-flow state correctness and CUJ pass rates
|
|
10
|
+
|
|
11
|
+
requirements:
|
|
12
|
+
REQ-1:
|
|
13
|
+
id: REQ-CFR-001
|
|
14
|
+
title: CUJ Suite Required per Release
|
|
15
|
+
rule: >
|
|
16
|
+
Every release candidate MUST run the full Critical User Journey (CUJ) regression
|
|
17
|
+
suite. CUJs are end-to-end sequences spanning ≥ 2 flows that share state or are
|
|
18
|
+
commonly executed sequentially. CUJ pass rate MUST be ≥ 95%.
|
|
19
|
+
rationale: >
|
|
20
|
+
Per-flow Multi-Gate testing proves intra-flow correctness; cross-flow tests catch
|
|
21
|
+
state contamination bugs that only manifest when flow outputs become the next
|
|
22
|
+
flow's inputs.
|
|
23
|
+
|
|
24
|
+
REQ-2:
|
|
25
|
+
id: REQ-CFR-002
|
|
26
|
+
title: Retrigger on Flow Spec Change
|
|
27
|
+
rule: >
|
|
28
|
+
When any flow's §2.4 Decision Points or Terminal States are modified, the full
|
|
29
|
+
CUJ regression suite MUST re-run as a pre-merge check — not just tests for the
|
|
30
|
+
changed flow. This prevents silent regressions in downstream flows.
|
|
31
|
+
rationale: >
|
|
32
|
+
A change to one flow's terminal states can produce different intermediate state
|
|
33
|
+
that breaks a previously passing downstream flow.
|
|
34
|
+
|
|
35
|
+
REQ-3:
|
|
36
|
+
id: REQ-CFR-003
|
|
37
|
+
title: Sequential State Threading
|
|
38
|
+
rule: >
|
|
39
|
+
CUJ tests MUST use sequential state threading: a shared `ctx` object accumulates
|
|
40
|
+
state across flows within a single test describe block. State MUST NOT be reset
|
|
41
|
+
between steps of the same CUJ. Each CUJ MUST have its own isolated ctx.
|
|
42
|
+
rationale: >
|
|
43
|
+
Resetting state between steps masks cross-flow contamination; independent ctx
|
|
44
|
+
per CUJ prevents CUJ-to-CUJ interference from masking bugs.
|
|
45
|
+
|
|
46
|
+
REQ-4:
|
|
47
|
+
id: REQ-CFR-004
|
|
48
|
+
title: Release Gate
|
|
49
|
+
rule: >
|
|
50
|
+
CUJ pass rate ≥ 95% = PASS. 90–95% = WARN (document specific failed CUJs).
|
|
51
|
+
< 90% or any business-critical flow combo failure = FAIL (release blocked).
|
|
52
|
+
This is Dimension 6 (Tier-2) in release-readiness-gate.md.
|
|
53
|
+
rationale: >
|
|
54
|
+
90% threshold accounts for environment-specific flakiness while ensuring
|
|
55
|
+
the vast majority of user journeys are verified end-to-end.
|
|
56
|
+
|
|
57
|
+
quick_reference:
|
|
58
|
+
boundary_with_flow_based_testing: "flow-based-testing = intra-flow; cross-flow-regression = inter-flow"
|
|
59
|
+
cuj_trigger: "every release candidate + any flow §2.4 change"
|
|
60
|
+
pass_rate_target: "≥ 95% overall; 100% for business-critical combos"
|
|
61
|
+
release_readiness_dimension: "Dim 6, Tier-2"
|
|
@@ -20,7 +20,7 @@ requirements:
|
|
|
20
20
|
(Recovery Point Objective) targets. These must be agreed with stakeholders
|
|
21
21
|
before any DR drill can be considered meaningful.
|
|
22
22
|
examples:
|
|
23
|
-
- "
|
|
23
|
+
- "Commercial-grade SaaS example: RTO < 1 hour, RPO < 24 hours (daily backup)"
|
|
24
24
|
|
|
25
25
|
- id: REQ-02
|
|
26
26
|
title: Backup Restore Test
|
|
@@ -97,9 +97,9 @@ standard:
|
|
|
97
97
|
note: "Savings accumulate in repeated review scenarios (Fix Loop, Feedback Loop)"
|
|
98
98
|
|
|
99
99
|
applicable_agents:
|
|
100
|
-
-
|
|
101
|
-
-
|
|
102
|
-
-
|
|
100
|
+
- Judge Agent (adoption layer)
|
|
101
|
+
- Evaluator Agent (adoption layer)
|
|
102
|
+
- Guardian Agent (adoption layer)
|
|
103
103
|
- Any LLM-driven AutoCompact / summarization component
|
|
104
104
|
|
|
105
105
|
error_codes:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Execution History Repository Standards - DEPRECATED STUB
|
|
2
|
-
#
|
|
3
|
-
#
|
|
2
|
+
# Runtime details relocated to adoption layer (runtime moved to adoption layer 2026-04-28).
|
|
3
|
+
# Adoption layer must implement an equivalent runtime; UDS retains only the human-readable concept under core/.
|
|
4
4
|
# Migration: XSPEC-086 Phase 2 (2026-04-27)
|
|
5
5
|
#
|
|
6
6
|
# Source spec: cross-project/specs/XSPEC-003-execution-history-standard-sdd.md
|
|
@@ -14,29 +14,27 @@ standard:
|
|
|
14
14
|
deprecated: true
|
|
15
15
|
deprecated_since: "5.4.0"
|
|
16
16
|
removal_version: "6.0.0"
|
|
17
|
-
canonical_owner:
|
|
18
|
-
canonical_path: "
|
|
17
|
+
canonical_owner: adoption-layer
|
|
18
|
+
canonical_path: "" # adoption-layer responsibility
|
|
19
19
|
source: cross-project/specs/XSPEC-003-execution-history-standard-sdd.md
|
|
20
20
|
description: >
|
|
21
|
-
DEPRECATED:
|
|
22
|
-
|
|
21
|
+
DEPRECATED: Runtime details relocated to adoption layer (runtime moved to adoption layer 2026-04-28).
|
|
22
|
+
Adoption layer must implement an equivalent runtime.
|
|
23
23
|
|
|
24
24
|
rules:
|
|
25
25
|
- id: deprecation-notice
|
|
26
26
|
trigger: any execution history operation
|
|
27
27
|
instruction: >
|
|
28
|
-
|
|
28
|
+
Runtime details for this standard are now adoption-layer responsibility (runtime moved to adoption layer 2026-04-28).
|
|
29
29
|
For the canonical executable definition, load:
|
|
30
|
-
dev-autopilot/standards/orchestration/execution-history.ai.yaml
|
|
31
30
|
|
|
32
|
-
Note: DevAP's packages/core already implements execution history (ExecutionHistoryStorage).
|
|
33
31
|
The YAML standard is now co-located with the implementation.
|
|
34
32
|
priority: required
|
|
35
33
|
|
|
36
34
|
- id: record-on-completion
|
|
37
35
|
trigger: "Agent 任務執行完畢"
|
|
38
36
|
instruction: >
|
|
39
|
-
DEPRECATED —
|
|
37
|
+
DEPRECATED — see universal-dev-standards/core/ for human-readable concept; runtime is adoption-layer responsibility
|
|
40
38
|
for the current executable history protocol.
|
|
41
39
|
|
|
42
40
|
Minimal fallback: Write required artifacts to .execution-history/{task-id}/{run-number}/
|
|
@@ -22,7 +22,7 @@ standard:
|
|
|
22
22
|
- "failureSource 為 optional 欄位,不得破壞現有不含此欄位的程式碼"
|
|
23
23
|
- "在同一失敗事件中,選擇最根本的來源作為 failureSource(例如 branch_divergence 比 compilation 更根本)"
|
|
24
24
|
- "failureSource 應由偵測到失敗的元件設定(QualityGate / Adapter / SafetyHook / BranchDriftChecker)"
|
|
25
|
-
- "
|
|
25
|
+
- "各採用層各自獨立定義 FailureSource type,語義保持一致(避免跨層耦合)"
|
|
26
26
|
|
|
27
27
|
failure_sources:
|
|
28
28
|
prompt_delivery:
|
|
@@ -103,13 +103,11 @@ standard:
|
|
|
103
103
|
- "resource_exhaustion > 其他(資源耗盡時無意義重試)"
|
|
104
104
|
- "其他情況取最先偵測到的來源"
|
|
105
105
|
|
|
106
|
+
# Integration guidance (informative only; concrete file paths are
|
|
107
|
+
# adoption-layer concerns and intentionally omitted from the standard).
|
|
106
108
|
integration_points:
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
vibeops:
|
|
113
|
-
files:
|
|
114
|
-
- "src/types/index.ts — IterationRecord.failureSource(獨立定義,AGPL 隔離)"
|
|
115
|
-
- "src/runner/pipeline-runner.ts — agent:error 事件 payload"
|
|
109
|
+
expected_call_sites:
|
|
110
|
+
- "core types module — TaskResult.failureSource / FailureSource type"
|
|
111
|
+
- "quality-gate module — QualityGateResult.failureSource 推斷"
|
|
112
|
+
- "agent adapter — resource_exhaustion / network_error 映射"
|
|
113
|
+
- "pipeline runner — agent:error / agent:retry 事件 payload"
|