universal-dev-standards 5.3.2 → 5.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/bundled/ai/standards/adversarial-test.ai.yaml +277 -0
- 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/audit-trail.ai.yaml +113 -0
- 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/chaos-injection-tests.ai.yaml +91 -0
- package/bundled/ai/standards/container-image-standards.ai.yaml +88 -0
- package/bundled/ai/standards/container-security.ai.yaml +331 -0
- package/bundled/ai/standards/cost-budget-test.ai.yaml +96 -0
- package/bundled/ai/standards/data-contract.ai.yaml +110 -0
- package/bundled/ai/standards/data-migration-testing.ai.yaml +96 -0
- package/bundled/ai/standards/data-pipeline.ai.yaml +113 -0
- package/bundled/ai/standards/disaster-recovery-drill.ai.yaml +89 -0
- package/bundled/ai/standards/execution-history.ai.yaml +30 -288
- package/bundled/ai/standards/flaky-test-management.ai.yaml +89 -0
- package/bundled/ai/standards/flow-based-testing.ai.yaml +240 -0
- package/bundled/ai/standards/iac-design-principles.ai.yaml +83 -0
- package/bundled/ai/standards/incident-response.ai.yaml +107 -0
- package/bundled/ai/standards/license-compliance.ai.yaml +106 -0
- package/bundled/ai/standards/llm-output-validation.ai.yaml +269 -0
- package/bundled/ai/standards/mock-boundary.ai.yaml +250 -0
- package/bundled/ai/standards/mutation-testing.ai.yaml +192 -0
- package/bundled/ai/standards/pii-classification.ai.yaml +109 -0
- package/bundled/ai/standards/pipeline-integration-standards.ai.yaml +28 -169
- package/bundled/ai/standards/policy-as-code-testing.ai.yaml +227 -0
- package/bundled/ai/standards/prd-standards.ai.yaml +88 -0
- package/bundled/ai/standards/product-metrics-standards.ai.yaml +111 -0
- package/bundled/ai/standards/prompt-regression.ai.yaml +94 -0
- package/bundled/ai/standards/property-based-testing.ai.yaml +105 -0
- package/bundled/ai/standards/release-quality-manifest.ai.yaml +135 -0
- package/bundled/ai/standards/replay-test.ai.yaml +111 -0
- package/bundled/ai/standards/runbook.ai.yaml +104 -0
- package/bundled/ai/standards/sast-advanced.ai.yaml +135 -0
- package/bundled/ai/standards/schema-evolution.ai.yaml +111 -0
- package/bundled/ai/standards/secret-management-standards.ai.yaml +105 -0
- package/bundled/ai/standards/secure-op.ai.yaml +365 -0
- package/bundled/ai/standards/security-testing.ai.yaml +171 -0
- package/bundled/ai/standards/server-ops-security.ai.yaml +274 -0
- package/bundled/ai/standards/slo-sli.ai.yaml +97 -0
- package/bundled/ai/standards/smoke-test.ai.yaml +87 -0
- package/bundled/ai/standards/supply-chain-attestation.ai.yaml +109 -0
- package/bundled/ai/standards/test-completeness-dimensions.ai.yaml +52 -5
- package/bundled/ai/standards/user-story-mapping.ai.yaml +108 -0
- package/bundled/ai/standards/workflow-enforcement.ai.yaml +34 -240
- package/bundled/ai/standards/workflow-state-protocol.ai.yaml +31 -107
- package/bundled/core/adversarial-test.md +212 -0
- package/bundled/core/chaos-injection-tests.md +116 -0
- package/bundled/core/container-security.md +521 -0
- package/bundled/core/cost-budget-test.md +69 -0
- package/bundled/core/data-migration-testing.md +110 -0
- package/bundled/core/disaster-recovery-drill.md +73 -0
- package/bundled/core/flaky-test-management.md +73 -0
- package/bundled/core/flow-based-testing.md +142 -0
- package/bundled/core/llm-output-validation.md +178 -0
- package/bundled/core/mock-boundary.md +100 -0
- package/bundled/core/mutation-testing.md +97 -0
- package/bundled/core/policy-as-code-testing.md +188 -0
- package/bundled/core/prompt-regression.md +72 -0
- package/bundled/core/property-based-testing.md +73 -0
- package/bundled/core/release-quality-manifest.md +147 -0
- package/bundled/core/replay-test.md +86 -0
- package/bundled/core/sast-advanced.md +300 -0
- package/bundled/core/secure-op.md +314 -0
- package/bundled/core/security-testing.md +87 -0
- package/bundled/core/server-ops-security.md +493 -0
- package/bundled/core/smoke-test.md +65 -0
- package/bundled/core/supply-chain-attestation.md +117 -0
- package/bundled/locales/zh-CN/CHANGELOG.md +3 -3
- package/bundled/locales/zh-CN/README.md +1 -1
- package/bundled/locales/zh-CN/skills/ai-instruction-standards/SKILL.md +5 -5
- package/bundled/locales/zh-TW/CHANGELOG.md +3 -3
- package/bundled/locales/zh-TW/README.md +1 -1
- package/bundled/locales/zh-TW/skills/ai-instruction-standards/SKILL.md +183 -79
- package/bundled/skills/README.md +4 -3
- package/bundled/skills/SKILL_NAMING.md +94 -0
- package/bundled/skills/ai-instruction-standards/SKILL.md +181 -88
- package/bundled/skills/atdd-assistant/SKILL.md +8 -0
- package/bundled/skills/bdd-assistant/SKILL.md +7 -0
- package/bundled/skills/checkin-assistant/SKILL.md +8 -0
- package/bundled/skills/code-review-assistant/SKILL.md +7 -0
- package/bundled/skills/journey-test-assistant/SKILL.md +203 -0
- package/bundled/skills/orchestrate/SKILL.md +167 -0
- package/bundled/skills/plan/SKILL.md +234 -0
- package/bundled/skills/pr-automation-assistant/SKILL.md +8 -0
- package/bundled/skills/push/SKILL.md +49 -2
- package/bundled/skills/{process-automation → skill-builder}/SKILL.md +1 -1
- package/bundled/skills/{forward-derivation → spec-derivation}/SKILL.md +1 -1
- package/bundled/skills/spec-driven-dev/SKILL.md +7 -0
- package/bundled/skills/sweep/SKILL.md +145 -0
- package/bundled/skills/tdd-assistant/SKILL.md +7 -0
- package/package.json +1 -1
- package/src/commands/flow.js +8 -0
- package/src/commands/start.js +14 -0
- package/src/commands/sweep.js +8 -0
- package/src/commands/workflow.js +8 -0
- package/standards-registry.json +474 -12
- package/bundled/locales/zh-CN/skills/ac-coverage-assistant/SKILL.md +0 -190
- package/bundled/locales/zh-CN/skills/forward-derivation/SKILL.md +0 -71
- package/bundled/locales/zh-CN/skills/forward-derivation/guide.md +0 -130
- package/bundled/locales/zh-CN/skills/methodology-system/SKILL.md +0 -88
- package/bundled/locales/zh-CN/skills/methodology-system/create-methodology.md +0 -350
- package/bundled/locales/zh-CN/skills/methodology-system/guide.md +0 -131
- package/bundled/locales/zh-CN/skills/methodology-system/runtime.md +0 -279
- package/bundled/locales/zh-CN/skills/process-automation/SKILL.md +0 -143
- package/bundled/locales/zh-TW/skills/ac-coverage-assistant/SKILL.md +0 -195
- package/bundled/locales/zh-TW/skills/deploy-assistant/SKILL.md +0 -178
- package/bundled/locales/zh-TW/skills/forward-derivation/SKILL.md +0 -69
- package/bundled/locales/zh-TW/skills/forward-derivation/guide.md +0 -415
- package/bundled/locales/zh-TW/skills/methodology-system/SKILL.md +0 -86
- package/bundled/locales/zh-TW/skills/methodology-system/create-methodology.md +0 -350
- package/bundled/locales/zh-TW/skills/methodology-system/guide.md +0 -131
- package/bundled/locales/zh-TW/skills/methodology-system/runtime.md +0 -279
- package/bundled/locales/zh-TW/skills/process-automation/SKILL.md +0 -144
- /package/bundled/skills/{ac-coverage-assistant → ac-coverage}/SKILL.md +0 -0
- /package/bundled/skills/{methodology-system → dev-methodology}/SKILL.md +0 -0
- /package/bundled/skills/{methodology-system → dev-methodology}/create-methodology.md +0 -0
- /package/bundled/skills/{methodology-system → dev-methodology}/guide.md +0 -0
- /package/bundled/skills/{methodology-system → dev-methodology}/integrated-flow.md +0 -0
- /package/bundled/skills/{methodology-system → dev-methodology}/prerequisite-check.md +0 -0
- /package/bundled/skills/{methodology-system → dev-methodology}/runtime.md +0 -0
- /package/bundled/skills/{forward-derivation → spec-derivation}/guide.md +0 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# User Story Mapping - AI Optimized
|
|
2
|
+
# Source: XSPEC-069 Wave 4 Product Layer Pack
|
|
3
|
+
|
|
4
|
+
id: user-story-mapping
|
|
5
|
+
title: User Story Mapping Standards
|
|
6
|
+
version: "1.0.0"
|
|
7
|
+
status: Active
|
|
8
|
+
tags: [product, user-story, story-map, mvp, agile, backlog]
|
|
9
|
+
summary: |
|
|
10
|
+
Defines how teams construct and use story maps to plan product releases.
|
|
11
|
+
Covers the three-layer story map structure (Backbone activities, Walking
|
|
12
|
+
Skeleton sub-tasks, Detail Stories), the MVP horizontal slice rule that
|
|
13
|
+
ensures all backbone activities are covered minimally before deepening
|
|
14
|
+
any single activity, INVEST compliance per story, and Given/When/Then
|
|
15
|
+
acceptance criteria linked to measurable product metrics. Designed to
|
|
16
|
+
prevent incomplete MVPs and ensure every story is testable and traceable.
|
|
17
|
+
|
|
18
|
+
requirements:
|
|
19
|
+
- id: REQ-001
|
|
20
|
+
title: Story Map Three Layers
|
|
21
|
+
description: |
|
|
22
|
+
Every story map MUST be structured in three horizontal layers:
|
|
23
|
+
(1) Backbone (top row) — user activities at the highest abstraction
|
|
24
|
+
level, representing the complete end-to-end user journey. Each backbone
|
|
25
|
+
item is a verb phrase from the user's perspective (e.g., "Find a product",
|
|
26
|
+
"Complete purchase", "Track order"). The backbone must represent the
|
|
27
|
+
full journey, not only implemented features.
|
|
28
|
+
(2) Walking Skeleton (middle row) — sub-tasks for each backbone activity,
|
|
29
|
+
representing the minimum steps required to make the backbone activity
|
|
30
|
+
functional. Organized vertically under each backbone item.
|
|
31
|
+
(3) Detail Stories (bottom rows) — specific user stories that implement
|
|
32
|
+
variations, enhancements, and edge cases for each walking skeleton step.
|
|
33
|
+
Prioritized vertically within each column (higher = higher priority).
|
|
34
|
+
level: MUST
|
|
35
|
+
examples:
|
|
36
|
+
- "Backbone: [Browse] → [Search] → [Add to Cart] → [Checkout] → [Track Order]"
|
|
37
|
+
- "Walking skeleton under [Checkout]: [Enter address] → [Select payment] → [Confirm order]"
|
|
38
|
+
- "Detail story under [Select payment]: 'As a buyer, I want to pay with saved card'"
|
|
39
|
+
- "Backbone covers full journey even if some activities are out of scope for v1"
|
|
40
|
+
|
|
41
|
+
- id: REQ-002
|
|
42
|
+
title: MVP Horizontal Slice Rule
|
|
43
|
+
description: |
|
|
44
|
+
The MVP release boundary MUST be defined as a horizontal slice across
|
|
45
|
+
the story map, covering all backbone activities at the walking skeleton
|
|
46
|
+
level. An MVP that covers only a subset of backbone activities (a
|
|
47
|
+
vertical slice that perfects one activity while others are absent or
|
|
48
|
+
non-functional) is PROHIBITED, as it creates a product experience that
|
|
49
|
+
cannot be evaluated end-to-end by users. Exception: single-activity
|
|
50
|
+
products (e.g., a focused utility app) are exempt if the product's
|
|
51
|
+
full value proposition is delivered by that one activity. Exceptions
|
|
52
|
+
MUST be documented with rationale in the story map.
|
|
53
|
+
level: MUST
|
|
54
|
+
examples:
|
|
55
|
+
- "Valid MVP: Browse(skeleton) + Search(skeleton) + Checkout(skeleton) — all activities covered"
|
|
56
|
+
- "Invalid MVP: Browse(full polish) + Search(full polish) — checkout absent, no end-to-end flow"
|
|
57
|
+
- "Exception documented: 'This MVP is a single-purpose QR code scanner; one activity is complete'"
|
|
58
|
+
- "Release planning: draw MVP line horizontally after walking skeleton row for all columns"
|
|
59
|
+
|
|
60
|
+
- id: REQ-003
|
|
61
|
+
title: Story INVEST Compliance
|
|
62
|
+
description: |
|
|
63
|
+
Every user story in the story map MUST comply with the INVEST criteria
|
|
64
|
+
as defined in requirement-engineering.ai.yaml: Independent (can be
|
|
65
|
+
developed and delivered without depending on unfinished stories),
|
|
66
|
+
Negotiable (details open for discussion; not a fixed contract),
|
|
67
|
+
Valuable (delivers value to user or business if shipped alone),
|
|
68
|
+
Estimable (team can size it; sufficient detail exists),
|
|
69
|
+
Small (fits within one sprint at most; split if larger),
|
|
70
|
+
Testable (acceptance criteria exist that can be objectively verified).
|
|
71
|
+
Stories that fail INVEST must be refined before entering a sprint.
|
|
72
|
+
INVEST assessment MUST be performed during backlog refinement sessions.
|
|
73
|
+
level: MUST
|
|
74
|
+
examples:
|
|
75
|
+
- "Story fails Independent: 'As a user I want to checkout' depends on 15 unfinished stories → split"
|
|
76
|
+
- "Story fails Small: estimated 13 story points → split into 3 smaller stories"
|
|
77
|
+
- "Story fails Testable: 'improve the UI' → rewrite with Given/When/Then AC"
|
|
78
|
+
- "Backlog refinement checklist includes INVEST review for each new story"
|
|
79
|
+
|
|
80
|
+
- id: REQ-004
|
|
81
|
+
title: Acceptance Criteria Format
|
|
82
|
+
description: |
|
|
83
|
+
Every user story MUST have at least one acceptance criterion written in
|
|
84
|
+
Given/When/Then (GWT) format. Acceptance criteria MUST be tied to a
|
|
85
|
+
measurable product outcome from the product-metrics-standards hierarchy
|
|
86
|
+
where applicable. Stories with acceptance criteria that cannot be
|
|
87
|
+
objectively verified (e.g., "the page looks good") are non-compliant.
|
|
88
|
+
Acceptance criteria MUST be written before development begins and MUST
|
|
89
|
+
not be modified after development starts without PM and dev lead
|
|
90
|
+
sign-off (same revision policy as PRD changes).
|
|
91
|
+
level: MUST
|
|
92
|
+
examples:
|
|
93
|
+
- "Given I have items in my cart / When I click 'Checkout' / Then I see the address form"
|
|
94
|
+
- "Given I enter an invalid card / When I submit / Then I see error 'Invalid card number'"
|
|
95
|
+
- "Metric tie: 'This story contributes to checkout completion rate (North Star driver)'"
|
|
96
|
+
- "Non-compliant AC: 'The checkout button should be prominent' — not objectively verifiable"
|
|
97
|
+
|
|
98
|
+
anti_patterns:
|
|
99
|
+
- "Vertical MVP slicing: perfecting one user activity while other backbone activities are absent"
|
|
100
|
+
- "Stories without acceptance criteria entering development (no clear definition of done)"
|
|
101
|
+
- "Backbone activities not mapped to actual user goals (mapped to system components instead)"
|
|
102
|
+
- "Story map used only for planning and discarded; not kept as a living release planning tool"
|
|
103
|
+
- "Detail stories added directly without backbone and walking skeleton context"
|
|
104
|
+
|
|
105
|
+
related_standards:
|
|
106
|
+
- prd-standards
|
|
107
|
+
- requirement-engineering
|
|
108
|
+
- product-metrics-standards
|
|
@@ -1,253 +1,47 @@
|
|
|
1
|
-
# Workflow Enforcement Standards -
|
|
2
|
-
#
|
|
1
|
+
# Workflow Enforcement 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/workflow-enforcement.ai.yaml
|
|
4
|
+
# Migration: XSPEC-086 Phase 2 (2026-04-27)
|
|
5
|
+
#
|
|
6
|
+
# Human-readable standard: core/workflow-enforcement.md (remains in UDS)
|
|
7
|
+
# Deprecation schedule: UDS 5.4.0 deprecated → UDS 6.0.0 removed
|
|
3
8
|
|
|
4
9
|
id: workflow-enforcement
|
|
5
10
|
meta:
|
|
6
|
-
version: "1.0.
|
|
7
|
-
updated: "2026-
|
|
11
|
+
version: "1.0.1"
|
|
12
|
+
updated: "2026-04-27"
|
|
13
|
+
deprecated: true
|
|
14
|
+
deprecated_since: "5.4.0"
|
|
15
|
+
removal_version: "6.0.0"
|
|
16
|
+
canonical_owner: devap
|
|
17
|
+
canonical_path: "dev-autopilot/standards/flow/workflow-enforcement.ai.yaml"
|
|
8
18
|
source: core/workflow-enforcement.md
|
|
9
|
-
description:
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
enforce:
|
|
13
|
-
description: Block phase transition, show guidance to correct phase
|
|
14
|
-
behavior: AI refuses to proceed and explains which prerequisite is missing
|
|
15
|
-
default: true
|
|
16
|
-
|
|
17
|
-
suggest:
|
|
18
|
-
description: Show warning but allow override with user confirmation
|
|
19
|
-
behavior: AI warns about skipped prerequisites but proceeds if user insists
|
|
20
|
-
|
|
21
|
-
off:
|
|
22
|
-
description: No enforcement checks
|
|
23
|
-
behavior: AI follows workflow steps without gate checks
|
|
24
|
-
|
|
25
|
-
config_location: ".uds/config.yaml"
|
|
26
|
-
config_key: "workflow.enforcement_mode"
|
|
27
|
-
|
|
28
|
-
gates:
|
|
29
|
-
sdd:
|
|
30
|
-
description: Spec-Driven Development phase gates
|
|
31
|
-
phases:
|
|
32
|
-
- phase: discuss
|
|
33
|
-
prerequisites: []
|
|
34
|
-
note: Entry point, no prerequisites
|
|
35
|
-
|
|
36
|
-
- phase: create
|
|
37
|
-
prerequisites:
|
|
38
|
-
- check: orphan_specs
|
|
39
|
-
command: "ls docs/specs/SPEC-*.md 2>/dev/null"
|
|
40
|
-
condition: warn_if_non_terminal_specs_exist
|
|
41
|
-
on_fail: warn_and_offer_cleanup
|
|
42
|
-
blocking: false
|
|
43
|
-
|
|
44
|
-
- phase: review
|
|
45
|
-
prerequisites:
|
|
46
|
-
- check: spec_exists
|
|
47
|
-
command: "ls docs/specs/SPEC-*.md"
|
|
48
|
-
condition: at_least_one_spec_exists
|
|
49
|
-
on_fail: guide_to_create
|
|
50
|
-
blocking: true
|
|
51
|
-
- check: spec_status_draft
|
|
52
|
-
command: "grep -m1 '^status:' docs/specs/SPEC-XXX.md"
|
|
53
|
-
condition: status_is_draft
|
|
54
|
-
on_fail: guide_to_create
|
|
55
|
-
blocking: true
|
|
56
|
-
|
|
57
|
-
- phase: approve
|
|
58
|
-
prerequisites:
|
|
59
|
-
- check: spec_in_review
|
|
60
|
-
condition: status_is_review
|
|
61
|
-
on_fail: guide_to_review
|
|
62
|
-
blocking: true
|
|
63
|
-
- check: review_comments_addressed
|
|
64
|
-
condition: no_unresolved_comments
|
|
65
|
-
on_fail: guide_to_resolve_comments
|
|
66
|
-
blocking: true
|
|
67
|
-
|
|
68
|
-
- phase: implement
|
|
69
|
-
prerequisites:
|
|
70
|
-
- check: spec_exists
|
|
71
|
-
command: "ls docs/specs/SPEC-*.md"
|
|
72
|
-
condition: at_least_one_spec_exists
|
|
73
|
-
on_fail: guide_to_create
|
|
74
|
-
blocking: true
|
|
75
|
-
- check: spec_approved
|
|
76
|
-
condition: status_is_approved
|
|
77
|
-
on_fail: guide_to_approve
|
|
78
|
-
blocking: true
|
|
79
|
-
- check: workflow_state
|
|
80
|
-
command: "ls .workflow-state/sdd-*.yaml 2>/dev/null"
|
|
81
|
-
condition: check_for_resumable_state
|
|
82
|
-
on_fail: start_fresh
|
|
83
|
-
blocking: false
|
|
84
|
-
|
|
85
|
-
- phase: verify
|
|
86
|
-
prerequisites:
|
|
87
|
-
- check: implementation_exists
|
|
88
|
-
condition: spec_has_implementation_commits
|
|
89
|
-
on_fail: guide_to_implement
|
|
90
|
-
blocking: true
|
|
91
|
-
- check: ac_coverage
|
|
92
|
-
condition: all_ac_have_code_and_tests
|
|
93
|
-
on_fail: list_incomplete_acs
|
|
94
|
-
blocking: true
|
|
95
|
-
|
|
96
|
-
tdd:
|
|
97
|
-
description: Test-Driven Development phase gates
|
|
98
|
-
phases:
|
|
99
|
-
- phase: red
|
|
100
|
-
prerequisites:
|
|
101
|
-
- check: feature_defined
|
|
102
|
-
condition: user_has_described_behavior
|
|
103
|
-
on_fail: ask_for_behavior_description
|
|
104
|
-
blocking: true
|
|
105
|
-
- check: sdd_spec_if_applicable
|
|
106
|
-
condition: if_sdd_project_spec_exists_and_approved
|
|
107
|
-
on_fail: guide_to_sdd
|
|
108
|
-
blocking: false
|
|
109
|
-
|
|
110
|
-
- phase: green
|
|
111
|
-
prerequisites:
|
|
112
|
-
- check: failing_test_exists
|
|
113
|
-
command: "npm test 2>&1 | grep -E 'FAIL|failing'"
|
|
114
|
-
condition: at_least_one_test_failing
|
|
115
|
-
on_fail: guide_to_red_phase
|
|
116
|
-
blocking: true
|
|
117
|
-
|
|
118
|
-
- phase: refactor
|
|
119
|
-
prerequisites:
|
|
120
|
-
- check: all_tests_passing
|
|
121
|
-
command: "npm test"
|
|
122
|
-
condition: zero_test_failures
|
|
123
|
-
on_fail: guide_to_green_phase
|
|
124
|
-
blocking: true
|
|
125
|
-
|
|
126
|
-
bdd:
|
|
127
|
-
description: Behavior-Driven Development phase gates
|
|
128
|
-
phases:
|
|
129
|
-
- phase: discovery
|
|
130
|
-
prerequisites:
|
|
131
|
-
- check: behavior_identified
|
|
132
|
-
condition: user_has_identified_behavior
|
|
133
|
-
on_fail: ask_for_behavior
|
|
134
|
-
blocking: true
|
|
135
|
-
|
|
136
|
-
- phase: formulation
|
|
137
|
-
prerequisites:
|
|
138
|
-
- check: examples_collected
|
|
139
|
-
condition: discovery_produced_examples
|
|
140
|
-
on_fail: guide_to_discovery
|
|
141
|
-
blocking: true
|
|
142
|
-
|
|
143
|
-
- phase: automation
|
|
144
|
-
prerequisites:
|
|
145
|
-
- check: feature_file_exists
|
|
146
|
-
command: "ls tests/features/*.feature 2>/dev/null"
|
|
147
|
-
condition: at_least_one_feature_file
|
|
148
|
-
on_fail: guide_to_formulation
|
|
149
|
-
blocking: true
|
|
150
|
-
- check: gherkin_format
|
|
151
|
-
condition: scenarios_use_given_when_then
|
|
152
|
-
on_fail: fix_scenario_format
|
|
153
|
-
blocking: true
|
|
154
|
-
|
|
155
|
-
- phase: living_docs
|
|
156
|
-
prerequisites:
|
|
157
|
-
- check: steps_implemented
|
|
158
|
-
condition: step_definitions_exist
|
|
159
|
-
on_fail: guide_to_automation
|
|
160
|
-
blocking: true
|
|
161
|
-
- check: scenarios_passing
|
|
162
|
-
condition: all_scenarios_pass
|
|
163
|
-
on_fail: fix_failing_scenarios
|
|
164
|
-
blocking: true
|
|
165
|
-
|
|
166
|
-
commit:
|
|
167
|
-
description: Commit workflow gates
|
|
168
|
-
phases:
|
|
169
|
-
- phase: commit
|
|
170
|
-
prerequisites:
|
|
171
|
-
- check: staged_changes
|
|
172
|
-
command: "git diff --cached --stat"
|
|
173
|
-
condition: has_staged_changes
|
|
174
|
-
on_fail: guide_to_git_add
|
|
175
|
-
blocking: true
|
|
176
|
-
- check: no_merge_conflicts
|
|
177
|
-
condition: no_conflict_markers_in_staged
|
|
178
|
-
on_fail: resolve_conflicts
|
|
179
|
-
blocking: true
|
|
180
|
-
- check: tests_pass
|
|
181
|
-
condition: tests_passing_for_feat_fix
|
|
182
|
-
on_fail: fix_tests
|
|
183
|
-
blocking: true
|
|
184
|
-
- check: spec_reference
|
|
185
|
-
condition: feat_fix_should_reference_spec
|
|
186
|
-
on_fail: suggest_spec_reference
|
|
187
|
-
blocking: false
|
|
19
|
+
description: >
|
|
20
|
+
DEPRECATED: This standard has moved to DevAP (flow orchestration layer).
|
|
21
|
+
Install DevAP and load standards/flow/workflow-enforcement.ai.yaml instead.
|
|
188
22
|
|
|
189
23
|
rules:
|
|
190
|
-
- id:
|
|
191
|
-
trigger:
|
|
24
|
+
- id: deprecation-notice
|
|
25
|
+
trigger: any workflow enforcement check
|
|
192
26
|
instruction: >
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
guide the user to the correct prerequisite phase. Non-blocking
|
|
197
|
-
prerequisites generate warnings but allow proceeding.
|
|
198
|
-
priority: required
|
|
27
|
+
This standard (workflow-enforcement.ai.yaml) has been migrated to DevAP.
|
|
28
|
+
For the canonical executable definition, load:
|
|
29
|
+
dev-autopilot/standards/flow/workflow-enforcement.ai.yaml
|
|
199
30
|
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
instruction: >
|
|
203
|
-
Read the project's enforcement mode from .uds/config.yaml
|
|
204
|
-
(workflow.enforcement_mode). If 'enforce' (default), block on
|
|
205
|
-
failed prerequisites. If 'suggest', warn but allow override.
|
|
206
|
-
If 'off', skip all checks.
|
|
207
|
-
priority: required
|
|
31
|
+
The human-readable standard remains at:
|
|
32
|
+
universal-dev-standards/core/workflow-enforcement.md
|
|
208
33
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
instruction: >
|
|
212
|
-
When a prerequisite fails, provide actionable guidance:
|
|
213
|
-
1. Explain WHAT is missing (e.g., "No approved spec found")
|
|
214
|
-
2. Explain WHY it matters (e.g., "SDD requires approved specs before implementation")
|
|
215
|
-
3. Show HOW to fix it (e.g., "Run /sdd approve SPEC-XXX.md first")
|
|
216
|
-
Never just say "blocked" — always provide the path forward.
|
|
34
|
+
To install DevAP: npm install -g @devap/cli
|
|
35
|
+
See: https://github.com/AsiaOstrich/dev-autopilot
|
|
217
36
|
priority: required
|
|
218
37
|
|
|
219
|
-
- id:
|
|
220
|
-
trigger:
|
|
221
|
-
instruction: >
|
|
222
|
-
Before starting a fresh workflow, check .workflow-state/ for
|
|
223
|
-
existing state files. If an active workflow exists for the same
|
|
224
|
-
spec or feature, offer to resume instead of starting fresh.
|
|
225
|
-
priority: required
|
|
226
|
-
|
|
227
|
-
- id: feat-commit-spec-suggestion
|
|
228
|
-
trigger: committing a feat or fix type change
|
|
38
|
+
- id: enforce-phase-order
|
|
39
|
+
trigger: AI assistant receives a workflow phase command
|
|
229
40
|
instruction: >
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
to the commit footer. If no specs exist and the change is
|
|
233
|
-
significant (>3 files changed or new API), suggest creating a
|
|
234
|
-
spec via /sdd. This is advisory, not blocking.
|
|
235
|
-
priority: recommended
|
|
236
|
-
|
|
237
|
-
quick_reference:
|
|
238
|
-
enforcement_modes:
|
|
239
|
-
columns: [Mode, Behavior, Config Value]
|
|
240
|
-
rows:
|
|
241
|
-
- [Enforce, "Block + Guide", "enforce"]
|
|
242
|
-
- [Suggest, "Warn + Allow", "suggest"]
|
|
243
|
-
- [Off, "No checks", "off"]
|
|
41
|
+
DEPRECATED — load dev-autopilot/standards/flow/workflow-enforcement.ai.yaml
|
|
42
|
+
for the current executable gate definitions.
|
|
244
43
|
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
- [SDD, verify, "All ACs must have code + tests"]
|
|
250
|
-
- [TDD, green, "At least one failing test"]
|
|
251
|
-
- [TDD, refactor, "All tests passing"]
|
|
252
|
-
- [BDD, automation, ".feature file must exist"]
|
|
253
|
-
- [Commit, feat/fix, "Suggest spec reference"]
|
|
44
|
+
Minimal fallback: Before executing any workflow phase, check that
|
|
45
|
+
prerequisites for the phase are met. If not, stop and guide the user
|
|
46
|
+
to the correct prerequisite phase.
|
|
47
|
+
priority: required
|
|
@@ -1,121 +1,45 @@
|
|
|
1
|
-
# Workflow State Protocol -
|
|
2
|
-
#
|
|
1
|
+
# Workflow State Protocol - DEPRECATED STUB
|
|
2
|
+
# This file has been migrated to DevAP per DEC-049 (UDS/DevAP responsibility split).
|
|
3
|
+
# Canonical location: dev-autopilot/standards/flow/workflow-state-protocol.ai.yaml
|
|
4
|
+
# Migration: XSPEC-086 Phase 2 (2026-04-27)
|
|
5
|
+
#
|
|
6
|
+
# Human-readable standard: core/workflow-state-protocol.md (remains in UDS)
|
|
7
|
+
# Deprecation schedule: UDS 5.4.0 deprecated → UDS 6.0.0 removed
|
|
3
8
|
|
|
4
9
|
id: workflow-state-protocol
|
|
5
10
|
meta:
|
|
6
|
-
version: "1.0.
|
|
7
|
-
updated: "2026-
|
|
11
|
+
version: "1.0.1"
|
|
12
|
+
updated: "2026-04-27"
|
|
13
|
+
deprecated: true
|
|
14
|
+
deprecated_since: "5.4.0"
|
|
15
|
+
removal_version: "6.0.0"
|
|
16
|
+
canonical_owner: devap
|
|
17
|
+
canonical_path: "dev-autopilot/standards/flow/workflow-state-protocol.ai.yaml"
|
|
8
18
|
source: core/workflow-state-protocol.md
|
|
9
|
-
description:
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
state_persistence:
|
|
13
|
-
rule: Multi-phase workflows must save state at phase transitions
|
|
14
|
-
rationale: Enables resumption after session boundaries without state loss
|
|
15
|
-
|
|
16
|
-
event_sourcing:
|
|
17
|
-
rule: Important decisions and transitions are logged in append-only event log
|
|
18
|
-
rationale: Provides audit trail and enables understanding of workflow history
|
|
19
|
-
|
|
20
|
-
session_independence:
|
|
21
|
-
rule: Each AI session should be able to resume any workflow from saved state
|
|
22
|
-
rationale: Context window limits make single-session completion unreliable
|
|
23
|
-
|
|
24
|
-
state_file:
|
|
25
|
-
location: ".workflow-state/{workflow}-{id}.yaml"
|
|
26
|
-
required_fields:
|
|
27
|
-
- workflow # Workflow type (sdd, feature-dev, etc.)
|
|
28
|
-
- spec_id # Spec or task identifier
|
|
29
|
-
- current_phase # Active phase ID
|
|
30
|
-
- status # in-progress | paused | blocked | completed | abandoned
|
|
31
|
-
- updated # Last update timestamp (ISO 8601)
|
|
32
|
-
- phases_completed # Ordered list of completed phase IDs
|
|
33
|
-
optional_fields:
|
|
34
|
-
- title
|
|
35
|
-
- iteration_count
|
|
36
|
-
- created
|
|
37
|
-
- artifacts
|
|
38
|
-
- progress_summary
|
|
39
|
-
- completed_steps
|
|
40
|
-
- next_steps
|
|
41
|
-
- open_questions
|
|
42
|
-
- decisions
|
|
43
|
-
|
|
44
|
-
event_log:
|
|
45
|
-
location: ".workflow-state/{workflow}-{id}.log.yaml"
|
|
46
|
-
format: append-only YAML list
|
|
47
|
-
event_types:
|
|
48
|
-
- phase_enter # Workflow enters a new phase
|
|
49
|
-
- phase_exit # Workflow exits a phase
|
|
50
|
-
- checkpoint # Notable milestone
|
|
51
|
-
- decision # Important decision made
|
|
52
|
-
- error # Error or failure
|
|
53
|
-
- interruption # Workflow paused (HITL or context limit)
|
|
54
|
-
- resumption # Workflow resumed from saved state
|
|
55
|
-
required_event_fields:
|
|
56
|
-
- timestamp
|
|
57
|
-
- event_type
|
|
58
|
-
- phase
|
|
59
|
-
- summary
|
|
19
|
+
description: >
|
|
20
|
+
DEPRECATED: This standard has moved to DevAP (flow orchestration layer).
|
|
21
|
+
Install DevAP and load standards/flow/workflow-state-protocol.ai.yaml instead.
|
|
60
22
|
|
|
61
23
|
rules:
|
|
62
|
-
- id:
|
|
63
|
-
trigger: workflow
|
|
24
|
+
- id: deprecation-notice
|
|
25
|
+
trigger: any workflow state operation
|
|
64
26
|
instruction: >
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
27
|
+
This standard (workflow-state-protocol.ai.yaml) has been migrated to DevAP.
|
|
28
|
+
For the canonical executable definition, load:
|
|
29
|
+
dev-autopilot/standards/flow/workflow-state-protocol.ai.yaml
|
|
30
|
+
|
|
31
|
+
The human-readable standard remains at:
|
|
32
|
+
universal-dev-standards/core/workflow-state-protocol.md
|
|
33
|
+
|
|
34
|
+
To install DevAP: npm install -g @devap/cli
|
|
69
35
|
priority: required
|
|
70
36
|
|
|
71
37
|
- id: state-load-on-resume
|
|
72
38
|
trigger: session start or workflow command invocation
|
|
73
39
|
instruction: >
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
of active workflows and offer to resume. When a workflow command
|
|
77
|
-
is invoked (e.g., /sdd implement SPEC-042), check for existing
|
|
78
|
-
state before starting fresh.
|
|
79
|
-
priority: required
|
|
40
|
+
DEPRECATED — load dev-autopilot/standards/flow/workflow-state-protocol.ai.yaml
|
|
41
|
+
for the current executable state protocol.
|
|
80
42
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
instruction: >
|
|
84
|
-
Before ending a session during an active workflow, save current
|
|
85
|
-
progress to the state file. Update progress_summary, next_steps,
|
|
86
|
-
and open_questions to enable seamless resumption.
|
|
43
|
+
Minimal fallback: At session start, check .workflow-state/ for active workflows
|
|
44
|
+
and offer to resume if found.
|
|
87
45
|
priority: required
|
|
88
|
-
|
|
89
|
-
- id: event-log-on-decision
|
|
90
|
-
trigger: important design or scope decision made
|
|
91
|
-
instruction: >
|
|
92
|
-
When a significant decision is made during a workflow (design choice,
|
|
93
|
-
scope change, technology selection), append a 'decision' event to the
|
|
94
|
-
event log with the decision summary and reasoning.
|
|
95
|
-
priority: recommended
|
|
96
|
-
|
|
97
|
-
- id: state-staleness-warning
|
|
98
|
-
trigger: loading state file older than 7 days
|
|
99
|
-
instruction: >
|
|
100
|
-
If a state file's 'updated' timestamp is more than 7 days old,
|
|
101
|
-
warn the user that the workflow state may be stale and suggest
|
|
102
|
-
reviewing it before continuing.
|
|
103
|
-
priority: recommended
|
|
104
|
-
|
|
105
|
-
- id: gitignore-workflow-state
|
|
106
|
-
trigger: creating .workflow-state/ directory
|
|
107
|
-
instruction: >
|
|
108
|
-
Recommend adding .workflow-state/ to .gitignore as workflow state
|
|
109
|
-
is session-specific. Exception: teams sharing state across developers
|
|
110
|
-
may version-control it but should clean up completed workflows.
|
|
111
|
-
priority: recommended
|
|
112
|
-
|
|
113
|
-
quick_reference:
|
|
114
|
-
state_lifecycle:
|
|
115
|
-
columns: [Event, Action]
|
|
116
|
-
rows:
|
|
117
|
-
- [Phase transition, Update state file + append event log]
|
|
118
|
-
- [Important decision, Record in state decisions + event log]
|
|
119
|
-
- [Session ending, Save progress_summary and next_steps]
|
|
120
|
-
- [Session starting, Check .workflow-state/ for active workflows]
|
|
121
|
-
- [Workflow complete, Set status to completed]
|