smart-spec-kit-mcp 2.1.1 → 2.1.3
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/README.md +21 -12
- package/dist/cli.js +6 -0
- package/dist/cli.js.map +1 -1
- package/dist/tools/promptTools.d.ts +1 -1
- package/dist/tools/promptTools.d.ts.map +1 -1
- package/dist/tools/promptTools.js +205 -3
- package/dist/tools/promptTools.js.map +1 -1
- package/dist/utils/starterKitInstaller.d.ts.map +1 -1
- package/dist/utils/starterKitInstaller.js +50 -7
- package/dist/utils/starterKitInstaller.js.map +1 -1
- package/docs/DOCUMENTATION.md +181 -10
- package/package.json +1 -1
- package/starter-kit/copilot-instructions.md +20 -2
- package/starter-kit/prompts/implement.md +42 -1
- package/starter-kit/prompts/validate.md +89 -0
- package/starter-kit/rules/rgpd-rules.md +187 -0
- package/starter-kit/rules/security-rules.md +138 -0
- package/starter-kit/workflows/bugfix.yaml +99 -0
- package/starter-kit/workflows/feature-full.yaml +344 -0
- package/starter-kit/workflows/feature-quick.yaml +69 -0
- package/starter-kit/workflows/feature-standard.yaml +92 -0
- package/workflows/feature-quick.yaml +69 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Validation Prompt
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Execute validation checks against customizable rules after specific workflow phases.
|
|
6
|
+
|
|
7
|
+
## Validation Types
|
|
8
|
+
|
|
9
|
+
Spec-Kit supports multiple validation types:
|
|
10
|
+
|
|
11
|
+
1. **Security Validation** - Check security rules compliance
|
|
12
|
+
2. **RGPD Validation** - Check GDPR/RGPD compliance
|
|
13
|
+
3. **Architecture Validation** - Check architecture principles
|
|
14
|
+
4. **Custom Validation** - Check custom project rules
|
|
15
|
+
|
|
16
|
+
## Process
|
|
17
|
+
|
|
18
|
+
### 1. Load Rules
|
|
19
|
+
|
|
20
|
+
Load the appropriate rules file from `.spec-kit/rules/`:
|
|
21
|
+
- `security-rules.md` for security validation
|
|
22
|
+
- `rgpd-rules.md` for RGPD/GDPR validation
|
|
23
|
+
- Custom files as defined by user
|
|
24
|
+
|
|
25
|
+
### 2. Load Target Document
|
|
26
|
+
|
|
27
|
+
Load the document to validate:
|
|
28
|
+
- For **spec** phase: Load from `specs/*-spec.md`
|
|
29
|
+
- For **plan** phase: Load from `specs/plan.md`
|
|
30
|
+
- For **implementation** phase: Analyze recent code changes
|
|
31
|
+
|
|
32
|
+
### 3. Evaluate Each Rule
|
|
33
|
+
|
|
34
|
+
For each rule in the rules file:
|
|
35
|
+
|
|
36
|
+
1. Determine if the rule is applicable to this feature
|
|
37
|
+
2. Check if the requirement is addressed
|
|
38
|
+
3. Mark status: ✅ Compliant | ⚠️ Partial | ❌ Non-Compliant | ➖ N/A
|
|
39
|
+
4. Document evidence or gaps
|
|
40
|
+
|
|
41
|
+
### 4. Generate Report
|
|
42
|
+
|
|
43
|
+
Create a validation report with:
|
|
44
|
+
- Summary statistics
|
|
45
|
+
- Critical issues (blocking)
|
|
46
|
+
- Warnings (should fix)
|
|
47
|
+
- Recommendations (nice to have)
|
|
48
|
+
|
|
49
|
+
## Validation Triggers
|
|
50
|
+
|
|
51
|
+
Validations can be triggered:
|
|
52
|
+
|
|
53
|
+
- **Manually**: `speckit: validate security` or `speckit: validate rgpd`
|
|
54
|
+
- **In Workflow**: As a step in feature-full or custom workflows
|
|
55
|
+
- **After Phase**: Automatically after spec or implementation
|
|
56
|
+
|
|
57
|
+
## Output
|
|
58
|
+
|
|
59
|
+
Save validation reports to:
|
|
60
|
+
- `specs/validations/{type}-{date}.md`
|
|
61
|
+
|
|
62
|
+
## Instructions for Copilot
|
|
63
|
+
|
|
64
|
+
When performing validation:
|
|
65
|
+
|
|
66
|
+
1. **Be Thorough**: Check every applicable rule
|
|
67
|
+
2. **Be Specific**: Cite specific sections or code that address rules
|
|
68
|
+
3. **Be Constructive**: Provide actionable recommendations
|
|
69
|
+
4. **Be Honest**: Mark non-compliant if not addressed, don't assume
|
|
70
|
+
|
|
71
|
+
## Custom Rules
|
|
72
|
+
|
|
73
|
+
Users can create custom rules files in `.spec-kit/rules/`:
|
|
74
|
+
|
|
75
|
+
```markdown
|
|
76
|
+
# My Custom Rules
|
|
77
|
+
|
|
78
|
+
## Category Name
|
|
79
|
+
|
|
80
|
+
### RULE-001: Rule Title
|
|
81
|
+
- [ ] Checklist item 1
|
|
82
|
+
- [ ] Checklist item 2
|
|
83
|
+
|
|
84
|
+
### RULE-002: Another Rule
|
|
85
|
+
- [ ] Check this
|
|
86
|
+
- [ ] Check that
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Then trigger with: `speckit: validate my-custom-rules`
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
# RGPD/GDPR Validation Rules
|
|
2
|
+
|
|
3
|
+
These rules are used by Spec-Kit to validate GDPR compliance after specification or implementation phases.
|
|
4
|
+
|
|
5
|
+
> **Customization**: Edit this file to match your organization's data protection policies and local regulations.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Data Identification
|
|
10
|
+
|
|
11
|
+
### RGPD-001: Personal Data Inventory
|
|
12
|
+
- [ ] All personal data collected is identified and documented
|
|
13
|
+
- [ ] Data categories are classified (standard, sensitive, special)
|
|
14
|
+
- [ ] Data sources are documented (user input, API, third-party)
|
|
15
|
+
|
|
16
|
+
### RGPD-002: Data Mapping
|
|
17
|
+
- [ ] Data flow is documented (collection → processing → storage → deletion)
|
|
18
|
+
- [ ] All data processors are identified
|
|
19
|
+
- [ ] Cross-border transfers documented (if applicable)
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Legal Basis (Article 6)
|
|
24
|
+
|
|
25
|
+
### RGPD-010: Lawful Processing
|
|
26
|
+
- [ ] Legal basis for each processing activity is documented
|
|
27
|
+
- [ ] Consent (freely given, specific, informed, unambiguous)
|
|
28
|
+
- [ ] Contract execution
|
|
29
|
+
- [ ] Legal obligation
|
|
30
|
+
- [ ] Vital interests
|
|
31
|
+
- [ ] Public interest
|
|
32
|
+
- [ ] Legitimate interests (with balancing test)
|
|
33
|
+
|
|
34
|
+
### RGPD-011: Consent Management
|
|
35
|
+
- [ ] Consent is obtained before processing (if consent-based)
|
|
36
|
+
- [ ] Consent can be withdrawn as easily as given
|
|
37
|
+
- [ ] Consent records are maintained
|
|
38
|
+
- [ ] Age verification for minors (< 16 years)
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Data Subject Rights (Articles 12-22)
|
|
43
|
+
|
|
44
|
+
### RGPD-020: Right to Information (Art. 13-14)
|
|
45
|
+
- [ ] Privacy notice provided at data collection
|
|
46
|
+
- [ ] Purpose of processing clearly stated
|
|
47
|
+
- [ ] Data retention period communicated
|
|
48
|
+
- [ ] Third-party sharing disclosed
|
|
49
|
+
|
|
50
|
+
### RGPD-021: Right of Access (Art. 15)
|
|
51
|
+
- [ ] Users can request copy of their data
|
|
52
|
+
- [ ] Response within 30 days
|
|
53
|
+
- [ ] Data provided in machine-readable format
|
|
54
|
+
|
|
55
|
+
### RGPD-022: Right to Rectification (Art. 16)
|
|
56
|
+
- [ ] Users can correct inaccurate data
|
|
57
|
+
- [ ] Users can complete incomplete data
|
|
58
|
+
- [ ] Updates propagated to third parties
|
|
59
|
+
|
|
60
|
+
### RGPD-023: Right to Erasure / RTBF (Art. 17)
|
|
61
|
+
- [ ] Users can request data deletion
|
|
62
|
+
- [ ] Deletion includes backups (within reasonable time)
|
|
63
|
+
- [ ] Third parties notified of erasure requests
|
|
64
|
+
- [ ] Exceptions documented (legal retention, public interest)
|
|
65
|
+
|
|
66
|
+
### RGPD-024: Right to Data Portability (Art. 20)
|
|
67
|
+
- [ ] Data exportable in structured format (JSON, CSV)
|
|
68
|
+
- [ ] Direct transfer to another controller (if feasible)
|
|
69
|
+
|
|
70
|
+
### RGPD-025: Right to Object (Art. 21)
|
|
71
|
+
- [ ] Users can object to processing
|
|
72
|
+
- [ ] Objection mechanism easily accessible
|
|
73
|
+
- [ ] Processing stops unless compelling grounds exist
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Data Protection Principles
|
|
78
|
+
|
|
79
|
+
### RGPD-030: Data Minimization
|
|
80
|
+
- [ ] Only necessary data collected
|
|
81
|
+
- [ ] No "nice to have" data collection
|
|
82
|
+
- [ ] Optional fields clearly marked
|
|
83
|
+
|
|
84
|
+
### RGPD-031: Purpose Limitation
|
|
85
|
+
- [ ] Data used only for stated purposes
|
|
86
|
+
- [ ] New purposes require new consent/basis
|
|
87
|
+
- [ ] No data repurposing without user knowledge
|
|
88
|
+
|
|
89
|
+
### RGPD-032: Storage Limitation
|
|
90
|
+
- [ ] Retention periods defined for each data type
|
|
91
|
+
- [ ] Automatic deletion after retention period
|
|
92
|
+
- [ ] Archival vs. active data distinguished
|
|
93
|
+
|
|
94
|
+
### RGPD-033: Accuracy
|
|
95
|
+
- [ ] Data kept up-to-date
|
|
96
|
+
- [ ] Users can update their data
|
|
97
|
+
- [ ] Inaccurate data corrected promptly
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Security Measures (Article 32)
|
|
102
|
+
|
|
103
|
+
### RGPD-040: Technical Measures
|
|
104
|
+
- [ ] Encryption at rest and in transit
|
|
105
|
+
- [ ] Pseudonymization where possible
|
|
106
|
+
- [ ] Access controls implemented
|
|
107
|
+
- [ ] Regular security testing
|
|
108
|
+
|
|
109
|
+
### RGPD-041: Organizational Measures
|
|
110
|
+
- [ ] Staff trained on data protection
|
|
111
|
+
- [ ] Data protection policies documented
|
|
112
|
+
- [ ] Incident response procedures in place
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Third Parties & Processors
|
|
117
|
+
|
|
118
|
+
### RGPD-050: Processor Agreements (Art. 28)
|
|
119
|
+
- [ ] DPA (Data Processing Agreement) with all processors
|
|
120
|
+
- [ ] Processor security measures verified
|
|
121
|
+
- [ ] Sub-processors documented and approved
|
|
122
|
+
|
|
123
|
+
### RGPD-051: International Transfers
|
|
124
|
+
- [ ] Adequacy decision exists (for destination country)
|
|
125
|
+
- [ ] Standard Contractual Clauses (SCCs) in place
|
|
126
|
+
- [ ] Supplementary measures if required
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Documentation & Accountability
|
|
131
|
+
|
|
132
|
+
### RGPD-060: Records of Processing (Art. 30)
|
|
133
|
+
- [ ] Processing activities documented
|
|
134
|
+
- [ ] ROPA (Record of Processing Activities) maintained
|
|
135
|
+
- [ ] Available for supervisory authority
|
|
136
|
+
|
|
137
|
+
### RGPD-061: DPIA (Art. 35)
|
|
138
|
+
- [ ] DPIA required? (high-risk processing)
|
|
139
|
+
- [ ] DPIA completed if required
|
|
140
|
+
- [ ] Residual risks documented and accepted
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Validation Instructions
|
|
145
|
+
|
|
146
|
+
When validating against these rules:
|
|
147
|
+
|
|
148
|
+
1. **For Specifications**: Verify that data protection requirements are documented and RGPD compliance is designed-in
|
|
149
|
+
2. **For Implementation**: Verify that code implements data protection measures and user rights mechanisms
|
|
150
|
+
3. **Mark Status**:
|
|
151
|
+
- ✅ **Compliant**: Rule is fully addressed
|
|
152
|
+
- ⚠️ **Partial**: Rule is partially addressed, needs improvement
|
|
153
|
+
- ❌ **Non-Compliant**: Rule is not addressed, blocking issue
|
|
154
|
+
- ➖ **N/A**: Rule does not apply to this feature
|
|
155
|
+
|
|
156
|
+
## Report Format
|
|
157
|
+
|
|
158
|
+
```markdown
|
|
159
|
+
## RGPD Compliance Report
|
|
160
|
+
|
|
161
|
+
**Feature**: {feature_name}
|
|
162
|
+
**Date**: {date}
|
|
163
|
+
**Phase**: {spec|implementation}
|
|
164
|
+
**DPO Review Required**: {yes|no}
|
|
165
|
+
|
|
166
|
+
### Data Inventory
|
|
167
|
+
| Data Type | Category | Legal Basis | Retention | Processors |
|
|
168
|
+
|-----------|----------|-------------|-----------|------------|
|
|
169
|
+
| email | Personal | Consent | 2 years | SendGrid |
|
|
170
|
+
|
|
171
|
+
### Summary
|
|
172
|
+
- Compliant: X rules
|
|
173
|
+
- Partial: X rules
|
|
174
|
+
- Non-Compliant: X rules
|
|
175
|
+
- N/A: X rules
|
|
176
|
+
|
|
177
|
+
### Findings
|
|
178
|
+
|
|
179
|
+
#### Critical Issues (Blocking)
|
|
180
|
+
{list blocking compliance issues}
|
|
181
|
+
|
|
182
|
+
#### Warnings
|
|
183
|
+
{list partial compliance items}
|
|
184
|
+
|
|
185
|
+
#### Recommendations
|
|
186
|
+
{list improvements for future}
|
|
187
|
+
```
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
# Security Validation Rules
|
|
2
|
+
|
|
3
|
+
These rules are used by Spec-Kit to validate security compliance after specification or implementation phases.
|
|
4
|
+
|
|
5
|
+
> **Customization**: Edit this file to match your organization's security policies.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Authentication & Authorization
|
|
10
|
+
|
|
11
|
+
### AUTH-001: Authentication Required
|
|
12
|
+
- [ ] All endpoints accessing sensitive data require authentication
|
|
13
|
+
- [ ] Authentication mechanism is industry-standard (OAuth2, OIDC, SAML)
|
|
14
|
+
- [ ] No credentials stored in plain text
|
|
15
|
+
|
|
16
|
+
### AUTH-002: Authorization Controls
|
|
17
|
+
- [ ] Role-based access control (RBAC) implemented
|
|
18
|
+
- [ ] Principle of least privilege applied
|
|
19
|
+
- [ ] Authorization checked on every request (not just UI)
|
|
20
|
+
|
|
21
|
+
### AUTH-003: Session Management
|
|
22
|
+
- [ ] Session tokens are cryptographically secure
|
|
23
|
+
- [ ] Session timeout implemented
|
|
24
|
+
- [ ] Session invalidation on logout
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Data Protection
|
|
29
|
+
|
|
30
|
+
### DATA-001: Data at Rest
|
|
31
|
+
- [ ] Sensitive data encrypted at rest (AES-256 or equivalent)
|
|
32
|
+
- [ ] Encryption keys managed securely (HSM, Key Vault)
|
|
33
|
+
- [ ] Database credentials not hardcoded
|
|
34
|
+
|
|
35
|
+
### DATA-002: Data in Transit
|
|
36
|
+
- [ ] TLS 1.2+ required for all communications
|
|
37
|
+
- [ ] Certificate validation enabled
|
|
38
|
+
- [ ] No sensitive data in URLs
|
|
39
|
+
|
|
40
|
+
### DATA-003: Data Sanitization
|
|
41
|
+
- [ ] Input validation on all user inputs
|
|
42
|
+
- [ ] Output encoding to prevent XSS
|
|
43
|
+
- [ ] Parameterized queries to prevent SQL injection
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## API Security
|
|
48
|
+
|
|
49
|
+
### API-001: Input Validation
|
|
50
|
+
- [ ] All inputs validated (type, length, format, range)
|
|
51
|
+
- [ ] Request size limits enforced
|
|
52
|
+
- [ ] File upload restrictions (type, size)
|
|
53
|
+
|
|
54
|
+
### API-002: Rate Limiting
|
|
55
|
+
- [ ] Rate limiting implemented on all endpoints
|
|
56
|
+
- [ ] Brute force protection on authentication
|
|
57
|
+
- [ ] DDoS mitigation considered
|
|
58
|
+
|
|
59
|
+
### API-003: Error Handling
|
|
60
|
+
- [ ] No stack traces exposed to users
|
|
61
|
+
- [ ] Generic error messages for security failures
|
|
62
|
+
- [ ] Detailed errors logged server-side only
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Infrastructure
|
|
67
|
+
|
|
68
|
+
### INFRA-001: Secrets Management
|
|
69
|
+
- [ ] Secrets stored in secure vault (Azure Key Vault, AWS Secrets Manager)
|
|
70
|
+
- [ ] No secrets in source code or config files
|
|
71
|
+
- [ ] Secrets rotated regularly
|
|
72
|
+
|
|
73
|
+
### INFRA-002: Logging & Monitoring
|
|
74
|
+
- [ ] Security events logged (auth failures, access denied)
|
|
75
|
+
- [ ] No sensitive data in logs
|
|
76
|
+
- [ ] Logs protected from tampering
|
|
77
|
+
|
|
78
|
+
### INFRA-003: Dependencies
|
|
79
|
+
- [ ] Dependencies scanned for vulnerabilities
|
|
80
|
+
- [ ] Regular security updates applied
|
|
81
|
+
- [ ] No known vulnerable dependencies
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Compliance Checks
|
|
86
|
+
|
|
87
|
+
### COMP-001: OWASP Top 10
|
|
88
|
+
- [ ] Injection vulnerabilities addressed
|
|
89
|
+
- [ ] Broken authentication prevented
|
|
90
|
+
- [ ] Sensitive data exposure mitigated
|
|
91
|
+
- [ ] XXE attacks prevented
|
|
92
|
+
- [ ] Broken access control fixed
|
|
93
|
+
- [ ] Security misconfiguration avoided
|
|
94
|
+
- [ ] XSS vulnerabilities prevented
|
|
95
|
+
- [ ] Insecure deserialization handled
|
|
96
|
+
- [ ] Components with known vulnerabilities updated
|
|
97
|
+
- [ ] Insufficient logging addressed
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Validation Instructions
|
|
102
|
+
|
|
103
|
+
When validating against these rules:
|
|
104
|
+
|
|
105
|
+
1. **For Specifications**: Verify that security requirements are documented and address each applicable rule
|
|
106
|
+
2. **For Implementation**: Verify that code implements the security controls described in the specification
|
|
107
|
+
3. **Mark Status**:
|
|
108
|
+
- ✅ **Compliant**: Rule is fully addressed
|
|
109
|
+
- ⚠️ **Partial**: Rule is partially addressed, needs improvement
|
|
110
|
+
- ❌ **Non-Compliant**: Rule is not addressed, blocking issue
|
|
111
|
+
- ➖ **N/A**: Rule does not apply to this feature
|
|
112
|
+
|
|
113
|
+
## Report Format
|
|
114
|
+
|
|
115
|
+
```markdown
|
|
116
|
+
## Security Validation Report
|
|
117
|
+
|
|
118
|
+
**Feature**: {feature_name}
|
|
119
|
+
**Date**: {date}
|
|
120
|
+
**Phase**: {spec|implementation}
|
|
121
|
+
|
|
122
|
+
### Summary
|
|
123
|
+
- Compliant: X rules
|
|
124
|
+
- Partial: X rules
|
|
125
|
+
- Non-Compliant: X rules
|
|
126
|
+
- N/A: X rules
|
|
127
|
+
|
|
128
|
+
### Findings
|
|
129
|
+
|
|
130
|
+
#### Critical Issues
|
|
131
|
+
{list critical non-compliant items}
|
|
132
|
+
|
|
133
|
+
#### Warnings
|
|
134
|
+
{list partial compliance items}
|
|
135
|
+
|
|
136
|
+
#### Recommendations
|
|
137
|
+
{list improvements}
|
|
138
|
+
```
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Bugfix Workflow
|
|
2
|
+
# Streamlined process for bug fixes with validation checkpoints
|
|
3
|
+
|
|
4
|
+
name: bugfix
|
|
5
|
+
displayName: "Bug Fix"
|
|
6
|
+
description: "Structured workflow for analyzing, fixing, and validating bug corrections"
|
|
7
|
+
|
|
8
|
+
metadata:
|
|
9
|
+
version: "1.0"
|
|
10
|
+
author: "Spec-Kit"
|
|
11
|
+
tags:
|
|
12
|
+
- bugfix
|
|
13
|
+
- hotfix
|
|
14
|
+
- correction
|
|
15
|
+
|
|
16
|
+
template: bugfix-report.md
|
|
17
|
+
defaultAgent: SpecAgent
|
|
18
|
+
|
|
19
|
+
steps:
|
|
20
|
+
- id: analyze-bug
|
|
21
|
+
name: "Analyze Bug & Root Cause"
|
|
22
|
+
action: fetch_ado
|
|
23
|
+
description: |
|
|
24
|
+
Retrieve the bug work item from Azure DevOps and analyze:
|
|
25
|
+
- Reproduction steps
|
|
26
|
+
- Error logs and stack traces
|
|
27
|
+
- Affected components
|
|
28
|
+
- User impact assessment
|
|
29
|
+
|
|
30
|
+
Identify the root cause of the issue.
|
|
31
|
+
outputs:
|
|
32
|
+
- bug_data
|
|
33
|
+
- root_cause_analysis
|
|
34
|
+
|
|
35
|
+
- id: plan-fix
|
|
36
|
+
name: "Plan Correction"
|
|
37
|
+
action: call_agent
|
|
38
|
+
agent: PlanAgent
|
|
39
|
+
description: |
|
|
40
|
+
Create a correction plan including:
|
|
41
|
+
- Proposed fix approach
|
|
42
|
+
- Files/components to modify
|
|
43
|
+
- Potential side effects
|
|
44
|
+
- Rollback strategy if needed
|
|
45
|
+
|
|
46
|
+
Keep the fix minimal and focused.
|
|
47
|
+
inputs:
|
|
48
|
+
source: "root_cause_analysis"
|
|
49
|
+
outputs:
|
|
50
|
+
- fix_plan
|
|
51
|
+
|
|
52
|
+
- id: security-check
|
|
53
|
+
name: "Security Validation"
|
|
54
|
+
action: review
|
|
55
|
+
agent: GovAgent
|
|
56
|
+
description: |
|
|
57
|
+
Quick security review of the proposed fix:
|
|
58
|
+
- [ ] No new vulnerabilities introduced
|
|
59
|
+
- [ ] Input validation maintained
|
|
60
|
+
- [ ] No sensitive data exposure
|
|
61
|
+
- [ ] Authentication/Authorization intact
|
|
62
|
+
inputs:
|
|
63
|
+
document: "fix_plan"
|
|
64
|
+
outputs:
|
|
65
|
+
- security_clearance
|
|
66
|
+
|
|
67
|
+
- id: implement-fix
|
|
68
|
+
name: "Implement & Test"
|
|
69
|
+
action: generate_content
|
|
70
|
+
description: |
|
|
71
|
+
Implement the fix following the plan:
|
|
72
|
+
1. Write the code fix
|
|
73
|
+
2. Add unit tests for the bug scenario
|
|
74
|
+
3. Add regression tests
|
|
75
|
+
4. Update documentation if needed
|
|
76
|
+
|
|
77
|
+
Ensure test coverage for the fixed code path.
|
|
78
|
+
inputs:
|
|
79
|
+
plan: "fix_plan"
|
|
80
|
+
outputs:
|
|
81
|
+
- code_changes
|
|
82
|
+
- test_cases
|
|
83
|
+
|
|
84
|
+
- id: final-review
|
|
85
|
+
name: "Final Review"
|
|
86
|
+
action: review
|
|
87
|
+
agent: GovAgent
|
|
88
|
+
description: |
|
|
89
|
+
Final validation before merge:
|
|
90
|
+
- [ ] Fix addresses root cause
|
|
91
|
+
- [ ] No regression introduced
|
|
92
|
+
- [ ] Tests pass
|
|
93
|
+
- [ ] Code review approved
|
|
94
|
+
- [ ] Documentation updated
|
|
95
|
+
inputs:
|
|
96
|
+
changes: "code_changes"
|
|
97
|
+
tests: "test_cases"
|
|
98
|
+
outputs:
|
|
99
|
+
- approval_status
|