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,192 @@
|
|
|
1
|
+
# Mutation Testing Standards - AI Optimized
|
|
2
|
+
# Source: core/mutation-testing.md
|
|
3
|
+
|
|
4
|
+
id: mutation-testing
|
|
5
|
+
meta:
|
|
6
|
+
version: "1.0.0"
|
|
7
|
+
updated: "2026-05-04"
|
|
8
|
+
source: core/mutation-testing.md
|
|
9
|
+
description: >
|
|
10
|
+
Mutation testing methodology to evaluate test suite effectiveness.
|
|
11
|
+
Answers "do my tests actually catch bugs?" beyond line coverage.
|
|
12
|
+
|
|
13
|
+
# ─────────────────────────────────────────────────────────
|
|
14
|
+
# Core Concepts
|
|
15
|
+
# ─────────────────────────────────────────────────────────
|
|
16
|
+
core_concepts:
|
|
17
|
+
definition: >
|
|
18
|
+
Mutation testing automatically injects small bugs (mutations) into source code,
|
|
19
|
+
then runs the test suite to see if tests detect (kill) the bug.
|
|
20
|
+
A test suite that kills most mutations is effective; one that misses them is hollow.
|
|
21
|
+
|
|
22
|
+
key_terms:
|
|
23
|
+
- term: Mutant
|
|
24
|
+
definition: A copy of source code with one small artificial bug injected
|
|
25
|
+
- term: Killed mutant
|
|
26
|
+
definition: Test suite detected the bug (test failed)
|
|
27
|
+
- term: Survived mutant
|
|
28
|
+
definition: Test suite missed the bug (all tests still pass) — indicates weak tests
|
|
29
|
+
- term: Mutation Score
|
|
30
|
+
formula: "Killed / (Killed + Survived) × 100%"
|
|
31
|
+
interpretation: Higher is better; 0% = tests prove nothing; 100% = very thorough
|
|
32
|
+
|
|
33
|
+
common_mutation_operators:
|
|
34
|
+
- category: Arithmetic operators
|
|
35
|
+
examples: ["+ → -", "* → /", "++ → --"]
|
|
36
|
+
- category: Conditional boundaries
|
|
37
|
+
examples: ["> → >=", "< → <=", "=== → !=="]
|
|
38
|
+
- category: Statement deletion
|
|
39
|
+
examples: ["Remove return statement", "Remove function call"]
|
|
40
|
+
- category: Boolean literal
|
|
41
|
+
examples: ["true → false", "false → true"]
|
|
42
|
+
|
|
43
|
+
# ─────────────────────────────────────────────────────────
|
|
44
|
+
# Tools
|
|
45
|
+
# ─────────────────────────────────────────────────────────
|
|
46
|
+
tools:
|
|
47
|
+
typescript_javascript:
|
|
48
|
+
- name: Stryker Mutator
|
|
49
|
+
packages: ["@stryker-mutator/core", "@stryker-mutator/vitest-runner"]
|
|
50
|
+
config_file: stryker.config.json
|
|
51
|
+
command: "npx stryker run"
|
|
52
|
+
strengths: [Deep vitest/jest integration, incremental mode, HTML reports]
|
|
53
|
+
note: Use incremental mode to speed up re-runs (--incremental flag)
|
|
54
|
+
|
|
55
|
+
python:
|
|
56
|
+
- name: mutmut
|
|
57
|
+
command: "mutmut run"
|
|
58
|
+
config: setup.cfg or pyproject.toml
|
|
59
|
+
- name: Cosmic Ray
|
|
60
|
+
command: "cosmic-ray init config.toml && cosmic-ray exec config.toml"
|
|
61
|
+
|
|
62
|
+
java:
|
|
63
|
+
- name: PIT (Pitest)
|
|
64
|
+
command: "mvn org.pitest:pitest-maven:mutationCoverage"
|
|
65
|
+
strengths: [Industry standard for Java, excellent IDE integration]
|
|
66
|
+
|
|
67
|
+
# ─────────────────────────────────────────────────────────
|
|
68
|
+
# Thresholds
|
|
69
|
+
# ─────────────────────────────────────────────────────────
|
|
70
|
+
thresholds:
|
|
71
|
+
description: Minimum acceptable mutation scores by module criticality
|
|
72
|
+
|
|
73
|
+
critical_modules:
|
|
74
|
+
description: Auth, payment, license validation, security controls
|
|
75
|
+
minimum_score: 80
|
|
76
|
+
enforcement: Block release if below threshold
|
|
77
|
+
examples: [auth/*, license/*, payment/*, security/*]
|
|
78
|
+
|
|
79
|
+
standard_modules:
|
|
80
|
+
description: Core business logic
|
|
81
|
+
minimum_score: 70
|
|
82
|
+
enforcement: Warning in CI; must be resolved before next release
|
|
83
|
+
|
|
84
|
+
ai_generated_tests:
|
|
85
|
+
description: Tests produced by AI tools (including this assistant)
|
|
86
|
+
minimum_score: 50
|
|
87
|
+
enforcement: Required review before accepting AI-generated test files
|
|
88
|
+
rationale: AI tends to generate hollow tests; mutation score reveals this
|
|
89
|
+
|
|
90
|
+
overall_project:
|
|
91
|
+
minimum_score: 60
|
|
92
|
+
enforcement: Advisory (track trend; alert on regression > 5%)
|
|
93
|
+
|
|
94
|
+
# ─────────────────────────────────────────────────────────
|
|
95
|
+
# Stryker Quick Start (TypeScript/Vitest)
|
|
96
|
+
# ─────────────────────────────────────────────────────────
|
|
97
|
+
stryker_quickstart:
|
|
98
|
+
install: "npm install --save-dev @stryker-mutator/core @stryker-mutator/vitest-runner"
|
|
99
|
+
|
|
100
|
+
minimal_config: |
|
|
101
|
+
{
|
|
102
|
+
"testRunner": "vitest",
|
|
103
|
+
"coverageAnalysis": "perTest",
|
|
104
|
+
"mutate": [
|
|
105
|
+
"src/license/**/*.ts",
|
|
106
|
+
"src/enterprise/quota/**/*.ts",
|
|
107
|
+
"src/runner/pipeline-runner.ts",
|
|
108
|
+
"!src/**/*.test.ts"
|
|
109
|
+
],
|
|
110
|
+
"vitest": {
|
|
111
|
+
"configFile": "vitest.config.ts"
|
|
112
|
+
},
|
|
113
|
+
"thresholds": {
|
|
114
|
+
"high": 80,
|
|
115
|
+
"low": 60,
|
|
116
|
+
"break": 50
|
|
117
|
+
},
|
|
118
|
+
"reporters": ["progress", "html", "json"],
|
|
119
|
+
"htmlReporter": {
|
|
120
|
+
"fileName": "reports/mutation/index.html"
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
incremental_mode: "npx stryker run --incremental"
|
|
125
|
+
full_run: "npx stryker run"
|
|
126
|
+
|
|
127
|
+
# ─────────────────────────────────────────────────────────
|
|
128
|
+
# When to Run
|
|
129
|
+
# ─────────────────────────────────────────────────────────
|
|
130
|
+
execution_timing:
|
|
131
|
+
- trigger: On-demand local run
|
|
132
|
+
command: "npm run test:mutation"
|
|
133
|
+
frequency: Before committing changes to critical modules
|
|
134
|
+
note: Mutation testing is slow (minutes to hours); do NOT run in every commit hook
|
|
135
|
+
|
|
136
|
+
- trigger: Pre-release quality gate
|
|
137
|
+
command: "npm run test:mutation -- --breakAt 60"
|
|
138
|
+
frequency: Before every release
|
|
139
|
+
enforcement: Break if overall score < 60%
|
|
140
|
+
|
|
141
|
+
- trigger: Critical module change
|
|
142
|
+
command: "npx stryker run --mutate 'src/license/**'"
|
|
143
|
+
frequency: Any change to auth/license/payment/security code
|
|
144
|
+
enforcement: Must maintain ≥ 80% on changed module
|
|
145
|
+
|
|
146
|
+
- trigger: AI-generated tests acceptance
|
|
147
|
+
command: "npx stryker run --mutate [module under test]"
|
|
148
|
+
frequency: Before accepting AI-generated test PRs
|
|
149
|
+
enforcement: Score < 50% → reject; require human-written tests
|
|
150
|
+
|
|
151
|
+
# ─────────────────────────────────────────────────────────
|
|
152
|
+
# Rules
|
|
153
|
+
# ─────────────────────────────────────────────────────────
|
|
154
|
+
rules:
|
|
155
|
+
- id: mutation-pre-release
|
|
156
|
+
trigger: preparing a release
|
|
157
|
+
instruction: Run mutation testing; overall score must be ≥ 60% to proceed
|
|
158
|
+
priority: required
|
|
159
|
+
|
|
160
|
+
- id: mutation-critical-modules
|
|
161
|
+
trigger: modifying auth, license, payment, or security code
|
|
162
|
+
instruction: Run module-scoped mutation testing; maintain ≥ 80% mutation score
|
|
163
|
+
priority: required
|
|
164
|
+
|
|
165
|
+
- id: mutation-ai-generated
|
|
166
|
+
trigger: accepting AI-generated test files
|
|
167
|
+
instruction: >
|
|
168
|
+
Run mutation testing on the module under test.
|
|
169
|
+
Score < 50% → reject tests; require human-authored replacements.
|
|
170
|
+
priority: required
|
|
171
|
+
|
|
172
|
+
- id: do-not-run-in-every-commit
|
|
173
|
+
trigger: planning CI pipeline
|
|
174
|
+
instruction: Do NOT add mutation testing to commit hooks or every-PR CI; it is too slow
|
|
175
|
+
priority: required
|
|
176
|
+
note: Reserve for pre-release gate and on-demand runs
|
|
177
|
+
|
|
178
|
+
anti_patterns:
|
|
179
|
+
- Treating 100% line coverage as sufficient (lines covered ≠ mutations killed)
|
|
180
|
+
- Adding mutation testing to pre-commit hooks (makes commits 10-60 minutes long)
|
|
181
|
+
- Accepting AI-generated tests without mutation score validation
|
|
182
|
+
- Killing mutations by adding trivial assertions (expect(x).toBeDefined())
|
|
183
|
+
- Targeting only happy paths in mutation testing (branches and boundaries are key)
|
|
184
|
+
|
|
185
|
+
quick_reference:
|
|
186
|
+
mutation_testing_checklist: |
|
|
187
|
+
□ Stryker configured for critical modules (license/*, auth/*, quota/*)
|
|
188
|
+
□ test:mutation script in package.json
|
|
189
|
+
□ Thresholds set: critical ≥ 80%, overall ≥ 60%, break at 50%
|
|
190
|
+
□ Pre-release: run full mutation suite before tagging version
|
|
191
|
+
□ AI-generated tests: validate with mutation score before accepting
|
|
192
|
+
□ NOT in commit hooks (too slow)
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# PII Classification and Handling Standards - AI Optimized
|
|
2
|
+
# Source: XSPEC-066 Wave 3 Compliance Pack
|
|
3
|
+
|
|
4
|
+
id: pii-classification
|
|
5
|
+
title: PII Classification and Handling Standards
|
|
6
|
+
version: "1.0.0"
|
|
7
|
+
status: Active
|
|
8
|
+
tags: [compliance, privacy, pii, gdpr, data-protection, security]
|
|
9
|
+
summary: |
|
|
10
|
+
Defines how Personally Identifiable Information (PII) and sensitive personal
|
|
11
|
+
data is classified, labeled, stored, transmitted, and disposed of. Covers
|
|
12
|
+
a three-tier data sensitivity classification, mandatory handling controls
|
|
13
|
+
per tier, data minimization principles, consent management requirements,
|
|
14
|
+
retention and deletion schedules, and cross-border transfer restrictions.
|
|
15
|
+
Aligned with GDPR Article 9, CCPA, and general privacy-by-design principles.
|
|
16
|
+
|
|
17
|
+
requirements:
|
|
18
|
+
- id: REQ-001
|
|
19
|
+
title: PII Data Sensitivity Classification
|
|
20
|
+
description: |
|
|
21
|
+
All data fields containing personal information MUST be classified into
|
|
22
|
+
one of three tiers before storage or processing. TIER-1 (Highly
|
|
23
|
+
Sensitive): health data, financial account numbers, government IDs,
|
|
24
|
+
biometrics, passwords, SSNs — requires encryption at rest and in
|
|
25
|
+
transit, access logging, no caching. TIER-2 (Sensitive): full name +
|
|
26
|
+
contact info combination, location history, behavioral profiles,
|
|
27
|
+
IP addresses — requires encryption in transit, access controls.
|
|
28
|
+
TIER-3 (General PII): first name only, country-level location, general
|
|
29
|
+
demographics — standard access controls sufficient.
|
|
30
|
+
level: MUST
|
|
31
|
+
examples:
|
|
32
|
+
- "Field: credit_card_number → TIER-1, encrypted AES-256-GCM, no logging of value"
|
|
33
|
+
- "Field: user_email + user_name together → TIER-2, TLS required, RBAC enforced"
|
|
34
|
+
- "Field: country_code → TIER-3, standard DB access controls"
|
|
35
|
+
|
|
36
|
+
- id: REQ-002
|
|
37
|
+
title: Data Minimization and Purpose Limitation
|
|
38
|
+
description: |
|
|
39
|
+
Systems MUST collect only the minimum PII necessary for the explicitly
|
|
40
|
+
stated purpose. Each PII field in the data model MUST have a documented
|
|
41
|
+
business purpose and legal basis (consent, contract, legitimate
|
|
42
|
+
interest, legal obligation). Collection of PII without documented
|
|
43
|
+
purpose is PROHIBITED. Purpose limitation MUST be enforced: data
|
|
44
|
+
collected for purpose A MUST NOT be used for unrelated purpose B
|
|
45
|
+
without separate consent.
|
|
46
|
+
level: MUST
|
|
47
|
+
examples:
|
|
48
|
+
- "Data dictionary entry: email_address, purpose: account authentication, legal_basis: contract"
|
|
49
|
+
- "Phone number collected for 2FA cannot be reused for marketing without new consent"
|
|
50
|
+
- "PR review checklist: 'Does this new field have a documented purpose in the data dictionary?'"
|
|
51
|
+
|
|
52
|
+
- id: REQ-003
|
|
53
|
+
title: PII Masking and Anonymization in Non-Production
|
|
54
|
+
description: |
|
|
55
|
+
PII MUST NOT exist in non-production environments (development, staging,
|
|
56
|
+
test) unless explicitly required and approved. Test and staging databases
|
|
57
|
+
MUST use anonymized or synthetic data. Any approved exception MUST be
|
|
58
|
+
time-limited, access-controlled, and documented. PII MUST be masked
|
|
59
|
+
in application logs: email addresses shown as u***@domain.com, phone
|
|
60
|
+
numbers as +1-XXX-XXX-1234, card numbers as ****-****-****-1234.
|
|
61
|
+
level: MUST
|
|
62
|
+
examples:
|
|
63
|
+
- "Staging DB: email stored as 'user_12345@test.invalid', not real email"
|
|
64
|
+
- "Log output: 'User u***@example.com logged in' not 'User alice@example.com logged in'"
|
|
65
|
+
- "Exception process: production data copy to staging requires security team approval + 7-day TTL"
|
|
66
|
+
|
|
67
|
+
- id: REQ-004
|
|
68
|
+
title: Data Retention and Deletion Schedule
|
|
69
|
+
description: |
|
|
70
|
+
Every data category containing PII MUST have a documented retention
|
|
71
|
+
schedule with maximum retention period aligned to legal requirements
|
|
72
|
+
and business need. Automated deletion MUST be implemented for data
|
|
73
|
+
past its retention period. Deletion MUST be verifiable (deletion
|
|
74
|
+
receipts or audit logs). Users exercising right-to-erasure MUST
|
|
75
|
+
receive deletion confirmation within 30 days (GDPR) or 45 days (CCPA).
|
|
76
|
+
level: MUST
|
|
77
|
+
examples:
|
|
78
|
+
- "Customer account data: retained 7 years after account closure (tax requirements)"
|
|
79
|
+
- "Session tokens: deleted after 24 hours of inactivity via automated cron job"
|
|
80
|
+
- "Right-to-erasure request: user data purged from all systems within 25 days, confirmation email sent"
|
|
81
|
+
|
|
82
|
+
- id: REQ-005
|
|
83
|
+
title: Cross-Border Data Transfer Controls
|
|
84
|
+
description: |
|
|
85
|
+
Transfers of TIER-1 or TIER-2 PII across national borders MUST comply
|
|
86
|
+
with applicable transfer mechanisms. EU → non-adequate country transfers
|
|
87
|
+
MUST use Standard Contractual Clauses (SCCs) or Binding Corporate Rules.
|
|
88
|
+
Data residency requirements MUST be documented in the system design.
|
|
89
|
+
Cross-border transfers MUST be logged with destination country and
|
|
90
|
+
legal basis.
|
|
91
|
+
level: MUST
|
|
92
|
+
examples:
|
|
93
|
+
- "EU user data stored in AWS eu-west-1, not replicated to us-east-1 without SCC"
|
|
94
|
+
- "Transfer log: destination=US, mechanism=SCC-2021, purpose=customer-support, timestamp=..."
|
|
95
|
+
- "Architecture doc notes: 'All PII stored in EU region per GDPR Article 46'"
|
|
96
|
+
|
|
97
|
+
- id: REQ-006
|
|
98
|
+
title: PII Impact Assessment for New Features
|
|
99
|
+
description: |
|
|
100
|
+
Any new feature or system change that introduces new PII collection or
|
|
101
|
+
processing SHOULD undergo a Privacy Impact Assessment (PIA) before
|
|
102
|
+
implementation. The PIA MUST document: what PII is collected, purpose,
|
|
103
|
+
legal basis, retention period, third-party sharing, and risk mitigations.
|
|
104
|
+
Features with TIER-1 PII require mandatory PIA; TIER-2 is recommended.
|
|
105
|
+
level: SHOULD
|
|
106
|
+
examples:
|
|
107
|
+
- "New feature: 'Save payment method' → PIA required (TIER-1 card data)"
|
|
108
|
+
- "PIA template: docs/templates/privacy-impact-assessment.md"
|
|
109
|
+
- "PIA outcome: fingerprint auth approved with biometric data stored only on-device"
|
|
@@ -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
|