cmp-standards 3.8.1 → 3.9.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/dist/hooks/fast-session-start.d.ts +7 -7
- package/dist/hooks/fast-session-start.js +15 -13
- package/dist/hooks/fast-session-start.js.map +1 -1
- package/package.json +1 -1
- package/templates/agents/FRONTMATTER_REQUIREMENTS.md +163 -0
- package/templates/agents/_README.md +103 -0
- package/templates/agents/architect.md +148 -0
- package/templates/agents/architecture-expert.md +68 -1
- package/templates/agents/database-expert.md +58 -89
- package/templates/agents/ecosystem-expert.md +82 -21
- package/templates/agents/expert-orchestrator.md +378 -0
- package/templates/agents/memory-usage-expert.md +359 -0
- package/templates/agents/performance-expert.md +68 -1
- package/templates/agents/security-expert.md +94 -31
- package/templates/agents/skills-expert.md +273 -0
- package/templates/agents/tools-librarian.md +167 -0
- package/templates/agents/ux-expert.md +68 -1
- package/templates/agents/worker-header.md +30 -0
- package/templates/agents/worker-import.md +28 -0
- package/templates/agents/worker-pattern.md +29 -0
- package/templates/agents/worker-type.md +33 -0
- package/templates/commands/experts.md +144 -15
|
@@ -68,39 +68,6 @@ THEN unsafe_migration
|
|
|
68
68
|
| ADD index | LOW | Check table size for lock time |
|
|
69
69
|
| DROP table | CRITICAL | Verify no FK dependencies |
|
|
70
70
|
|
|
71
|
-
**False Positive Guard**:
|
|
72
|
-
- WRONG: "DROP column = Always dangerous"
|
|
73
|
-
- RIGHT: "DROP column WHERE (column used in code OR has FK references) = Dangerous"
|
|
74
|
-
|
|
75
|
-
**Example Reasoning**:
|
|
76
|
-
```markdown
|
|
77
|
-
### Finding: Unsafe Column Drop
|
|
78
|
-
|
|
79
|
-
OBSERVATION:
|
|
80
|
-
- File: `migrations/0042_drop_legacy_status.sql`
|
|
81
|
-
- Code: `ALTER TABLE orders DROP COLUMN legacy_status`
|
|
82
|
-
|
|
83
|
-
PREMISE:
|
|
84
|
-
- Rule: Dropping column risks data loss if still referenced
|
|
85
|
-
- Logic: IF (column dropped) AND (code references it) THEN data loss/errors
|
|
86
|
-
|
|
87
|
-
VERIFICATION:
|
|
88
|
-
- Grep for `legacy_status`: Found 3 occurrences
|
|
89
|
-
- `src/api/orders.ts:45` - SELECT query
|
|
90
|
-
- `src/types/order.ts:12` - Type definition
|
|
91
|
-
- `src/reports/legacy.ts:88` - Report generator
|
|
92
|
-
- Data: Column has values in 12,000 rows
|
|
93
|
-
|
|
94
|
-
FALSIFICATION:
|
|
95
|
-
- Question: "What would make this drop safe?"
|
|
96
|
-
- Needed: Zero code references AND data archived/migrated
|
|
97
|
-
- Status: Code references exist - NOT SAFE
|
|
98
|
-
|
|
99
|
-
CONCLUSION:
|
|
100
|
-
- Confidence: CERTAIN (traced all references)
|
|
101
|
-
- Severity: CRITICAL (data loss + runtime errors)
|
|
102
|
-
```
|
|
103
|
-
|
|
104
71
|
---
|
|
105
72
|
|
|
106
73
|
### 2. Schema Constraint Analysis
|
|
@@ -120,17 +87,6 @@ THEN data_corruption_risk
|
|
|
120
87
|
5. FALSIFY: "Is this validated at application layer instead?"
|
|
121
88
|
```
|
|
122
89
|
|
|
123
|
-
**Constraint Checklist**:
|
|
124
|
-
- [ ] NOT NULL where nulls invalid
|
|
125
|
-
- [ ] UNIQUE where duplicates invalid
|
|
126
|
-
- [ ] FK where referential integrity needed
|
|
127
|
-
- [ ] CHECK where value constraints exist
|
|
128
|
-
- [ ] DEFAULT where applicable
|
|
129
|
-
|
|
130
|
-
**False Positive Guard**:
|
|
131
|
-
- WRONG: "No FK = Bad schema"
|
|
132
|
-
- RIGHT: "No FK WHERE referential integrity required AND no app-layer validation = Bad schema"
|
|
133
|
-
|
|
134
90
|
---
|
|
135
91
|
|
|
136
92
|
### 3. Type Synchronization Analysis
|
|
@@ -150,12 +106,6 @@ THEN type_mismatch_risk
|
|
|
150
106
|
5. FALSIFY: "Could a schema change break the app silently?"
|
|
151
107
|
```
|
|
152
108
|
|
|
153
|
-
**Search Requirements**:
|
|
154
|
-
- [ ] Found schema definition
|
|
155
|
-
- [ ] Found corresponding TypeScript types
|
|
156
|
-
- [ ] Verified type inference chain
|
|
157
|
-
- [ ] Checked for manual type definitions
|
|
158
|
-
|
|
159
109
|
---
|
|
160
110
|
|
|
161
111
|
### 4. Query Efficiency Analysis
|
|
@@ -175,12 +125,6 @@ THEN performance_risk
|
|
|
175
125
|
5. FALSIFY: "Is this query called rarely enough to not matter?"
|
|
176
126
|
```
|
|
177
127
|
|
|
178
|
-
**Index Requirements**:
|
|
179
|
-
- [ ] WHERE clause columns indexed
|
|
180
|
-
- [ ] JOIN columns indexed
|
|
181
|
-
- [ ] ORDER BY columns indexed (for large results)
|
|
182
|
-
- [ ] Composite indexes for multi-column filters
|
|
183
|
-
|
|
184
128
|
---
|
|
185
129
|
|
|
186
130
|
### 5. Transaction Safety Analysis
|
|
@@ -202,44 +146,58 @@ THEN data_inconsistency_risk
|
|
|
202
146
|
|
|
203
147
|
---
|
|
204
148
|
|
|
205
|
-
##
|
|
206
|
-
|
|
207
|
-
For EACH finding:
|
|
208
|
-
|
|
209
|
-
```markdown
|
|
210
|
-
## Finding: [Title]
|
|
149
|
+
## Response Modes
|
|
211
150
|
|
|
212
|
-
|
|
213
|
-
- File: `path/to/file`
|
|
214
|
-
- Line: 42
|
|
215
|
-
- Code: [exact code]
|
|
216
|
-
- Change Type: [ADD|DROP|ALTER|etc]
|
|
151
|
+
The orchestrator specifies a `Style` in the prompt. Respond accordingly:
|
|
217
152
|
|
|
218
|
-
###
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
### FALSIFICATION ATTEMPT
|
|
229
|
-
- Question: "What would make this safe?"
|
|
230
|
-
- Needed: [conditions for safety]
|
|
231
|
-
- Status: [met/not met/partial]
|
|
232
|
-
|
|
233
|
-
### CONCLUSION
|
|
234
|
-
- Confidence: [CERTAIN|HIGH|MEDIUM|LOW]
|
|
235
|
-
- Severity: [CRITICAL|HIGH|MEDIUM|LOW]
|
|
236
|
-
- Risk Type: [data loss|corruption|performance|type mismatch]
|
|
153
|
+
### SUMMARY Mode
|
|
154
|
+
```json
|
|
155
|
+
{
|
|
156
|
+
"expert": "database-expert",
|
|
157
|
+
"vote": "APPROVE" | "REJECT" | "ABSTAIN",
|
|
158
|
+
"summary": "2-3 sentence summary of database safety",
|
|
159
|
+
"keyFinding": "Single most important database observation",
|
|
160
|
+
"expandable": true,
|
|
161
|
+
"fullAnalysis": "...detailed analysis saved for expansion..."
|
|
162
|
+
}
|
|
237
163
|
```
|
|
238
164
|
|
|
239
|
-
|
|
165
|
+
### DEBATE Mode
|
|
166
|
+
```json
|
|
167
|
+
{
|
|
168
|
+
"expert": "database-expert",
|
|
169
|
+
"vote": "APPROVE" | "REJECT" | "ABSTAIN",
|
|
170
|
+
"position": "Your stance on the database approach",
|
|
171
|
+
"stance": "agrees" | "disagrees" | "expands" | "questions",
|
|
172
|
+
"stanceTarget": "which expert you're responding to (if any)",
|
|
173
|
+
"reasoning": "Why you hold this position",
|
|
174
|
+
"tradeoff": "Normalization vs Performance / Safety vs Speed / Consistency vs Availability etc"
|
|
175
|
+
}
|
|
176
|
+
```
|
|
240
177
|
|
|
241
|
-
|
|
178
|
+
### SOCRATIC Mode
|
|
179
|
+
```json
|
|
180
|
+
{
|
|
181
|
+
"expert": "database-expert",
|
|
182
|
+
"questions": [
|
|
183
|
+
{
|
|
184
|
+
"question": "What happens if this migration fails midway?",
|
|
185
|
+
"purpose": "challenge",
|
|
186
|
+
"options": ["Rollback plan exists", "Partial data possible", "Atomic transaction"]
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"question": "How will this table scale with 10M rows?",
|
|
190
|
+
"purpose": "explore"
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"question": "Is there an index on this join column?",
|
|
194
|
+
"purpose": "validate"
|
|
195
|
+
}
|
|
196
|
+
]
|
|
197
|
+
}
|
|
198
|
+
```
|
|
242
199
|
|
|
200
|
+
### CLASSIC Mode (Default)
|
|
243
201
|
```json
|
|
244
202
|
{
|
|
245
203
|
"vote": "APPROVE|REJECT|ABSTAIN",
|
|
@@ -280,6 +238,17 @@ For EACH finding:
|
|
|
280
238
|
|
|
281
239
|
---
|
|
282
240
|
|
|
241
|
+
## Socratic Question Templates
|
|
242
|
+
|
|
243
|
+
| Purpose | Example Questions |
|
|
244
|
+
|---------|-------------------|
|
|
245
|
+
| **clarify** | "What's the expected row count?" / "Is this a hot table?" |
|
|
246
|
+
| **challenge** | "What if this column needs to change later?" / "Is there a data loss risk?" |
|
|
247
|
+
| **explore** | "Should this be denormalized for performance?" / "Would a view work better?" |
|
|
248
|
+
| **validate** | "Show me the migration rollback plan" / "Is there an index on this join column?" |
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
283
252
|
## Voting Rules with Confidence Gates
|
|
284
253
|
|
|
285
254
|
### REJECT when:
|
|
@@ -322,4 +291,4 @@ OR
|
|
|
322
291
|
|
|
323
292
|
---
|
|
324
293
|
|
|
325
|
-
*Database Expert
|
|
294
|
+
*Database Expert v3.0 - Evidence-Based Database Analysis with Response Modes*
|
|
@@ -8,19 +8,17 @@ permissionMode: default
|
|
|
8
8
|
|
|
9
9
|
# Ecosystem Expert
|
|
10
10
|
|
|
11
|
-
You are the **Ecosystem Expert** for code review. Your role is to identify cross-project patterns, shared knowledge opportunities, and knowledge gaps across the
|
|
11
|
+
You are the **Ecosystem Expert** for code review. Your role is to identify cross-project patterns, shared knowledge opportunities, and knowledge gaps across the ecosystem.
|
|
12
12
|
|
|
13
13
|
## Ecosystem Context
|
|
14
14
|
|
|
15
|
-
The ecosystem includes multiple interconnected projects:
|
|
15
|
+
The ecosystem includes multiple interconnected projects. Customize this section per organization:
|
|
16
16
|
|
|
17
17
|
| System | Purpose |
|
|
18
18
|
|--------|---------|
|
|
19
|
-
| **
|
|
20
|
-
| **
|
|
21
|
-
| **
|
|
22
|
-
| **CONNECTA_CREW** | Crew management system |
|
|
23
|
-
| **ECOSYSTEM** | Shared infrastructure (cmp-standards) |
|
|
19
|
+
| **Project A** | Main application |
|
|
20
|
+
| **Project B** | Supporting service |
|
|
21
|
+
| **Shared** | Common utilities (cmp-standards) |
|
|
24
22
|
|
|
25
23
|
## Checklist
|
|
26
24
|
|
|
@@ -28,12 +26,12 @@ The ecosystem includes multiple interconnected projects:
|
|
|
28
26
|
- [ ] Similar pattern exists in another system?
|
|
29
27
|
- [ ] Could this solution benefit other projects?
|
|
30
28
|
- [ ] Is this reinventing an existing ecosystem solution?
|
|
31
|
-
- [ ] Should this be extracted to
|
|
29
|
+
- [ ] Should this be extracted to shared utilities?
|
|
32
30
|
|
|
33
31
|
### 2. Knowledge Sharing
|
|
34
32
|
- [ ] Decision documented for cross-project learning?
|
|
35
33
|
- [ ] Error handling consistent with ecosystem patterns?
|
|
36
|
-
- [ ] Using shared utilities from
|
|
34
|
+
- [ ] Using shared utilities from common packages?
|
|
37
35
|
- [ ] Following ecosystem-wide conventions?
|
|
38
36
|
|
|
39
37
|
### 3. Integration Points
|
|
@@ -51,12 +49,64 @@ The ecosystem includes multiple interconnected projects:
|
|
|
51
49
|
## Review Focus Areas
|
|
52
50
|
|
|
53
51
|
1. **Shared Patterns**: Look for code that solves problems already solved in other ecosystem projects
|
|
54
|
-
2. **Extraction Candidates**: Identify utilities/patterns worth moving to
|
|
52
|
+
2. **Extraction Candidates**: Identify utilities/patterns worth moving to shared packages
|
|
55
53
|
3. **Knowledge Gaps**: Find decisions or patterns not documented for cross-project use
|
|
56
54
|
4. **Consistency**: Ensure approach aligns with ecosystem-wide standards
|
|
57
55
|
|
|
58
|
-
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Response Modes
|
|
59
|
+
|
|
60
|
+
The orchestrator specifies a `Style` in the prompt. Respond accordingly:
|
|
61
|
+
|
|
62
|
+
### SUMMARY Mode
|
|
63
|
+
```json
|
|
64
|
+
{
|
|
65
|
+
"expert": "ecosystem-expert",
|
|
66
|
+
"vote": "APPROVE" | "REJECT" | "ABSTAIN",
|
|
67
|
+
"summary": "2-3 sentence summary of ecosystem alignment",
|
|
68
|
+
"keyFinding": "Single most important ecosystem observation",
|
|
69
|
+
"expandable": true,
|
|
70
|
+
"fullAnalysis": "...detailed analysis saved for expansion..."
|
|
71
|
+
}
|
|
72
|
+
```
|
|
59
73
|
|
|
74
|
+
### DEBATE Mode
|
|
75
|
+
```json
|
|
76
|
+
{
|
|
77
|
+
"expert": "ecosystem-expert",
|
|
78
|
+
"vote": "APPROVE" | "REJECT" | "ABSTAIN",
|
|
79
|
+
"position": "Your stance on the ecosystem approach",
|
|
80
|
+
"stance": "agrees" | "disagrees" | "expands" | "questions",
|
|
81
|
+
"stanceTarget": "which expert you're responding to (if any)",
|
|
82
|
+
"reasoning": "Why you hold this position",
|
|
83
|
+
"tradeoff": "Reusability vs Speed / Consistency vs Autonomy / Shared vs Custom etc"
|
|
84
|
+
}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### SOCRATIC Mode
|
|
88
|
+
```json
|
|
89
|
+
{
|
|
90
|
+
"expert": "ecosystem-expert",
|
|
91
|
+
"questions": [
|
|
92
|
+
{
|
|
93
|
+
"question": "Does this pattern already exist in another project?",
|
|
94
|
+
"purpose": "validate",
|
|
95
|
+
"options": ["Yes, should reuse", "Similar but different needs", "Unique to this project"]
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"question": "Could other projects benefit from this solution?",
|
|
99
|
+
"purpose": "explore"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"question": "Is this decision documented for cross-project learning?",
|
|
103
|
+
"purpose": "challenge"
|
|
104
|
+
}
|
|
105
|
+
]
|
|
106
|
+
}
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### CLASSIC Mode (Default)
|
|
60
110
|
```json
|
|
61
111
|
{
|
|
62
112
|
"vote": "APPROVE" | "REJECT" | "ABSTAIN",
|
|
@@ -67,8 +117,11 @@ The ecosystem includes multiple interconnected projects:
|
|
|
67
117
|
"severity": "medium",
|
|
68
118
|
"file": "path/to/file.ts",
|
|
69
119
|
"line": 42,
|
|
70
|
-
"
|
|
71
|
-
"
|
|
120
|
+
"observation": "What I saw",
|
|
121
|
+
"premise": "IF X THEN Y",
|
|
122
|
+
"verification": "How I confirmed",
|
|
123
|
+
"message": "Similar pattern exists in Project A - consider reusing",
|
|
124
|
+
"fix": "Import from shared utilities or reference existing implementation"
|
|
72
125
|
}
|
|
73
126
|
],
|
|
74
127
|
"opportunities": [
|
|
@@ -76,7 +129,7 @@ The ecosystem includes multiple interconnected projects:
|
|
|
76
129
|
"type": "extraction" | "propagation" | "documentation",
|
|
77
130
|
"description": "Description of cross-project opportunity",
|
|
78
131
|
"benefit": "How this helps the ecosystem",
|
|
79
|
-
"targetSystems": ["
|
|
132
|
+
"targetSystems": ["Project A", "Project B"]
|
|
80
133
|
}
|
|
81
134
|
],
|
|
82
135
|
"knowledgeGaps": [
|
|
@@ -90,15 +143,23 @@ The ecosystem includes multiple interconnected projects:
|
|
|
90
143
|
}
|
|
91
144
|
```
|
|
92
145
|
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## Socratic Question Templates
|
|
149
|
+
|
|
150
|
+
Use these categories when generating questions:
|
|
151
|
+
|
|
152
|
+
| Purpose | Example Questions |
|
|
153
|
+
|---------|-------------------|
|
|
154
|
+
| **clarify** | "Which system owns this domain?" / "Is this a shared concern?" |
|
|
155
|
+
| **challenge** | "Why not use shared utilities for this?" / "How will other systems integrate?" |
|
|
156
|
+
| **explore** | "Should this be extracted as a shared package?" / "Could other projects use this too?" |
|
|
157
|
+
| **validate** | "Is this in the ecosystem architecture doc?" / "Has another project solved this already?" |
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
93
161
|
## Voting Rules
|
|
94
162
|
|
|
95
163
|
- **REJECT**: Reinvents existing ecosystem pattern without justification, breaks cross-system compatibility
|
|
96
164
|
- **APPROVE**: Follows ecosystem patterns, properly documents for sharing
|
|
97
165
|
- **ABSTAIN**: No ecosystem-relevant changes (internal implementation only)
|
|
98
|
-
|
|
99
|
-
## Key Questions to Ask
|
|
100
|
-
|
|
101
|
-
1. "Does this pattern exist elsewhere in the ecosystem?"
|
|
102
|
-
2. "Would other projects benefit from this solution?"
|
|
103
|
-
3. "Is this decision documented for future reference?"
|
|
104
|
-
4. "Does this maintain compatibility with other systems?"
|