@llm-dev-ops/agentics-cli 1.5.36 → 1.5.38
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/pipeline/auto-chain.d.ts.map +1 -1
- package/dist/pipeline/auto-chain.js +18 -4
- package/dist/pipeline/auto-chain.js.map +1 -1
- package/dist/pipeline/phase2/phases/adr-generator.d.ts.map +1 -1
- package/dist/pipeline/phase2/phases/adr-generator.js +84 -63
- package/dist/pipeline/phase2/phases/adr-generator.js.map +1 -1
- package/dist/pipeline/phase2/phases/ddd-generator.d.ts.map +1 -1
- package/dist/pipeline/phase2/phases/ddd-generator.js +18 -5
- package/dist/pipeline/phase2/phases/ddd-generator.js.map +1 -1
- package/dist/pipeline/phase2/phases/sparc-specification.js +1 -1
- package/dist/pipeline/phase2/phases/sparc-specification.js.map +1 -1
- package/package.json +1 -1
|
@@ -157,120 +157,124 @@ function normalizeSPARCForADR(sparc) {
|
|
|
157
157
|
const integrationPlan = typeof comp.integrationPlan === 'string' ? comp.integrationPlan : '';
|
|
158
158
|
return { services, securityItems, perfItems, integrationPlan };
|
|
159
159
|
}
|
|
160
|
-
function buildADRsFromSPARC(sparc, dossier) {
|
|
160
|
+
function buildADRsFromSPARC(sparc, dossier, scenarioQuery) {
|
|
161
161
|
const adrs = [];
|
|
162
162
|
let idx = 1;
|
|
163
163
|
const today = new Date().toISOString().slice(0, 10);
|
|
164
164
|
const { services, securityItems, perfItems } = normalizeSPARCForADR(sparc);
|
|
165
|
-
// 1. Service
|
|
166
|
-
const
|
|
167
|
-
const svcForADRs = svcWithDeps.length > 0 ? svcWithDeps : services.slice(0, 3);
|
|
165
|
+
// 1. Service implementation ADRs — describe WHAT each service builds, not just "use adapter pattern"
|
|
166
|
+
const svcForADRs = services.slice(0, 6);
|
|
168
167
|
for (const svc of svcForADRs) {
|
|
169
168
|
const depsText = svc.dependencies.length > 0
|
|
170
|
-
? `
|
|
171
|
-
:
|
|
169
|
+
? ` It integrates with: ${svc.dependencies.join(', ')}.`
|
|
170
|
+
: '';
|
|
172
171
|
adrs.push({
|
|
173
172
|
id: `ADR-P2-${pad3(idx++)}`,
|
|
174
|
-
title:
|
|
173
|
+
title: `Implement ${svc.name}${svc.responsibility ? ': ' + svc.responsibility.slice(0, 60) : ''}`,
|
|
175
174
|
status: 'proposed',
|
|
176
175
|
date: today,
|
|
177
|
-
context: `The ${svc.name}
|
|
178
|
-
decision: `
|
|
176
|
+
context: `The platform requires a ${svc.name} component that handles ${svc.responsibility || 'core domain logic'}.${depsText} This is a key part of the solution described in the project requirements.`,
|
|
177
|
+
decision: `Build ${svc.name} as a modular service with clear interfaces. ${svc.responsibility ? 'Implement: ' + svc.responsibility + '.' : ''} ${svc.dependencies.length > 0 ? 'Use adapter interfaces for each dependency (' + svc.dependencies.join(', ') + ') to enable testing and future replacement.' : 'Expose a clean API surface for other services to consume.'}`,
|
|
179
178
|
alternatives: [
|
|
180
|
-
makeAlt(
|
|
181
|
-
makeAlt('
|
|
182
|
-
makeAlt('
|
|
179
|
+
makeAlt(`Dedicated ${svc.name} module`, `Clear ownership, testable in isolation`, false),
|
|
180
|
+
makeAlt('Inline in monolith', 'Simpler initially but harder to test and scale', true),
|
|
181
|
+
makeAlt('Third-party service', 'Faster to deploy but less control over domain logic', true),
|
|
183
182
|
],
|
|
184
183
|
consequences: [
|
|
185
|
-
makeCons(
|
|
186
|
-
makeCons(
|
|
187
|
-
makeCons('
|
|
184
|
+
makeCons(`${svc.name} logic is encapsulated with clear boundaries`, 'positive'),
|
|
185
|
+
makeCons(`Enables independent testing of ${svc.name} business rules`, 'positive'),
|
|
186
|
+
makeCons('Requires well-defined interfaces between services', 'negative'),
|
|
188
187
|
],
|
|
189
188
|
sparcSectionRefs: [`architecture.services.${svc.name}`],
|
|
190
189
|
researchDossierItemRefs: findDossierRefs(dossier, [svc.name, ...svc.dependencies]),
|
|
191
190
|
});
|
|
192
191
|
}
|
|
193
|
-
// 2. Security ADR
|
|
192
|
+
// 2. Security ADR — domain-specific, not "defense-in-depth" boilerplate
|
|
194
193
|
if (securityItems.length > 0) {
|
|
194
|
+
const securityContext = securityItems.slice(0, 3).map(s => typeof s === 'string' ? s : (s && typeof s === 'object' ? (s['text'] ?? s['description'] ?? JSON.stringify(s)) : String(s))).join('; ');
|
|
195
195
|
adrs.push({
|
|
196
196
|
id: `ADR-P2-${pad3(idx++)}`,
|
|
197
|
-
title:
|
|
197
|
+
title: `Security: ${securityContext.slice(0, 80) || 'Access Control and Data Protection'}`,
|
|
198
198
|
status: 'proposed',
|
|
199
199
|
date: today,
|
|
200
|
-
context:
|
|
201
|
-
decision:
|
|
200
|
+
context: `The project has specific security requirements: ${securityContext}. ${scenarioQuery ? 'The system handles sensitive ' + (scenarioQuery.match(/financial|compliance|regulatory|audit|trading|clinical|patient|confidential/i)?.[0] ?? 'business') + ' data.' : ''}`,
|
|
201
|
+
decision: `Implement role-based access control with domain-specific permissions. ${securityItems.length > 1 ? 'Apply ' + securityItems.slice(0, 2).map(s => typeof s === 'string' ? s : s?.['text'] ?? JSON.stringify(s)).join(' and ') + ' at the service layer.' : ''} All sensitive operations must produce audit trail entries.`,
|
|
202
202
|
alternatives: [
|
|
203
|
-
makeAlt('
|
|
204
|
-
makeAlt('
|
|
203
|
+
makeAlt('Role-based with audit trail', 'Meets domain compliance needs', false),
|
|
204
|
+
makeAlt('Simple API key', 'Insufficient for multi-user sensitive data', true),
|
|
205
205
|
],
|
|
206
206
|
consequences: [
|
|
207
|
-
makeCons('
|
|
208
|
-
makeCons('
|
|
207
|
+
makeCons('Meets domain-specific compliance and audit requirements', 'positive'),
|
|
208
|
+
makeCons('Requires role definition and permission matrix per service', 'negative'),
|
|
209
209
|
],
|
|
210
210
|
sparcSectionRefs: ['refinement.securityConsiderations'],
|
|
211
211
|
researchDossierItemRefs: findDossierRefs(dossier, ['security', 'auth', 'access', 'encryption']),
|
|
212
212
|
});
|
|
213
213
|
}
|
|
214
|
-
// 3. Performance ADR
|
|
214
|
+
// 3. Performance ADR — tied to specific domain operations
|
|
215
215
|
if (perfItems.length > 0) {
|
|
216
|
+
const perfContext = perfItems.slice(0, 3).map(s => typeof s === 'string' ? s : (s && typeof s === 'object' ? (s['text'] ?? s['description'] ?? JSON.stringify(s)) : String(s))).join('; ');
|
|
216
217
|
adrs.push({
|
|
217
218
|
id: `ADR-P2-${pad3(idx++)}`,
|
|
218
|
-
title:
|
|
219
|
+
title: `Performance: ${perfContext.slice(0, 80) || 'Optimize Critical Path Operations'}`,
|
|
219
220
|
status: 'proposed',
|
|
220
221
|
date: today,
|
|
221
|
-
context:
|
|
222
|
-
decision:
|
|
222
|
+
context: `Performance targets: ${perfContext}. ${scenarioQuery?.includes('simulation') || scenarioQuery?.includes('real-time') ? 'The system includes computationally intensive operations that need optimization.' : ''}`,
|
|
223
|
+
decision: `Optimize the critical data paths identified in the SPARC specification. Use caching for read-heavy queries, async processing for non-blocking operations, and connection pooling for database access. ${scenarioQuery?.includes('Rust') ? 'Use Rust for compute-intensive modules as specified in requirements.' : ''}`,
|
|
223
224
|
alternatives: [
|
|
224
|
-
makeAlt('
|
|
225
|
-
makeAlt('
|
|
225
|
+
makeAlt('Targeted optimization', 'Focuses effort on actual bottlenecks', false),
|
|
226
|
+
makeAlt('Premature optimization everywhere', 'Wastes effort on non-critical paths', true),
|
|
226
227
|
],
|
|
227
228
|
consequences: [
|
|
228
|
-
makeCons('
|
|
229
|
-
makeCons('
|
|
229
|
+
makeCons('Critical operations meet performance targets', 'positive'),
|
|
230
|
+
makeCons('Requires profiling to validate improvements', 'negative'),
|
|
230
231
|
],
|
|
231
232
|
sparcSectionRefs: ['refinement.performanceTargets'],
|
|
232
233
|
researchDossierItemRefs: findDossierRefs(dossier, ['performance', 'latency', 'throughput']),
|
|
233
234
|
});
|
|
234
235
|
}
|
|
235
|
-
// 4. High-severity risk ADRs
|
|
236
|
+
// 4. High-severity risk ADRs — use actual risk content, not generic "mitigate through redundancy"
|
|
236
237
|
const highRisks = dossier.items.filter(i => i.category === 'risk' && i.severity && /high|critical/i.test(i.severity));
|
|
237
238
|
for (const risk of highRisks.slice(0, 3)) {
|
|
238
239
|
adrs.push({
|
|
239
240
|
id: `ADR-P2-${pad3(idx++)}`,
|
|
240
|
-
title: `Risk
|
|
241
|
+
title: `Address Risk: ${risk.title.slice(0, 70)}`,
|
|
241
242
|
status: 'proposed',
|
|
242
243
|
date: today,
|
|
243
244
|
context: risk.content,
|
|
244
|
-
decision: `
|
|
245
|
+
decision: `Address this risk by: implementing validation at the boundary where this risk originates, adding monitoring/alerting for early detection, and designing a fallback path for degraded operation. Specific controls should be documented in the implementation.`,
|
|
245
246
|
alternatives: [
|
|
246
|
-
makeAlt('Active
|
|
247
|
-
makeAlt('Accept
|
|
247
|
+
makeAlt('Active controls at boundary', 'Prevents impact before it occurs', false),
|
|
248
|
+
makeAlt('Accept and monitor', 'Lower effort but reactive', true),
|
|
248
249
|
],
|
|
249
250
|
consequences: [
|
|
250
|
-
makeCons(`Risk "${risk.title.slice(0, 40)}"
|
|
251
|
-
makeCons('
|
|
251
|
+
makeCons(`Risk "${risk.title.slice(0, 40)}" mitigated with domain-specific controls`, 'positive'),
|
|
252
|
+
makeCons('Requires validation logic in the affected service', 'negative'),
|
|
252
253
|
],
|
|
253
254
|
sparcSectionRefs: [],
|
|
254
255
|
researchDossierItemRefs: [risk.id],
|
|
255
256
|
});
|
|
256
257
|
}
|
|
257
|
-
// 5. Compliance ADR
|
|
258
|
-
const complianceRefs = findDossierRefs(dossier, ['compliance', 'regulatory', 'gdpr', 'hipaa', 'pci', 'privacy']);
|
|
258
|
+
// 5. Compliance ADR — reference the specific compliance requirements
|
|
259
|
+
const complianceRefs = findDossierRefs(dossier, ['compliance', 'regulatory', 'gdpr', 'hipaa', 'pci', 'privacy', 'audit', 'governance']);
|
|
259
260
|
if (complianceRefs.length > 0) {
|
|
261
|
+
const complianceContext = scenarioQuery
|
|
262
|
+
? (scenarioQuery.match(/audit|compliance|regulatory|governance|disclosure|reporting/gi) ?? []).join(', ')
|
|
263
|
+
: '';
|
|
260
264
|
adrs.push({
|
|
261
265
|
id: `ADR-P2-${pad3(idx++)}`,
|
|
262
|
-
title:
|
|
266
|
+
title: `Compliance: ${complianceContext.slice(0, 60) || 'Audit Trail and Regulatory Requirements'}`,
|
|
263
267
|
status: 'proposed',
|
|
264
268
|
date: today,
|
|
265
|
-
context: `${complianceRefs.length} compliance items
|
|
266
|
-
decision:
|
|
269
|
+
context: `${complianceRefs.length} compliance-related items identified. ${complianceContext ? 'The project specifically requires: ' + complianceContext + '.' : ''}`,
|
|
270
|
+
decision: `Implement immutable audit logging for all state-changing operations. Each service must record who, what, when, and why for every domain action. ${complianceContext.includes('governance') ? 'Include human-in-the-loop approval workflows for high-impact decisions.' : ''}`,
|
|
267
271
|
alternatives: [
|
|
268
|
-
makeAlt('
|
|
269
|
-
makeAlt('
|
|
272
|
+
makeAlt('Immutable audit log per service', 'Complete traceability', false),
|
|
273
|
+
makeAlt('Centralized logging only', 'Gaps in coverage', true),
|
|
270
274
|
],
|
|
271
275
|
consequences: [
|
|
272
|
-
makeCons('
|
|
273
|
-
makeCons('
|
|
276
|
+
makeCons('Full audit trail for compliance and regulatory review', 'positive'),
|
|
277
|
+
makeCons('Storage and query overhead for audit data', 'negative'),
|
|
274
278
|
],
|
|
275
279
|
sparcSectionRefs: [],
|
|
276
280
|
researchDossierItemRefs: complianceRefs,
|
|
@@ -384,33 +388,50 @@ function tryGenerateLLMADRs(sparc, dossier, query, phase2Dir = '') {
|
|
|
384
388
|
const erpPromptContext = techStack.erp
|
|
385
389
|
? `\nERP API DETAILS (use these EXACT paths):\n${formatERPContextForPrompt(techStack.erp)}\n`
|
|
386
390
|
: '';
|
|
387
|
-
const prompt = `You are a senior solution architect writing Architecture Decision Records
|
|
388
|
-
|
|
391
|
+
const prompt = `You are a senior solution architect writing Architecture Decision Records. Read the FULL project requirements below and write ADRs that guide a developer on HOW to build this specific system.\n\n` +
|
|
392
|
+
`## Project Requirements\n\n${query}\n\n` +
|
|
393
|
+
`## Services Identified\n${serviceList}\n` +
|
|
389
394
|
`\nRESEARCH FINDINGS:\n${dossierContext}\n` +
|
|
390
395
|
(agentContext ? agentContext + '\n' : '') +
|
|
391
396
|
`\nDETECTED TECHNOLOGIES: ${techMentions.join(', ') || 'not specified'}\n` +
|
|
392
397
|
erpPromptContext +
|
|
393
|
-
`\nWrite
|
|
394
|
-
`\
|
|
395
|
-
|
|
396
|
-
`
|
|
397
|
-
`
|
|
398
|
-
`
|
|
399
|
-
`
|
|
398
|
+
`\nWrite 8-12 ADRs as a JSON array. Each ADR must be an IMPLEMENTATION DECISION that tells a developer what to build and how.\n` +
|
|
399
|
+
`\nIMPORTANT: ADRs must cover TWO categories:\n` +
|
|
400
|
+
`\nA) DOMAIN-SPECIFIC DECISIONS (at least 5) — these guide implementation of the actual business logic:\n` +
|
|
401
|
+
` - How to model the core domain concepts (e.g., "Model emissions as facility-level time series with BU rollup")\n` +
|
|
402
|
+
` - How to implement the key algorithms/calculations the user described\n` +
|
|
403
|
+
` - How to structure the decision/simulation/optimization logic\n` +
|
|
404
|
+
` - How domain entities relate and what business rules constrain them\n` +
|
|
405
|
+
` - How to handle the specific workflows the user described\n` +
|
|
406
|
+
`\nB) INFRASTRUCTURE DECISIONS (3-5) — technology choices that support the domain:\n` +
|
|
407
|
+
` - Data persistence: which database(s) and why\n` +
|
|
408
|
+
` - ERP integration approach for ${techMentions[0] || 'the ERP system'}\n` +
|
|
409
|
+
` - Deployment and cloud platform specifics\n` +
|
|
410
|
+
` - Security and compliance requirements\n` +
|
|
411
|
+
`\nEach ADR title should describe a SPECIFIC decision, not a category. Example:\n` +
|
|
412
|
+
` GOOD: "Use Monte Carlo simulation for carbon price forecasting with configurable volatility"\n` +
|
|
413
|
+
` BAD: "Performance Architecture"\n` +
|
|
414
|
+
` GOOD: "Model emissions baseline as facility-level time series with business unit rollup"\n` +
|
|
415
|
+
` BAD: "Data persistence strategy"\n` +
|
|
400
416
|
`\nReturn JSON array:\n` +
|
|
401
417
|
`[\n` +
|
|
402
418
|
` {\n` +
|
|
403
|
-
` "title": "
|
|
404
|
-
` "context": "Why this decision matters
|
|
405
|
-
` "decision": "The specific
|
|
419
|
+
` "title": "Specific decision title that tells a developer what to build",\n` +
|
|
420
|
+
` "context": "Why this decision matters — reference the specific business problem from the requirements",\n` +
|
|
421
|
+
` "decision": "The specific approach — include enough detail that a developer can implement it",\n` +
|
|
406
422
|
` "alternatives": [{"option": "Name", "rationale": "Why considered", "rejected": true/false}],\n` +
|
|
407
|
-
` "consequences": [{"description": "Impact", "type": "positive|negative|neutral"}]\n` +
|
|
423
|
+
` "consequences": [{"description": "Impact on the system", "type": "positive|negative|neutral"}]\n` +
|
|
408
424
|
` }\n` +
|
|
409
425
|
`]\n` +
|
|
410
|
-
`\nCRITICAL
|
|
426
|
+
`\nCRITICAL RULES:\n` +
|
|
427
|
+
`- NO generic titles like "Security Architecture", "Performance Architecture", "Service Boundary"\n` +
|
|
428
|
+
`- Every ADR must contain enough implementation detail that a developer can build from it\n` +
|
|
429
|
+
`- The "decision" field should be 2-4 sentences describing the specific approach, not one vague sentence\n` +
|
|
430
|
+
`- Reference actual domain concepts from the requirements (not generic "entities" or "services")\n` +
|
|
431
|
+
`- If the user specified technologies (${techMentions.join(', ')}), reference them in relevant ADRs`;
|
|
411
432
|
const result = runner.invoke(prompt, {
|
|
412
433
|
runId: `adr-llm-${Date.now()}`,
|
|
413
|
-
timeoutMs:
|
|
434
|
+
timeoutMs: 60_000, // 60s — LLM ADRs are much better than fallback templates, worth waiting for
|
|
414
435
|
});
|
|
415
436
|
const data = result.data;
|
|
416
437
|
let rawAdrs;
|
|
@@ -488,7 +509,7 @@ export async function generateADRs(context) {
|
|
|
488
509
|
process.stderr.write(`[adr-generator] Detected ERP: ${techStack.erp.name} (${techStack.erp.slug})\n`);
|
|
489
510
|
}
|
|
490
511
|
const adrs = (query ? tryGenerateLLMADRs(sparc, dossier, query, context.phase2Dir) : null)
|
|
491
|
-
?? buildADRsFromSPARC(sparc, dossier);
|
|
512
|
+
?? buildADRsFromSPARC(sparc, dossier, query);
|
|
492
513
|
const adrDir = path.join(context.phase2Dir, ADR_SUBDIR);
|
|
493
514
|
fs.mkdirSync(adrDir, { recursive: true, mode: DIR_MODE });
|
|
494
515
|
const writtenPaths = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adr-generator.js","sourceRoot":"","sources":["../../../../src/pipeline/phase2/phases/adr-generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adr-generator.js","sourceRoot":"","sources":["../../../../src/pipeline/phase2/phases/adr-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ddd-generator.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/phase2/phases/ddd-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,iBAAiB,EAWlB,MAAM,aAAa,CAAC;AA8SrB;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA4CxD;AAuaD,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9C,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAqBrE;AAyHD,wBAAgB,cAAc,CAC5B,KAAK,EAAE,iBAAiB,EACxB,IAAI,EAAE,eAAe,EAAE,EACvB,OAAO,EAAE,eAAe,EACxB,aAAa,CAAC,EAAE,MAAM,GACrB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"ddd-generator.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/phase2/phases/ddd-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,iBAAiB,EAWlB,MAAM,aAAa,CAAC;AA8SrB;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA4CxD;AAuaD,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9C,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAqBrE;AAyHD,wBAAgB,cAAc,CAC5B,KAAK,EAAE,iBAAiB,EACxB,IAAI,EAAE,eAAe,EAAE,EACvB,OAAO,EAAE,eAAe,EACxB,aAAa,CAAC,EAAE,MAAM,GACrB,iBAAiB,CAuUnB;AA4eD,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,iBAAiB,CAAC,CAuH5B"}
|
|
@@ -1105,8 +1105,21 @@ export function buildPhase2DDD(sparc, adrs, dossier, scenarioQuery) {
|
|
|
1105
1105
|
contextType,
|
|
1106
1106
|
};
|
|
1107
1107
|
});
|
|
1108
|
+
// Filter out infrastructure/integration adapter contexts — these are NOT domain bounded contexts.
|
|
1109
|
+
// They belong in integrations/ or erp/ folders, not as domain contexts that drive code generation.
|
|
1110
|
+
const filteredContexts = contexts.filter(ctx => {
|
|
1111
|
+
const nameLower = ctx.name.toLowerCase();
|
|
1112
|
+
// Skip contexts that are just adapter wrappers for external systems
|
|
1113
|
+
if (nameLower.endsWith('-integration') || nameLower.endsWith('integration'))
|
|
1114
|
+
return false;
|
|
1115
|
+
if (/^(netsuite|oracle|sap|dynamics|workday|bigquery|postgresql|mongodb|redis|google-cloud|aws|azure|cloud|kafka)-?/.test(nameLower))
|
|
1116
|
+
return false;
|
|
1117
|
+
return true;
|
|
1118
|
+
});
|
|
1119
|
+
// Use filtered contexts if we still have enough; otherwise keep originals
|
|
1120
|
+
const finalContexts = filteredContexts.length >= 2 ? filteredContexts : contexts;
|
|
1108
1121
|
// Build context map using domain-semantic relationship inference
|
|
1109
|
-
const contextMap = buildContextMap(
|
|
1122
|
+
const contextMap = buildContextMap(finalContexts, deduplicatedServices, normalizedNameMap);
|
|
1110
1123
|
// Add dossier-derived glossary terms
|
|
1111
1124
|
const dossierTerms = new Set();
|
|
1112
1125
|
for (const item of dossier.items) {
|
|
@@ -1125,7 +1138,7 @@ export function buildPhase2DDD(sparc, adrs, dossier, scenarioQuery) {
|
|
|
1125
1138
|
}
|
|
1126
1139
|
}
|
|
1127
1140
|
return {
|
|
1128
|
-
contexts,
|
|
1141
|
+
contexts: finalContexts,
|
|
1129
1142
|
contextMap,
|
|
1130
1143
|
ubiquitousLanguageGlossary: glossary,
|
|
1131
1144
|
scenarioQuery,
|
|
@@ -1188,7 +1201,7 @@ function enrichDDDWithLLM(model, dossier, query, phase2Dir = '') {
|
|
|
1188
1201
|
`\nCRITICAL: Use domain-specific field names and types for this project. NOT generic "data: Record<string, unknown>" or "payload: any". NOT generic CRUD descriptions.`;
|
|
1189
1202
|
const result = runner.invoke(prompt, {
|
|
1190
1203
|
runId: `ddd-enrich-${Date.now()}`,
|
|
1191
|
-
timeoutMs:
|
|
1204
|
+
timeoutMs: 60_000, // 60s — LLM enrichment produces much better domain models than templates
|
|
1192
1205
|
});
|
|
1193
1206
|
const data = result.data;
|
|
1194
1207
|
// Try to extract contexts from the response.
|
|
@@ -1389,7 +1402,7 @@ function enrichEmptyAggregates(model, dossier, query) {
|
|
|
1389
1402
|
`CRITICAL: Every field must be domain-specific to "${query.slice(0, 60)}". NOT "data: unknown" or "[key: string]: unknown".`;
|
|
1390
1403
|
const result = runner.invoke(prompt, {
|
|
1391
1404
|
runId: `ddd-empty-fields-${Date.now()}`,
|
|
1392
|
-
timeoutMs:
|
|
1405
|
+
timeoutMs: 60_000, // 60s — LLM enrichment produces much better domain models than templates
|
|
1393
1406
|
});
|
|
1394
1407
|
const data = result.data;
|
|
1395
1408
|
let enrichmentContexts;
|
|
@@ -1468,7 +1481,7 @@ function enrichContextMapWithLLM(model, query) {
|
|
|
1468
1481
|
`Do NOT create self-referencing relationships (upstream = downstream).`;
|
|
1469
1482
|
const result = runner.invoke(prompt, {
|
|
1470
1483
|
runId: `ddd-context-map-${Date.now()}`,
|
|
1471
|
-
timeoutMs:
|
|
1484
|
+
timeoutMs: 60_000, // 60s — LLM enrichment produces much better domain models than templates
|
|
1472
1485
|
});
|
|
1473
1486
|
const data = result.data;
|
|
1474
1487
|
let relationships;
|