@planu/cli 1.10.0 → 1.11.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.
Files changed (153) hide show
  1. package/dist/config/license-plans.json +5 -0
  2. package/dist/engine/compliance/evidence-builder.d.ts +19 -0
  3. package/dist/engine/compliance/evidence-builder.d.ts.map +1 -0
  4. package/dist/engine/compliance/evidence-builder.js +36 -0
  5. package/dist/engine/compliance/evidence-builder.js.map +1 -0
  6. package/dist/engine/compliance/framework-catalog.d.ts +15 -0
  7. package/dist/engine/compliance/framework-catalog.d.ts.map +1 -0
  8. package/dist/engine/compliance/framework-catalog.js +134 -0
  9. package/dist/engine/compliance/framework-catalog.js.map +1 -0
  10. package/dist/engine/compliance/gap-analyzer.d.ts +11 -0
  11. package/dist/engine/compliance/gap-analyzer.d.ts.map +1 -0
  12. package/dist/engine/compliance/gap-analyzer.js +39 -0
  13. package/dist/engine/compliance/gap-analyzer.js.map +1 -0
  14. package/dist/engine/distribution/cost-estimator.d.ts +8 -0
  15. package/dist/engine/distribution/cost-estimator.d.ts.map +1 -0
  16. package/dist/engine/distribution/cost-estimator.js +113 -0
  17. package/dist/engine/distribution/cost-estimator.js.map +1 -0
  18. package/dist/engine/distribution/diagram-generator.d.ts +12 -0
  19. package/dist/engine/distribution/diagram-generator.d.ts.map +1 -0
  20. package/dist/engine/distribution/diagram-generator.js +59 -0
  21. package/dist/engine/distribution/diagram-generator.js.map +1 -0
  22. package/dist/engine/distribution/readiness-analyzer.d.ts +4 -0
  23. package/dist/engine/distribution/readiness-analyzer.d.ts.map +1 -0
  24. package/dist/engine/distribution/readiness-analyzer.js +61 -0
  25. package/dist/engine/distribution/readiness-analyzer.js.map +1 -0
  26. package/dist/engine/distribution/runbook-generator.d.ts +7 -0
  27. package/dist/engine/distribution/runbook-generator.d.ts.map +1 -0
  28. package/dist/engine/distribution/runbook-generator.js +42 -0
  29. package/dist/engine/distribution/runbook-generator.js.map +1 -0
  30. package/dist/engine/mcp-hub/adapter-registry.d.ts +23 -0
  31. package/dist/engine/mcp-hub/adapter-registry.d.ts.map +1 -0
  32. package/dist/engine/mcp-hub/adapter-registry.js +19 -0
  33. package/dist/engine/mcp-hub/adapter-registry.js.map +1 -0
  34. package/dist/engine/mcp-hub/adapters/github-adapter.d.ts +4 -0
  35. package/dist/engine/mcp-hub/adapters/github-adapter.d.ts.map +1 -0
  36. package/dist/engine/mcp-hub/adapters/github-adapter.js +44 -0
  37. package/dist/engine/mcp-hub/adapters/github-adapter.js.map +1 -0
  38. package/dist/engine/mcp-hub/adapters/supabase-adapter.d.ts +4 -0
  39. package/dist/engine/mcp-hub/adapters/supabase-adapter.d.ts.map +1 -0
  40. package/dist/engine/mcp-hub/adapters/supabase-adapter.js +41 -0
  41. package/dist/engine/mcp-hub/adapters/supabase-adapter.js.map +1 -0
  42. package/dist/engine/mcp-hub/event-router.d.ts +19 -0
  43. package/dist/engine/mcp-hub/event-router.d.ts.map +1 -0
  44. package/dist/engine/mcp-hub/event-router.js +47 -0
  45. package/dist/engine/mcp-hub/event-router.js.map +1 -0
  46. package/dist/engine/productivity/calibration-engine.d.ts +17 -0
  47. package/dist/engine/productivity/calibration-engine.d.ts.map +1 -0
  48. package/dist/engine/productivity/calibration-engine.js +49 -0
  49. package/dist/engine/productivity/calibration-engine.js.map +1 -0
  50. package/dist/engine/productivity/time-tracker.d.ts +6 -0
  51. package/dist/engine/productivity/time-tracker.d.ts.map +1 -0
  52. package/dist/engine/productivity/time-tracker.js +28 -0
  53. package/dist/engine/productivity/time-tracker.js.map +1 -0
  54. package/dist/engine/productivity/vibe-tax-calculator.d.ts +14 -0
  55. package/dist/engine/productivity/vibe-tax-calculator.d.ts.map +1 -0
  56. package/dist/engine/productivity/vibe-tax-calculator.js +63 -0
  57. package/dist/engine/productivity/vibe-tax-calculator.js.map +1 -0
  58. package/dist/engine/quality-gates/gate-catalog.d.ts +6 -0
  59. package/dist/engine/quality-gates/gate-catalog.d.ts.map +1 -0
  60. package/dist/engine/quality-gates/gate-catalog.js +351 -0
  61. package/dist/engine/quality-gates/gate-catalog.js.map +1 -0
  62. package/dist/engine/quality-gates/gate-evaluator.d.ts +3 -0
  63. package/dist/engine/quality-gates/gate-evaluator.d.ts.map +1 -0
  64. package/dist/engine/quality-gates/gate-evaluator.js +25 -0
  65. package/dist/engine/quality-gates/gate-evaluator.js.map +1 -0
  66. package/dist/engine/quality-gates/gate-injector.d.ts +20 -0
  67. package/dist/engine/quality-gates/gate-injector.d.ts.map +1 -0
  68. package/dist/engine/quality-gates/gate-injector.js +75 -0
  69. package/dist/engine/quality-gates/gate-injector.js.map +1 -0
  70. package/dist/index.js +10 -0
  71. package/dist/index.js.map +1 -1
  72. package/dist/storage/compliance-audit-store.d.ts +12 -0
  73. package/dist/storage/compliance-audit-store.d.ts.map +1 -0
  74. package/dist/storage/compliance-audit-store.js +40 -0
  75. package/dist/storage/compliance-audit-store.js.map +1 -0
  76. package/dist/storage/mcp-hub-store.d.ts +9 -0
  77. package/dist/storage/mcp-hub-store.d.ts.map +1 -0
  78. package/dist/storage/mcp-hub-store.js +28 -0
  79. package/dist/storage/mcp-hub-store.js.map +1 -0
  80. package/dist/storage/time-tracking-store.d.ts +6 -0
  81. package/dist/storage/time-tracking-store.d.ts.map +1 -0
  82. package/dist/storage/time-tracking-store.js +34 -0
  83. package/dist/storage/time-tracking-store.js.map +1 -0
  84. package/dist/tools/compliance-gap-handler.d.ts +5 -0
  85. package/dist/tools/compliance-gap-handler.d.ts.map +1 -0
  86. package/dist/tools/compliance-gap-handler.js +64 -0
  87. package/dist/tools/compliance-gap-handler.js.map +1 -0
  88. package/dist/tools/distribution-readiness-handler.d.ts +3 -0
  89. package/dist/tools/distribution-readiness-handler.d.ts.map +1 -0
  90. package/dist/tools/distribution-readiness-handler.js +24 -0
  91. package/dist/tools/distribution-readiness-handler.js.map +1 -0
  92. package/dist/tools/generate-cost-estimate-handler.d.ts +3 -0
  93. package/dist/tools/generate-cost-estimate-handler.d.ts.map +1 -0
  94. package/dist/tools/generate-cost-estimate-handler.js +29 -0
  95. package/dist/tools/generate-cost-estimate-handler.js.map +1 -0
  96. package/dist/tools/generate-deployment-diagram-handler.d.ts +3 -0
  97. package/dist/tools/generate-deployment-diagram-handler.d.ts.map +1 -0
  98. package/dist/tools/generate-deployment-diagram-handler.js +26 -0
  99. package/dist/tools/generate-deployment-diagram-handler.js.map +1 -0
  100. package/dist/tools/generate-runbook-handler.d.ts +3 -0
  101. package/dist/tools/generate-runbook-handler.d.ts.map +1 -0
  102. package/dist/tools/generate-runbook-handler.js +18 -0
  103. package/dist/tools/generate-runbook-handler.js.map +1 -0
  104. package/dist/tools/inject-quality-gates-handler.d.ts +7 -0
  105. package/dist/tools/inject-quality-gates-handler.d.ts.map +1 -0
  106. package/dist/tools/inject-quality-gates-handler.js +59 -0
  107. package/dist/tools/inject-quality-gates-handler.js.map +1 -0
  108. package/dist/tools/mcp-hub-handler.d.ts +7 -0
  109. package/dist/tools/mcp-hub-handler.d.ts.map +1 -0
  110. package/dist/tools/mcp-hub-handler.js +73 -0
  111. package/dist/tools/mcp-hub-handler.js.map +1 -0
  112. package/dist/tools/productivity-report-handler.d.ts +4 -0
  113. package/dist/tools/productivity-report-handler.d.ts.map +1 -0
  114. package/dist/tools/productivity-report-handler.js +98 -0
  115. package/dist/tools/productivity-report-handler.js.map +1 -0
  116. package/dist/tools/register-distribution.d.ts +3 -0
  117. package/dist/tools/register-distribution.d.ts.map +1 -0
  118. package/dist/tools/register-distribution.js +103 -0
  119. package/dist/tools/register-distribution.js.map +1 -0
  120. package/dist/tools/register-enterprise-compliance.d.ts +3 -0
  121. package/dist/tools/register-enterprise-compliance.d.ts.map +1 -0
  122. package/dist/tools/register-enterprise-compliance.js +30 -0
  123. package/dist/tools/register-enterprise-compliance.js.map +1 -0
  124. package/dist/tools/register-mcp-hub.d.ts +3 -0
  125. package/dist/tools/register-mcp-hub.d.ts.map +1 -0
  126. package/dist/tools/register-mcp-hub.js +47 -0
  127. package/dist/tools/register-mcp-hub.js.map +1 -0
  128. package/dist/tools/register-productivity.d.ts +3 -0
  129. package/dist/tools/register-productivity.d.ts.map +1 -0
  130. package/dist/tools/register-productivity.js +25 -0
  131. package/dist/tools/register-productivity.js.map +1 -0
  132. package/dist/tools/register-quality-gates.d.ts +3 -0
  133. package/dist/tools/register-quality-gates.d.ts.map +1 -0
  134. package/dist/tools/register-quality-gates.js +47 -0
  135. package/dist/tools/register-quality-gates.js.map +1 -0
  136. package/dist/types/analysis.d.ts +30 -0
  137. package/dist/types/analysis.d.ts.map +1 -1
  138. package/dist/types/docs.d.ts +43 -0
  139. package/dist/types/docs.d.ts.map +1 -1
  140. package/dist/types/env.d.ts +23 -0
  141. package/dist/types/env.d.ts.map +1 -1
  142. package/dist/types/estimation.d.ts +30 -0
  143. package/dist/types/estimation.d.ts.map +1 -1
  144. package/dist/types/orchestration/index.d.ts +1 -0
  145. package/dist/types/orchestration/index.d.ts.map +1 -1
  146. package/dist/types/orchestration/mcp-hub.d.ts +29 -0
  147. package/dist/types/orchestration/mcp-hub.d.ts.map +1 -0
  148. package/dist/types/orchestration/mcp-hub.js +3 -0
  149. package/dist/types/orchestration/mcp-hub.js.map +1 -0
  150. package/dist/types/orchestration.d.ts +1 -1
  151. package/dist/types/orchestration.d.ts.map +1 -1
  152. package/package.json +1 -1
  153. package/src/config/license-plans.json +5 -0
@@ -0,0 +1,351 @@
1
+ export const GATE_CATALOG = [
2
+ // Security gates (15)
3
+ {
4
+ id: 'sec-sql-injection',
5
+ category: 'security',
6
+ title: 'All DB queries use parameterized queries or ORM — no string interpolation in SQL',
7
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
8
+ riskLevels: ['low', 'medium', 'high'],
9
+ specTypes: ['all'],
10
+ },
11
+ {
12
+ id: 'sec-input-validation',
13
+ category: 'security',
14
+ title: 'All user inputs validated with Zod/Pydantic/schema at system boundaries',
15
+ stacks: ['typescript', 'python', 'generic'],
16
+ riskLevels: ['low', 'medium', 'high'],
17
+ specTypes: ['all'],
18
+ },
19
+ {
20
+ id: 'sec-auth-check',
21
+ category: 'security',
22
+ title: 'All endpoints/routes require authentication check before processing',
23
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
24
+ riskLevels: ['medium', 'high'],
25
+ specTypes: ['feature', 'infra'],
26
+ },
27
+ {
28
+ id: 'sec-sensitive-data',
29
+ category: 'security',
30
+ title: 'No PII or secrets logged to console/file — use redaction or masking',
31
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
32
+ riskLevels: ['medium', 'high'],
33
+ specTypes: ['all'],
34
+ },
35
+ {
36
+ id: 'sec-cors',
37
+ category: 'security',
38
+ title: 'CORS configured explicitly — no wildcard origin in production',
39
+ stacks: ['typescript', 'python', 'generic'],
40
+ riskLevels: ['medium', 'high'],
41
+ specTypes: ['feature', 'infra'],
42
+ },
43
+ {
44
+ id: 'sec-rate-limit',
45
+ category: 'security',
46
+ title: 'Rate limiting applied to all public endpoints',
47
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
48
+ riskLevels: ['high'],
49
+ specTypes: ['feature', 'infra'],
50
+ },
51
+ {
52
+ id: 'sec-xss',
53
+ category: 'security',
54
+ title: 'All user-generated content escaped before rendering in HTML',
55
+ stacks: ['typescript', 'generic'],
56
+ riskLevels: ['medium', 'high'],
57
+ specTypes: ['feature'],
58
+ },
59
+ {
60
+ id: 'sec-csrf',
61
+ category: 'security',
62
+ title: 'CSRF tokens required for state-changing operations in browser context',
63
+ stacks: ['typescript', 'generic'],
64
+ riskLevels: ['medium', 'high'],
65
+ specTypes: ['feature'],
66
+ },
67
+ {
68
+ id: 'sec-dependency-check',
69
+ category: 'security',
70
+ title: 'No new dependencies with known critical vulnerabilities (npm audit / pip audit)',
71
+ stacks: ['typescript', 'python', 'generic'],
72
+ riskLevels: ['low', 'medium', 'high'],
73
+ specTypes: ['all'],
74
+ },
75
+ {
76
+ id: 'sec-env-secrets',
77
+ category: 'security',
78
+ title: 'No secrets hardcoded — all credentials via environment variables',
79
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
80
+ riskLevels: ['low', 'medium', 'high'],
81
+ specTypes: ['all'],
82
+ },
83
+ {
84
+ id: 'sec-error-disclosure',
85
+ category: 'security',
86
+ title: 'Error responses do not expose internal stack traces or system details to clients',
87
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
88
+ riskLevels: ['medium', 'high'],
89
+ specTypes: ['all'],
90
+ },
91
+ {
92
+ id: 'sec-jwt-validation',
93
+ category: 'security',
94
+ title: 'JWT tokens validated for signature, expiry, and issuer on every protected route',
95
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
96
+ riskLevels: ['high'],
97
+ specTypes: ['feature', 'infra'],
98
+ },
99
+ {
100
+ id: 'sec-file-upload',
101
+ category: 'security',
102
+ title: 'File uploads: type validation, size limits, and virus scanning configured',
103
+ stacks: ['typescript', 'python', 'generic'],
104
+ riskLevels: ['high'],
105
+ specTypes: ['feature'],
106
+ },
107
+ {
108
+ id: 'sec-path-traversal',
109
+ category: 'security',
110
+ title: 'File system paths sanitized — no user-controlled path traversal possible',
111
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
112
+ riskLevels: ['medium', 'high'],
113
+ specTypes: ['feature', 'infra'],
114
+ },
115
+ {
116
+ id: 'sec-https-only',
117
+ category: 'security',
118
+ title: 'All external API calls use HTTPS — no HTTP in production',
119
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
120
+ riskLevels: ['medium', 'high'],
121
+ specTypes: ['all'],
122
+ },
123
+ // Testing gates (10)
124
+ {
125
+ id: 'test-unit-coverage',
126
+ category: 'testing',
127
+ title: 'Unit tests cover ≥95% branch coverage for all new modules',
128
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
129
+ riskLevels: ['low', 'medium', 'high'],
130
+ specTypes: ['all'],
131
+ },
132
+ {
133
+ id: 'test-integration',
134
+ category: 'testing',
135
+ title: 'Integration test for each external dependency interaction (API, DB, cache)',
136
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
137
+ riskLevels: ['medium', 'high'],
138
+ specTypes: ['feature', 'infra'],
139
+ },
140
+ {
141
+ id: 'test-happy-path',
142
+ category: 'testing',
143
+ title: 'Happy path test for each acceptance criterion',
144
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
145
+ riskLevels: ['low', 'medium', 'high'],
146
+ specTypes: ['all'],
147
+ },
148
+ {
149
+ id: 'test-error-paths',
150
+ category: 'testing',
151
+ title: 'Error path tests: invalid input, network failure, not-found cases',
152
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
153
+ riskLevels: ['medium', 'high'],
154
+ specTypes: ['all'],
155
+ },
156
+ {
157
+ id: 'test-edge-cases',
158
+ category: 'testing',
159
+ title: 'Edge case tests: empty input, maximum values, concurrent operations',
160
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
161
+ riskLevels: ['medium', 'high'],
162
+ specTypes: ['feature'],
163
+ },
164
+ {
165
+ id: 'test-no-mocks-abuse',
166
+ category: 'testing',
167
+ title: 'Tests do not mock the unit under test — only external dependencies mocked',
168
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
169
+ riskLevels: ['low', 'medium', 'high'],
170
+ specTypes: ['all'],
171
+ },
172
+ {
173
+ id: 'test-deterministic',
174
+ category: 'testing',
175
+ title: 'All tests are deterministic — no random data, flaky network, or time-dependent state',
176
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
177
+ riskLevels: ['low', 'medium', 'high'],
178
+ specTypes: ['all'],
179
+ },
180
+ {
181
+ id: 'test-ci-passes',
182
+ category: 'testing',
183
+ title: 'All tests pass in CI environment without manual intervention',
184
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
185
+ riskLevels: ['low', 'medium', 'high'],
186
+ specTypes: ['all'],
187
+ },
188
+ {
189
+ id: 'test-performance-regression',
190
+ category: 'testing',
191
+ title: 'Performance regression test: response time within 10% of baseline',
192
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
193
+ riskLevels: ['high'],
194
+ specTypes: ['feature'],
195
+ },
196
+ {
197
+ id: 'test-snapshot',
198
+ category: 'testing',
199
+ title: 'Snapshot tests for all UI components and generated outputs',
200
+ stacks: ['typescript', 'generic'],
201
+ riskLevels: ['medium', 'high'],
202
+ specTypes: ['feature'],
203
+ },
204
+ // Architecture gates (10)
205
+ {
206
+ id: 'arch-layer-violation',
207
+ category: 'architecture',
208
+ title: 'No cross-layer imports: frontend does not import from backend modules directly',
209
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
210
+ riskLevels: ['low', 'medium', 'high'],
211
+ specTypes: ['all'],
212
+ },
213
+ {
214
+ id: 'arch-single-responsibility',
215
+ category: 'architecture',
216
+ title: 'Each module/class has single responsibility — max 1 reason to change',
217
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
218
+ riskLevels: ['medium', 'high'],
219
+ specTypes: ['all'],
220
+ },
221
+ {
222
+ id: 'arch-no-god-object',
223
+ category: 'architecture',
224
+ title: 'No god objects — functions max 80 lines, files max 400 lines',
225
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
226
+ riskLevels: ['medium', 'high'],
227
+ specTypes: ['all'],
228
+ },
229
+ {
230
+ id: 'arch-dependency-injection',
231
+ category: 'architecture',
232
+ title: 'External dependencies injected (not imported directly) for testability',
233
+ stacks: ['typescript', 'python', 'java', 'generic'],
234
+ riskLevels: ['medium', 'high'],
235
+ specTypes: ['feature'],
236
+ },
237
+ {
238
+ id: 'arch-no-circular',
239
+ category: 'architecture',
240
+ title: 'No circular module dependencies — verified with madge or similar',
241
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
242
+ riskLevels: ['low', 'medium', 'high'],
243
+ specTypes: ['all'],
244
+ },
245
+ {
246
+ id: 'arch-api-contract',
247
+ category: 'architecture',
248
+ title: 'API contracts (request/response) defined with typed schemas before implementation',
249
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
250
+ riskLevels: ['medium', 'high'],
251
+ specTypes: ['feature'],
252
+ },
253
+ {
254
+ id: 'arch-error-boundaries',
255
+ category: 'architecture',
256
+ title: 'Error boundaries defined at module edges — errors do not propagate silently',
257
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
258
+ riskLevels: ['medium', 'high'],
259
+ specTypes: ['all'],
260
+ },
261
+ {
262
+ id: 'arch-backward-compat',
263
+ category: 'architecture',
264
+ title: 'No breaking changes to existing public APIs without major version bump',
265
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
266
+ riskLevels: ['medium', 'high'],
267
+ specTypes: ['refactor'],
268
+ },
269
+ {
270
+ id: 'arch-logging',
271
+ category: 'architecture',
272
+ title: 'Structured logging with request ID / correlation ID for all operations',
273
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
274
+ riskLevels: ['medium', 'high'],
275
+ specTypes: ['feature', 'infra'],
276
+ },
277
+ {
278
+ id: 'arch-config-externalized',
279
+ category: 'architecture',
280
+ title: 'All configuration externalized — no magic strings/numbers in business logic',
281
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
282
+ riskLevels: ['medium', 'high'],
283
+ specTypes: ['all'],
284
+ },
285
+ // Performance gates (8)
286
+ {
287
+ id: 'perf-lcp',
288
+ category: 'performance',
289
+ title: 'LCP (Largest Contentful Paint) ≤2.5s on 4G mobile connection',
290
+ stacks: ['typescript', 'generic'],
291
+ riskLevels: ['medium', 'high'],
292
+ specTypes: ['feature'],
293
+ },
294
+ {
295
+ id: 'perf-no-n-plus-1',
296
+ category: 'performance',
297
+ title: 'No N+1 query patterns — use batching, DataLoader, or eager loading',
298
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
299
+ riskLevels: ['medium', 'high'],
300
+ specTypes: ['feature'],
301
+ },
302
+ {
303
+ id: 'perf-bundle-size',
304
+ category: 'performance',
305
+ title: 'JavaScript bundle size increase <50KB gzipped per feature',
306
+ stacks: ['typescript', 'generic'],
307
+ riskLevels: ['medium', 'high'],
308
+ specTypes: ['feature'],
309
+ },
310
+ {
311
+ id: 'perf-db-indexes',
312
+ category: 'performance',
313
+ title: 'Database queries on new tables use appropriate indexes',
314
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
315
+ riskLevels: ['medium', 'high'],
316
+ specTypes: ['feature', 'infra'],
317
+ },
318
+ {
319
+ id: 'perf-caching',
320
+ category: 'performance',
321
+ title: 'Expensive computations (>100ms) cached with appropriate TTL',
322
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
323
+ riskLevels: ['high'],
324
+ specTypes: ['feature'],
325
+ },
326
+ {
327
+ id: 'perf-async',
328
+ category: 'performance',
329
+ title: 'No synchronous blocking I/O in hot paths — all disk/network operations async',
330
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
331
+ riskLevels: ['medium', 'high'],
332
+ specTypes: ['feature', 'infra'],
333
+ },
334
+ {
335
+ id: 'perf-pagination',
336
+ category: 'performance',
337
+ title: 'All list endpoints paginated — no unbounded queries returning full table',
338
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
339
+ riskLevels: ['medium', 'high'],
340
+ specTypes: ['feature'],
341
+ },
342
+ {
343
+ id: 'perf-timeout',
344
+ category: 'performance',
345
+ title: 'Timeout configured for all external API calls — no indefinite waits',
346
+ stacks: ['typescript', 'python', 'java', 'go', 'generic'],
347
+ riskLevels: ['medium', 'high'],
348
+ specTypes: ['feature', 'infra'],
349
+ },
350
+ ];
351
+ //# sourceMappingURL=gate-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gate-catalog.js","sourceRoot":"","sources":["../../../src/engine/quality-gates/gate-catalog.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,YAAY,GAAkB;IACzC,sBAAsB;IACtB;QACE,EAAE,EAAE,mBAAmB;QACvB,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,kFAAkF;QACzF,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;QACrC,SAAS,EAAE,CAAC,KAAK,CAAC;KACnB;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,yEAAyE;QAChF,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC;QAC3C,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;QACrC,SAAS,EAAE,CAAC,KAAK,CAAC;KACnB;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,qEAAqE;QAC5E,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC9B,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;KAChC;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,qEAAqE;QAC5E,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC9B,SAAS,EAAE,CAAC,KAAK,CAAC;KACnB;IACD;QACE,EAAE,EAAE,UAAU;QACd,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,+DAA+D;QACtE,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC;QAC3C,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC9B,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;KAChC;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,+CAA+C;QACtD,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,MAAM,CAAC;QACpB,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;KAChC;IACD;QACE,EAAE,EAAE,SAAS;QACb,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,6DAA6D;QACpE,MAAM,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;QACjC,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC9B,SAAS,EAAE,CAAC,SAAS,CAAC;KACvB;IACD;QACE,EAAE,EAAE,UAAU;QACd,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,uEAAuE;QAC9E,MAAM,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;QACjC,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC9B,SAAS,EAAE,CAAC,SAAS,CAAC;KACvB;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,iFAAiF;QACxF,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC;QAC3C,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;QACrC,SAAS,EAAE,CAAC,KAAK,CAAC;KACnB;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,kEAAkE;QACzE,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;QACrC,SAAS,EAAE,CAAC,KAAK,CAAC;KACnB;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,kFAAkF;QACzF,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC9B,SAAS,EAAE,CAAC,KAAK,CAAC;KACnB;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,iFAAiF;QACxF,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,MAAM,CAAC;QACpB,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;KAChC;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,2EAA2E;QAClF,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC;QAC3C,UAAU,EAAE,CAAC,MAAM,CAAC;QACpB,SAAS,EAAE,CAAC,SAAS,CAAC;KACvB;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,0EAA0E;QACjF,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC9B,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;KAChC;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,0DAA0D;QACjE,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC9B,SAAS,EAAE,CAAC,KAAK,CAAC;KACnB;IACD,qBAAqB;IACrB;QACE,EAAE,EAAE,oBAAoB;QACxB,QAAQ,EAAE,SAAS;QACnB,KAAK,EAAE,2DAA2D;QAClE,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;QACrC,SAAS,EAAE,CAAC,KAAK,CAAC;KACnB;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,QAAQ,EAAE,SAAS;QACnB,KAAK,EAAE,4EAA4E;QACnF,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC9B,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;KAChC;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,QAAQ,EAAE,SAAS;QACnB,KAAK,EAAE,+CAA+C;QACtD,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;QACrC,SAAS,EAAE,CAAC,KAAK,CAAC;KACnB;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,QAAQ,EAAE,SAAS;QACnB,KAAK,EAAE,mEAAmE;QAC1E,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC9B,SAAS,EAAE,CAAC,KAAK,CAAC;KACnB;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,QAAQ,EAAE,SAAS;QACnB,KAAK,EAAE,qEAAqE;QAC5E,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC9B,SAAS,EAAE,CAAC,SAAS,CAAC;KACvB;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,QAAQ,EAAE,SAAS;QACnB,KAAK,EAAE,2EAA2E;QAClF,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;QACrC,SAAS,EAAE,CAAC,KAAK,CAAC;KACnB;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,QAAQ,EAAE,SAAS;QACnB,KAAK,EAAE,sFAAsF;QAC7F,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;QACrC,SAAS,EAAE,CAAC,KAAK,CAAC;KACnB;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,QAAQ,EAAE,SAAS;QACnB,KAAK,EAAE,8DAA8D;QACrE,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;QACrC,SAAS,EAAE,CAAC,KAAK,CAAC;KACnB;IACD;QACE,EAAE,EAAE,6BAA6B;QACjC,QAAQ,EAAE,SAAS;QACnB,KAAK,EAAE,mEAAmE;QAC1E,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,MAAM,CAAC;QACpB,SAAS,EAAE,CAAC,SAAS,CAAC;KACvB;IACD;QACE,EAAE,EAAE,eAAe;QACnB,QAAQ,EAAE,SAAS;QACnB,KAAK,EAAE,4DAA4D;QACnE,MAAM,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;QACjC,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC9B,SAAS,EAAE,CAAC,SAAS,CAAC;KACvB;IACD,0BAA0B;IAC1B;QACE,EAAE,EAAE,sBAAsB;QAC1B,QAAQ,EAAE,cAAc;QACxB,KAAK,EAAE,gFAAgF;QACvF,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;QACrC,SAAS,EAAE,CAAC,KAAK,CAAC;KACnB;IACD;QACE,EAAE,EAAE,4BAA4B;QAChC,QAAQ,EAAE,cAAc;QACxB,KAAK,EAAE,sEAAsE;QAC7E,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC9B,SAAS,EAAE,CAAC,KAAK,CAAC;KACnB;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,QAAQ,EAAE,cAAc;QACxB,KAAK,EAAE,8DAA8D;QACrE,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC9B,SAAS,EAAE,CAAC,KAAK,CAAC;KACnB;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,QAAQ,EAAE,cAAc;QACxB,KAAK,EAAE,wEAAwE;QAC/E,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC;QACnD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC9B,SAAS,EAAE,CAAC,SAAS,CAAC;KACvB;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,QAAQ,EAAE,cAAc;QACxB,KAAK,EAAE,kEAAkE;QACzE,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;QACrC,SAAS,EAAE,CAAC,KAAK,CAAC;KACnB;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,QAAQ,EAAE,cAAc;QACxB,KAAK,EAAE,mFAAmF;QAC1F,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC9B,SAAS,EAAE,CAAC,SAAS,CAAC;KACvB;IACD;QACE,EAAE,EAAE,uBAAuB;QAC3B,QAAQ,EAAE,cAAc;QACxB,KAAK,EAAE,6EAA6E;QACpF,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC9B,SAAS,EAAE,CAAC,KAAK,CAAC;KACnB;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,QAAQ,EAAE,cAAc;QACxB,KAAK,EAAE,wEAAwE;QAC/E,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC9B,SAAS,EAAE,CAAC,UAAU,CAAC;KACxB;IACD;QACE,EAAE,EAAE,cAAc;QAClB,QAAQ,EAAE,cAAc;QACxB,KAAK,EAAE,wEAAwE;QAC/E,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC9B,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;KAChC;IACD;QACE,EAAE,EAAE,0BAA0B;QAC9B,QAAQ,EAAE,cAAc;QACxB,KAAK,EAAE,6EAA6E;QACpF,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC9B,SAAS,EAAE,CAAC,KAAK,CAAC;KACnB;IACD,wBAAwB;IACxB;QACE,EAAE,EAAE,UAAU;QACd,QAAQ,EAAE,aAAa;QACvB,KAAK,EAAE,8DAA8D;QACrE,MAAM,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;QACjC,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC9B,SAAS,EAAE,CAAC,SAAS,CAAC;KACvB;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,QAAQ,EAAE,aAAa;QACvB,KAAK,EAAE,oEAAoE;QAC3E,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC9B,SAAS,EAAE,CAAC,SAAS,CAAC;KACvB;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,QAAQ,EAAE,aAAa;QACvB,KAAK,EAAE,2DAA2D;QAClE,MAAM,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;QACjC,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC9B,SAAS,EAAE,CAAC,SAAS,CAAC;KACvB;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,QAAQ,EAAE,aAAa;QACvB,KAAK,EAAE,wDAAwD;QAC/D,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC9B,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;KAChC;IACD;QACE,EAAE,EAAE,cAAc;QAClB,QAAQ,EAAE,aAAa;QACvB,KAAK,EAAE,6DAA6D;QACpE,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,MAAM,CAAC;QACpB,SAAS,EAAE,CAAC,SAAS,CAAC;KACvB;IACD;QACE,EAAE,EAAE,YAAY;QAChB,QAAQ,EAAE,aAAa;QACvB,KAAK,EAAE,8EAA8E;QACrF,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC9B,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;KAChC;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,QAAQ,EAAE,aAAa;QACvB,KAAK,EAAE,0EAA0E;QACjF,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC9B,SAAS,EAAE,CAAC,SAAS,CAAC;KACvB;IACD;QACE,EAAE,EAAE,cAAc;QAClB,QAAQ,EAAE,aAAa;QACvB,KAAK,EAAE,qEAAqE;QAC5E,MAAM,EAAE,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC;QACzD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC9B,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;KAChC;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { QualityGateEvaluation } from '../../types/index.js';
2
+ export declare function evaluateGates(specMarkdown: string): QualityGateEvaluation;
3
+ //# sourceMappingURL=gate-evaluator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gate-evaluator.d.ts","sourceRoot":"","sources":["../../../src/engine/quality-gates/gate-evaluator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGlE,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,qBAAqB,CAmBzE"}
@@ -0,0 +1,25 @@
1
+ import { GATE_CATALOG } from './gate-catalog.js';
2
+ export function evaluateGates(specMarkdown) {
3
+ const autoGates = GATE_CATALOG.filter((g) => specMarkdown.includes(`[AUTO] ${g.title}`));
4
+ const passed = autoGates.filter((g) => {
5
+ // Look for checked version: [x] [AUTO] title
6
+ const checkedPattern = new RegExp(`- \\[x\\] \\[AUTO\\] ${escapeRegex(g.title)}`, 'i');
7
+ return checkedPattern.test(specMarkdown);
8
+ });
9
+ const failed = autoGates.filter((g) => !passed.includes(g));
10
+ return {
11
+ total: autoGates.length,
12
+ passed: passed.length,
13
+ failed: failed.length,
14
+ failedGates: failed.map((g) => ({
15
+ id: g.id,
16
+ title: g.title,
17
+ category: g.category,
18
+ })),
19
+ score: autoGates.length === 0 ? 100 : Math.round((passed.length / autoGates.length) * 100),
20
+ };
21
+ }
22
+ function escapeRegex(str) {
23
+ return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
24
+ }
25
+ //# sourceMappingURL=gate-evaluator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gate-evaluator.js","sourceRoot":"","sources":["../../../src/engine/quality-gates/gate-evaluator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,UAAU,aAAa,CAAC,YAAoB;IAChD,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACzF,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACpC,6CAA6C;QAC7C,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,wBAAwB,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACvF,OAAO,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,OAAO;QACL,KAAK,EAAE,SAAS,CAAC,MAAM;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9B,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAC,CAAC;QACH,KAAK,EAAE,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;KAC3F,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,OAAO,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { QualityGateInjectionResult } from '../../types/index.js';
2
+ import { GATE_CATALOG, type GateCategory, type StackType } from './gate-catalog.js';
3
+ interface InjectionContext {
4
+ specType: string;
5
+ risk: 'low' | 'medium' | 'high';
6
+ stack: StackType;
7
+ categories: GateCategory[];
8
+ }
9
+ export declare function selectGates(ctx: InjectionContext): typeof GATE_CATALOG;
10
+ export declare function formatGatesSection(gates: typeof GATE_CATALOG): string;
11
+ export declare function inferStack(language?: string, framework?: string): StackType;
12
+ export declare function injectQualityGates(params: {
13
+ specType: string;
14
+ risk: 'low' | 'medium' | 'high';
15
+ language?: string;
16
+ framework?: string;
17
+ categories?: GateCategory[];
18
+ }): QualityGateInjectionResult;
19
+ export {};
20
+ //# sourceMappingURL=gate-injector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gate-injector.d.ts","sourceRoot":"","sources":["../../../src/engine/quality-gates/gate-injector.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGpF,UAAU,gBAAgB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAChC,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,YAAY,EAAE,CAAC;CAC5B;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,YAAY,CAQtE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,YAAY,GAAG,MAAM,CAmBrE;AAED,wBAAgB,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAsB3E;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;CAC7B,GAAG,0BAA0B,CAyB7B"}
@@ -0,0 +1,75 @@
1
+ import { GATE_CATALOG } from './gate-catalog.js';
2
+ export function selectGates(ctx) {
3
+ return GATE_CATALOG.filter((g) => (g.specTypes.includes(ctx.specType) || g.specTypes.includes('all')) &&
4
+ g.riskLevels.includes(ctx.risk) &&
5
+ (g.stacks.includes(ctx.stack) || g.stacks.includes('generic')) &&
6
+ ctx.categories.includes(g.category));
7
+ }
8
+ export function formatGatesSection(gates) {
9
+ if (gates.length === 0) {
10
+ return '';
11
+ }
12
+ const byCategory = new Map();
13
+ for (const g of gates) {
14
+ const list = byCategory.get(g.category) ?? [];
15
+ list.push(g);
16
+ byCategory.set(g.category, list);
17
+ }
18
+ const lines = ['\n## Quality Gates [AUTO]', ''];
19
+ for (const [cat, catGates] of byCategory) {
20
+ lines.push(`### ${cat.charAt(0).toUpperCase() + cat.slice(1)}`);
21
+ for (const g of catGates) {
22
+ lines.push(`- [ ] [AUTO] ${g.title}`);
23
+ }
24
+ lines.push('');
25
+ }
26
+ return lines.join('\n');
27
+ }
28
+ export function inferStack(language, framework) {
29
+ const lang = (language ?? '').toLowerCase();
30
+ const fw = (framework ?? '').toLowerCase();
31
+ if (lang.includes('python') || fw.includes('fastapi') || fw.includes('django')) {
32
+ return 'python';
33
+ }
34
+ // Check typescript/javascript BEFORE java to avoid 'javascript'.includes('java') matching
35
+ if (lang.includes('typescript') ||
36
+ lang.includes('javascript') ||
37
+ fw.includes('node') ||
38
+ fw.includes('next')) {
39
+ return 'typescript';
40
+ }
41
+ if (lang === 'java' || fw.includes('spring')) {
42
+ return 'java';
43
+ }
44
+ if (lang.includes('go') || fw.includes('gin') || fw.includes('fiber')) {
45
+ return 'go';
46
+ }
47
+ return 'generic';
48
+ }
49
+ export function injectQualityGates(params) {
50
+ const stack = inferStack(params.language, params.framework);
51
+ const categories = params.categories ?? [
52
+ 'security',
53
+ 'testing',
54
+ 'architecture',
55
+ 'performance',
56
+ ];
57
+ const gates = selectGates({
58
+ specType: params.specType,
59
+ risk: params.risk,
60
+ stack,
61
+ categories,
62
+ });
63
+ return {
64
+ gates,
65
+ markdownSection: formatGatesSection(gates),
66
+ count: gates.length,
67
+ categoryCounts: {
68
+ security: gates.filter((g) => g.category === 'security').length,
69
+ testing: gates.filter((g) => g.category === 'testing').length,
70
+ architecture: gates.filter((g) => g.category === 'architecture').length,
71
+ performance: gates.filter((g) => g.category === 'performance').length,
72
+ },
73
+ };
74
+ }
75
+ //# sourceMappingURL=gate-injector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gate-injector.js","sourceRoot":"","sources":["../../../src/engine/quality-gates/gate-injector.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -203,6 +203,11 @@ import { registerAutoPromoterTools } from './tools/register-auto-promoter-tools.
203
203
  import { registerCostGuardrailsTools } from './tools/register-cost-guardrails-tools.js';
204
204
  import { registerMcpGatewayTools } from './tools/register-mcp-gateway-tools.js';
205
205
  import { registerDogfoodTools } from './tools/register-dogfood-tools.js';
206
+ import { registerQualityGatesTools } from './tools/register-quality-gates.js';
207
+ import { registerDistributionTools } from './tools/register-distribution.js';
208
+ import { registerEnterpriseComplianceTools } from './tools/register-enterprise-compliance.js';
209
+ import { registerMcpHubTools } from './tools/register-mcp-hub.js';
210
+ import { registerProductivityTools } from './tools/register-productivity.js';
206
211
  // Server setup
207
212
  const SERVER_INSTRUCTIONS = [
208
213
  'CONTEXT — Why structured specs matter:',
@@ -478,6 +483,11 @@ function registerLatestSpecTools(s) {
478
483
  registerCostGuardrailsTools(s);
479
484
  registerMcpGatewayTools(s);
480
485
  registerDogfoodTools(s);
486
+ registerQualityGatesTools(s);
487
+ registerDistributionTools(s);
488
+ registerEnterpriseComplianceTools(s);
489
+ registerMcpHubTools(s);
490
+ registerProductivityTools(s);
481
491
  }
482
492
  function createMcpServer() {
483
493
  const s = withToolTracking(new McpServer({ name: 'planu', version: PLANU_VERSION }, { instructions: SERVER_INSTRUCTIONS }));
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export interface ComplianceAuditEvent {
2
+ timestamp: string;
3
+ action: string;
4
+ specId: string;
5
+ projectId: string;
6
+ actor?: string;
7
+ metadata?: Record<string, unknown>;
8
+ }
9
+ export declare function appendComplianceAuditEvent(event: ComplianceAuditEvent): Promise<void>;
10
+ export declare function loadComplianceAuditTrail(projectId: string, limit?: number): Promise<ComplianceAuditEvent[]>;
11
+ export declare function countComplianceAuditEvents(projectId: string): Promise<number>;
12
+ //# sourceMappingURL=compliance-audit-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compliance-audit-store.d.ts","sourceRoot":"","sources":["../../src/storage/compliance-audit-store.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAaD,wBAAsB,0BAA0B,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAI3F;AAED,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,MAAM,EACjB,KAAK,SAAM,GACV,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAWjC;AAED,wBAAsB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAOnF"}