@llm-dev-ops/agentics-cli 1.5.27 → 1.5.28
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 +250 -95
- package/dist/pipeline/auto-chain.js.map +1 -1
- package/dist/pipeline/phase6/phases/deployment-finalizer.d.ts.map +1 -1
- package/dist/pipeline/phase6/phases/deployment-finalizer.js +184 -209
- package/dist/pipeline/phase6/phases/deployment-finalizer.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-chain.d.ts","sourceRoot":"","sources":["../../src/pipeline/auto-chain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAWH,OAAO,EAGL,KAAK,aAAa,EAEnB,MAAM,wBAAwB,CAAC;AA+BhC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;CACxC;AAED,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAC1E;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA6MD;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"auto-chain.d.ts","sourceRoot":"","sources":["../../src/pipeline/auto-chain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAWH,OAAO,EAGL,KAAK,aAAa,EAEnB,MAAM,wBAAwB,CAAC;AA+BhC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;CACxC;AAED,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAC1E;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA6MD;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,CAgyB1B;AA6PD;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CA0DzE"}
|
|
@@ -523,109 +523,264 @@ export async function executeAutoChain(traceId, options = {}) {
|
|
|
523
523
|
}
|
|
524
524
|
}
|
|
525
525
|
}
|
|
526
|
-
// ── Phase 4.5: Generate
|
|
527
|
-
//
|
|
528
|
-
//
|
|
526
|
+
// ── Phase 4.5: Generate implementation prompts by reading ADR + DDD files ──
|
|
527
|
+
// Simple approach: gather all ADR/DDD/SPARC files, hand them to ruflo swarm,
|
|
528
|
+
// let the LLM read them and produce coherent implementation prompts.
|
|
529
529
|
{
|
|
530
|
-
const
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
: path.join(runDir, 'phase2', 'ddd', 'domain-model.json');
|
|
537
|
-
const sparcPath = fs.existsSync(path.join(runDir, 'phase3', 'sparc', 'sparc-combined.json'))
|
|
538
|
-
? path.join(runDir, 'phase3', 'sparc', 'sparc-combined.json')
|
|
539
|
-
: path.join(runDir, 'phase2', 'sparc', 'sparc-combined.json');
|
|
540
|
-
// ADR index is required; DDD model and SPARC are optional (prompts can be generated from ADRs alone)
|
|
541
|
-
if (fs.existsSync(adrIndexPath) && fs.existsSync(sparcPath)) {
|
|
542
|
-
try {
|
|
543
|
-
const { executePromptGeneration } = await import('./phases/prompt-generator.js');
|
|
544
|
-
const adrs = JSON.parse(fs.readFileSync(adrIndexPath, 'utf-8'));
|
|
545
|
-
// DDD model is optional — prompt generator handles missing contexts gracefully
|
|
546
|
-
const domainModel = fs.existsSync(dddModelPath)
|
|
547
|
-
? JSON.parse(fs.readFileSync(dddModelPath, 'utf-8'))
|
|
548
|
-
: { contexts: [], contextMap: [], ubiquitousLanguageGlossary: [] };
|
|
549
|
-
const sparc = JSON.parse(fs.readFileSync(sparcPath, 'utf-8'));
|
|
550
|
-
if (!domainModel.contexts?.length) {
|
|
551
|
-
console.error(' [PROMPTS] No DDD bounded contexts found — will derive layers from ADR cross-references');
|
|
552
|
-
}
|
|
553
|
-
// Build a PipelineContext with the stage outputs the prompt generator needs
|
|
554
|
-
const promptContext = {
|
|
555
|
-
executionId: traceId,
|
|
556
|
-
query: scenarioQuery,
|
|
557
|
-
simulationResult: null,
|
|
558
|
-
platformAnalysis: [],
|
|
559
|
-
artifactsDir: runDir,
|
|
560
|
-
mode: 'autonomous',
|
|
561
|
-
stageOutputs: new Map([
|
|
562
|
-
['sparc-development', { stage: 'sparc-development', status: 'completed', data: sparc, artifacts: [], timing: 0, summary: '' }],
|
|
563
|
-
['adr-ddd-generation', { stage: 'adr-ddd-generation', status: 'completed', data: { adrs, domainModel }, artifacts: [], timing: 0, summary: '' }],
|
|
564
|
-
]),
|
|
565
|
-
userFeedback: new Map(),
|
|
566
|
-
};
|
|
567
|
-
const promptResult = await executePromptGeneration(promptContext);
|
|
568
|
-
if (promptResult.status === 'completed') {
|
|
569
|
-
console.error(` [PROMPTS] Generated ${promptResult.artifacts.length} ADR-driven implementation prompts`);
|
|
570
|
-
copyPlanningArtifacts(runDir);
|
|
571
|
-
}
|
|
572
|
-
else {
|
|
573
|
-
console.error(` [PROMPTS] Prompt generation failed: ${promptResult.summary}`);
|
|
574
|
-
}
|
|
575
|
-
}
|
|
576
|
-
catch (err) {
|
|
577
|
-
const errMsg = err instanceof Error ? err.message : String(err);
|
|
578
|
-
if (err instanceof Error && err.stack) {
|
|
579
|
-
console.error(` [PROMPTS] Implementation prompt generation failed: ${errMsg}\n${err.stack.split('\n').slice(1, 4).join('\n')}`);
|
|
580
|
-
}
|
|
581
|
-
else {
|
|
582
|
-
console.error(` [PROMPTS] Implementation prompt generation failed: ${errMsg}`);
|
|
583
|
-
}
|
|
584
|
-
}
|
|
530
|
+
const promptsDir = path.join(runDir, 'prompts');
|
|
531
|
+
// Check if prompts already exist from a prior run
|
|
532
|
+
const promptsExist = fs.existsSync(promptsDir)
|
|
533
|
+
&& fs.readdirSync(promptsDir).some(f => f.startsWith('impl-'));
|
|
534
|
+
if (promptsExist) {
|
|
535
|
+
console.error(' [PROMPTS] Implementation prompts already exist — skipping');
|
|
585
536
|
}
|
|
586
|
-
else
|
|
587
|
-
//
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
537
|
+
else {
|
|
538
|
+
// Gather all ADR and DDD files (prefer phase4, fall back to phase2)
|
|
539
|
+
const adrDir = fs.existsSync(path.join(runDir, 'phase4', 'adrs'))
|
|
540
|
+
? path.join(runDir, 'phase4', 'adrs')
|
|
541
|
+
: fs.existsSync(path.join(runDir, 'phase2', 'adrs'))
|
|
542
|
+
? path.join(runDir, 'phase2', 'adrs')
|
|
543
|
+
: null;
|
|
544
|
+
const dddDir = fs.existsSync(path.join(runDir, 'phase4', 'ddd'))
|
|
545
|
+
? path.join(runDir, 'phase4', 'ddd')
|
|
546
|
+
: fs.existsSync(path.join(runDir, 'phase2', 'ddd'))
|
|
547
|
+
? path.join(runDir, 'phase2', 'ddd')
|
|
548
|
+
: null;
|
|
549
|
+
const sparcDir = fs.existsSync(path.join(runDir, 'phase3', 'sparc'))
|
|
550
|
+
? path.join(runDir, 'phase3', 'sparc')
|
|
551
|
+
: fs.existsSync(path.join(runDir, 'phase2', 'sparc'))
|
|
552
|
+
? path.join(runDir, 'phase2', 'sparc')
|
|
553
|
+
: null;
|
|
554
|
+
if (adrDir) {
|
|
555
|
+
try {
|
|
556
|
+
// Read all ADR markdown files
|
|
557
|
+
const adrFiles = fs.readdirSync(adrDir).filter(f => f.endsWith('.md'));
|
|
558
|
+
const adrContent = adrFiles.map(f => {
|
|
559
|
+
try {
|
|
560
|
+
return `### ${f}\n\n${fs.readFileSync(path.join(adrDir, f), 'utf-8')}`;
|
|
561
|
+
}
|
|
562
|
+
catch {
|
|
563
|
+
return '';
|
|
564
|
+
}
|
|
565
|
+
}).filter(Boolean).join('\n\n---\n\n');
|
|
566
|
+
// Read DDD model files
|
|
567
|
+
let dddContent = '';
|
|
568
|
+
if (dddDir) {
|
|
569
|
+
const dddFiles = fs.readdirSync(dddDir).filter(f => f.endsWith('.md') || f.endsWith('.json'));
|
|
570
|
+
dddContent = dddFiles.map(f => {
|
|
571
|
+
try {
|
|
572
|
+
return `### ${f}\n\n${fs.readFileSync(path.join(dddDir, f), 'utf-8')}`;
|
|
573
|
+
}
|
|
574
|
+
catch {
|
|
575
|
+
return '';
|
|
576
|
+
}
|
|
577
|
+
}).filter(Boolean).join('\n\n---\n\n');
|
|
578
|
+
}
|
|
579
|
+
// Read SPARC specification summary
|
|
580
|
+
let sparcContent = '';
|
|
581
|
+
if (sparcDir) {
|
|
582
|
+
for (const candidate of ['specification.md', 'architecture.md', 'sparc-combined.json']) {
|
|
583
|
+
const p = path.join(sparcDir, candidate);
|
|
584
|
+
if (fs.existsSync(p)) {
|
|
585
|
+
try {
|
|
586
|
+
sparcContent += `### ${candidate}\n\n${fs.readFileSync(p, 'utf-8').slice(0, 5000)}\n\n`;
|
|
587
|
+
}
|
|
588
|
+
catch { /* skip */ }
|
|
589
|
+
}
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
// Build the ruflo swarm task: read the files, write implementation prompts
|
|
593
|
+
fs.mkdirSync(promptsDir, { recursive: true, mode: 0o700 });
|
|
594
|
+
const rufloPromptDir = path.join(runDir, '.ruflo-cache', 'prompts');
|
|
595
|
+
const promptTask = `You are an implementation prompt writer. You have been given the complete Architecture Decision Records (ADRs), Domain-Driven Design (DDD) model, and SPARC specification for this project.
|
|
596
|
+
|
|
597
|
+
Your job: Read ALL of these documents carefully, then write a series of ordered implementation prompts. Each prompt should be a self-contained build step that a developer (or coding agent) can execute to build one piece of the platform.
|
|
598
|
+
|
|
599
|
+
## Project Objective
|
|
600
|
+
|
|
601
|
+
${scenarioQuery}
|
|
602
|
+
|
|
603
|
+
## Architecture Decision Records (ADRs)
|
|
604
|
+
|
|
605
|
+
${adrContent || 'No ADR files found.'}
|
|
606
|
+
|
|
607
|
+
## Domain-Driven Design Model
|
|
608
|
+
|
|
609
|
+
${dddContent || 'No DDD model files found.'}
|
|
610
|
+
|
|
611
|
+
## SPARC Specification
|
|
612
|
+
|
|
613
|
+
${sparcContent || 'No SPARC specification found.'}
|
|
614
|
+
|
|
615
|
+
## Instructions
|
|
616
|
+
|
|
617
|
+
1. Analyze the ADRs and DDDs to understand the platform's bounded contexts, dependencies, and architectural decisions.
|
|
618
|
+
2. Determine the correct build order based on dependencies between bounded contexts (foundation layers first, dependent layers later).
|
|
619
|
+
3. For each build step, write a complete implementation prompt file named impl-NNN-<context-slug>.md where NNN is the order (001, 002, etc.).
|
|
620
|
+
4. Each implementation prompt MUST:
|
|
621
|
+
- Reference the specific ADRs that govern that build step (by ID and title)
|
|
622
|
+
- Include the relevant DDD bounded context details (aggregates, entities, commands, queries, events)
|
|
623
|
+
- Specify what to import from previously built steps
|
|
624
|
+
- Include concrete implementation requirements (not vague instructions)
|
|
625
|
+
- Specify the technology stack decisions from the ADRs
|
|
626
|
+
5. Write an execution-plan.json that lists all prompts in order with their dependencies.
|
|
627
|
+
6. Write ALL files to the current working directory.
|
|
628
|
+
|
|
629
|
+
The prompts must be production-grade — they will be given directly to a coding swarm to implement.`;
|
|
630
|
+
const promptSwarmResult = executeRufloPhaseSwarm({
|
|
631
|
+
phase: 4,
|
|
632
|
+
label: 'Implementation Prompts',
|
|
633
|
+
scenarioQuery,
|
|
634
|
+
runDir,
|
|
635
|
+
traceId,
|
|
636
|
+
outputDir: rufloPromptDir,
|
|
637
|
+
tasks: [{
|
|
638
|
+
label: 'Implementation Prompt Generation',
|
|
639
|
+
description: promptTask,
|
|
640
|
+
targetDir: '.',
|
|
641
|
+
}],
|
|
642
|
+
agenticsResults: [],
|
|
643
|
+
priorArtifacts: collectPhase4Artifacts(runDir),
|
|
644
|
+
timeoutMs: 600_000, // 10 min
|
|
645
|
+
});
|
|
646
|
+
// Copy ruflo output to prompts dir
|
|
647
|
+
if (fs.existsSync(rufloPromptDir)) {
|
|
648
|
+
const rufloFiles = fs.readdirSync(rufloPromptDir);
|
|
649
|
+
let promptsCopied = 0;
|
|
650
|
+
for (const f of rufloFiles) {
|
|
651
|
+
const src = path.join(rufloPromptDir, f);
|
|
652
|
+
if (fs.statSync(src).isFile()) {
|
|
653
|
+
fs.copyFileSync(src, path.join(promptsDir, f));
|
|
654
|
+
promptsCopied++;
|
|
655
|
+
}
|
|
656
|
+
}
|
|
657
|
+
if (promptsCopied > 0) {
|
|
658
|
+
console.error(` [PROMPTS] Ruflo swarm generated ${promptsCopied} implementation prompt files in ${promptSwarmResult.timing}ms`);
|
|
659
|
+
}
|
|
660
|
+
}
|
|
661
|
+
// Check if ruflo produced prompts; if not, write them directly from the gathered content
|
|
662
|
+
const generatedPrompts = fs.existsSync(promptsDir)
|
|
663
|
+
? fs.readdirSync(promptsDir).filter(f => f.startsWith('impl-'))
|
|
664
|
+
: [];
|
|
665
|
+
if (generatedPrompts.length === 0) {
|
|
666
|
+
console.error(' [PROMPTS] Ruflo swarm did not produce prompts — writing directly from ADRs/DDDs');
|
|
667
|
+
// Direct write: read ADR index to get structured data, write one prompt per logical group
|
|
668
|
+
const adrIndexPath = path.join(adrDir, 'adr-index.json');
|
|
669
|
+
let adrs = [];
|
|
670
|
+
if (fs.existsSync(adrIndexPath)) {
|
|
671
|
+
try {
|
|
672
|
+
adrs = JSON.parse(fs.readFileSync(adrIndexPath, 'utf-8'));
|
|
673
|
+
}
|
|
674
|
+
catch { /* empty */ }
|
|
675
|
+
}
|
|
676
|
+
if (!Array.isArray(adrs) || adrs.length === 0) {
|
|
677
|
+
// Parse ADRs from markdown files instead
|
|
678
|
+
for (const f of adrFiles) {
|
|
679
|
+
const content = fs.readFileSync(path.join(adrDir, f), 'utf-8');
|
|
680
|
+
const titleMatch = content.match(/^#\s+(.+)/m);
|
|
681
|
+
adrs.push({
|
|
682
|
+
id: f.replace(/\.md$/, ''),
|
|
683
|
+
title: titleMatch?.[1] ?? f,
|
|
684
|
+
context: content.slice(0, 500),
|
|
685
|
+
decision: '',
|
|
686
|
+
consequences: [],
|
|
687
|
+
alternatives: [],
|
|
688
|
+
});
|
|
689
|
+
}
|
|
690
|
+
}
|
|
691
|
+
// Read DDD contexts for grouping
|
|
692
|
+
let dddContexts = [];
|
|
693
|
+
const dddModelPath = dddDir ? path.join(dddDir, 'domain-model.json') : '';
|
|
694
|
+
if (dddModelPath && fs.existsSync(dddModelPath)) {
|
|
695
|
+
try {
|
|
696
|
+
const model = JSON.parse(fs.readFileSync(dddModelPath, 'utf-8'));
|
|
697
|
+
dddContexts = (model.contexts ?? []).map((c) => ({
|
|
698
|
+
name: String(c['name'] ?? 'unknown'),
|
|
699
|
+
description: String(c['description'] ?? ''),
|
|
700
|
+
}));
|
|
701
|
+
}
|
|
702
|
+
catch { /* empty */ }
|
|
703
|
+
}
|
|
704
|
+
// Write one prompt per bounded context (or per ADR if no contexts)
|
|
705
|
+
const items = dddContexts.length > 0 ? dddContexts : adrs.map(a => ({ name: a.title, description: a.context }));
|
|
706
|
+
const totalSteps = items.length;
|
|
707
|
+
for (let i = 0; i < items.length; i++) {
|
|
708
|
+
const item = items[i];
|
|
709
|
+
const order = i + 1;
|
|
710
|
+
const slug = item.name.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '').slice(0, 50);
|
|
711
|
+
const filename = `impl-${String(order).padStart(3, '0')}-${slug}.md`;
|
|
712
|
+
// Find ADRs related to this context
|
|
713
|
+
const relatedAdrs = adrs.filter(a => {
|
|
714
|
+
const text = `${a.title} ${a.context} ${a.decision}`.toLowerCase();
|
|
715
|
+
const keywords = item.name.toLowerCase().split(/[-_\s]+/).filter(k => k.length > 2);
|
|
716
|
+
return keywords.some(kw => text.includes(kw));
|
|
717
|
+
});
|
|
718
|
+
// If no keyword match, include all ADRs in first prompt
|
|
719
|
+
const adrsForPrompt = relatedAdrs.length > 0 ? relatedAdrs : (i === 0 ? adrs : []);
|
|
720
|
+
const content = [
|
|
721
|
+
`# Build Step ${order} of ${totalSteps}: ${item.name}`,
|
|
722
|
+
'',
|
|
723
|
+
'**The implementation must be production ready, enterprise grade, commercially viable, bug and error free, without compilation errors.**',
|
|
724
|
+
'',
|
|
725
|
+
order > 1
|
|
726
|
+
? `> This step builds on steps 1-${order - 1}. Import from previously built modules.`
|
|
727
|
+
: '> This is the foundation step. Build the core types and interfaces that later steps will import.',
|
|
728
|
+
'',
|
|
729
|
+
'## Project Objective',
|
|
730
|
+
'',
|
|
731
|
+
scenarioQuery,
|
|
732
|
+
'',
|
|
733
|
+
'## Bounded Context: ' + item.name,
|
|
734
|
+
'',
|
|
735
|
+
item.description || 'See ADRs below for context.',
|
|
736
|
+
'',
|
|
737
|
+
];
|
|
738
|
+
if (adrsForPrompt.length > 0) {
|
|
739
|
+
content.push(`## Architecture Decisions (${adrsForPrompt.length} ADRs)`);
|
|
740
|
+
content.push('');
|
|
741
|
+
for (const adr of adrsForPrompt) {
|
|
742
|
+
content.push(`### ${adr.id}: ${adr.title}`);
|
|
743
|
+
content.push('');
|
|
744
|
+
if (adr.context)
|
|
745
|
+
content.push(`**Context:** ${adr.context}`, '');
|
|
746
|
+
if (adr.decision)
|
|
747
|
+
content.push(`**Decision:** ${adr.decision}`, '');
|
|
748
|
+
if (adr.consequences?.length) {
|
|
749
|
+
content.push('**Consequences:**');
|
|
750
|
+
for (const c of adr.consequences)
|
|
751
|
+
content.push(`- ${c}`);
|
|
752
|
+
content.push('');
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
}
|
|
756
|
+
content.push('## Implementation Requirements', '', '- Write clean, modular code following the technology stack specified in the ADRs', '- Include comprehensive unit tests (London School TDD — mock at boundaries)', '- Export public interfaces for downstream consumers', '- Ensure full type safety and compile-time correctness', '');
|
|
757
|
+
fs.writeFileSync(path.join(promptsDir, filename), content.join('\n'), { mode: 0o600, encoding: 'utf-8' });
|
|
758
|
+
}
|
|
759
|
+
// Write execution plan
|
|
760
|
+
const plan = {
|
|
761
|
+
totalSteps,
|
|
762
|
+
prompts: items.map((item, i) => ({
|
|
763
|
+
order: i + 1,
|
|
764
|
+
file: `impl-${String(i + 1).padStart(3, '0')}-${item.name.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '').slice(0, 50)}.md`,
|
|
765
|
+
title: item.name,
|
|
766
|
+
})),
|
|
767
|
+
};
|
|
768
|
+
fs.writeFileSync(path.join(promptsDir, 'execution-plan.json'), JSON.stringify(plan, null, 2), { mode: 0o600, encoding: 'utf-8' });
|
|
769
|
+
console.error(` [PROMPTS] Wrote ${totalSteps} implementation prompts directly from ADRs/DDDs`);
|
|
770
|
+
}
|
|
612
771
|
copyPlanningArtifacts(runDir);
|
|
613
772
|
}
|
|
614
|
-
|
|
615
|
-
|
|
773
|
+
catch (err) {
|
|
774
|
+
const errMsg = err instanceof Error ? err.message : String(err);
|
|
775
|
+
console.error(` [PROMPTS] Implementation prompt generation failed: ${errMsg}`);
|
|
616
776
|
}
|
|
617
777
|
}
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
console.error(`
|
|
778
|
+
else {
|
|
779
|
+
console.error(' [PROMPTS] Skipped — no ADR directory found');
|
|
780
|
+
console.error(` Checked: ${path.join(runDir, 'phase4', 'adrs')} (${fs.existsSync(path.join(runDir, 'phase4', 'adrs')) ? 'exists' : 'MISSING'})`);
|
|
781
|
+
console.error(` Checked: ${path.join(runDir, 'phase2', 'adrs')} (${fs.existsSync(path.join(runDir, 'phase2', 'adrs')) ? 'exists' : 'MISSING'})`);
|
|
621
782
|
}
|
|
622
783
|
}
|
|
623
|
-
else {
|
|
624
|
-
console.error(' [PROMPTS] Skipped — ADR index not available');
|
|
625
|
-
console.error(` Checked: ${adrIndexPath} (${fs.existsSync(adrIndexPath) ? 'exists' : 'MISSING'})`);
|
|
626
|
-
console.error(` Checked: ${dddModelPath} (${fs.existsSync(dddModelPath) ? 'exists' : 'MISSING'})`);
|
|
627
|
-
console.error(` Checked: ${sparcPath} (${fs.existsSync(sparcPath) ? 'exists' : 'MISSING'})`);
|
|
628
|
-
}
|
|
629
784
|
}
|
|
630
785
|
// ── Pre-Phase 5: Detect implementation language from prior artifacts ──
|
|
631
786
|
let detectedLanguage = 'typescript';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-chain.js","sourceRoot":"","sources":["../../src/pipeline/auto-chain.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auto-chain.js","sourceRoot":"","sources":["../../src/pipeline/auto-chain.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployment-finalizer.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/phase6/phases/deployment-finalizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"deployment-finalizer.d.ts","sourceRoot":"","sources":["../../../../src/pipeline/phase6/phases/deployment-finalizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAigBpE;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,aAAa,GAAG,iBAAiB,CA8F5E"}
|
|
@@ -11,6 +11,8 @@
|
|
|
11
11
|
* References infra repo patterns for IAM/networking.
|
|
12
12
|
* References integrations repo for webhook/event patterns.
|
|
13
13
|
*/
|
|
14
|
+
import * as fs from 'node:fs';
|
|
15
|
+
import * as path from 'node:path';
|
|
14
16
|
import { writeFileSync, mkdirSync, existsSync } from 'node:fs';
|
|
15
17
|
import { join } from 'node:path';
|
|
16
18
|
import { createSpan, endSpan, emitSpan } from '../../phase2/telemetry.js';
|
|
@@ -237,224 +239,197 @@ function resolveInfraRepoPath(platformRepoPaths) {
|
|
|
237
239
|
function generateReadme(vars, erpSystem, context) {
|
|
238
240
|
const serviceName = vars.serviceName;
|
|
239
241
|
const serviceNameUpper = serviceName.replace(/-/g, ' ').replace(/\b\w/g, c => c.toUpperCase());
|
|
242
|
+
const scenario = context.scenarioQuery ?? '';
|
|
243
|
+
// ── Load ADRs and DDD model from pipeline artifacts for solution description ──
|
|
244
|
+
const runDir = path.dirname(context.phase6Dir);
|
|
245
|
+
let adrs = [];
|
|
246
|
+
let dddContexts = [];
|
|
247
|
+
// Load ADRs
|
|
248
|
+
for (const candidate of ['phase4/adrs/adr-index.json', 'phase2/adrs/adr-index.json']) {
|
|
249
|
+
const p = path.join(runDir, candidate);
|
|
250
|
+
if (fs.existsSync(p)) {
|
|
251
|
+
try {
|
|
252
|
+
adrs = JSON.parse(fs.readFileSync(p, 'utf-8'));
|
|
253
|
+
break;
|
|
254
|
+
}
|
|
255
|
+
catch { /* skip */ }
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
// Load DDD model
|
|
259
|
+
for (const candidate of ['phase4/ddd/domain-model.json', 'phase2/ddd/domain-model.json']) {
|
|
260
|
+
const p = path.join(runDir, candidate);
|
|
261
|
+
if (fs.existsSync(p)) {
|
|
262
|
+
try {
|
|
263
|
+
const model = JSON.parse(fs.readFileSync(p, 'utf-8'));
|
|
264
|
+
dddContexts = model.contexts ?? [];
|
|
265
|
+
break;
|
|
266
|
+
}
|
|
267
|
+
catch { /* skip */ }
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
// ── Extract a meaningful description from the scenario query ──
|
|
271
|
+
// Take the first ~3 sentences that describe the problem/solution, skip preamble
|
|
272
|
+
const scenarioDescription = extractSolutionDescription(scenario);
|
|
273
|
+
const lines = [];
|
|
274
|
+
// Title and badges
|
|
275
|
+
lines.push(`# ${serviceNameUpper}`, '', ``, `}-orange.svg)`, ``, '');
|
|
276
|
+
// Overview — use the actual scenario context
|
|
277
|
+
lines.push('## Overview', '');
|
|
278
|
+
if (scenarioDescription) {
|
|
279
|
+
lines.push(scenarioDescription, '');
|
|
280
|
+
}
|
|
281
|
+
else {
|
|
282
|
+
lines.push(`**${serviceNameUpper}** — an enterprise service integrating with **${erpSystem}**.`, '');
|
|
283
|
+
}
|
|
284
|
+
lines.push(`This service was generated by the Agentics CLI pipeline using SPARC methodology, domain-driven design, and London School TDD.`, '');
|
|
285
|
+
// Key Architecture Decisions (from actual ADRs)
|
|
286
|
+
if (adrs.length > 0) {
|
|
287
|
+
lines.push('## Key Architecture Decisions', '');
|
|
288
|
+
for (const adr of adrs.slice(0, 10)) {
|
|
289
|
+
lines.push(`- **${adr.title}** — ${adr.decision?.slice(0, 200) ?? adr.context?.slice(0, 200) ?? 'See ADR document'}`);
|
|
290
|
+
}
|
|
291
|
+
lines.push('', `> Full ADR documentation in \`.agentics/plans/adrs/\``, '');
|
|
292
|
+
}
|
|
293
|
+
// Domain Model (from actual DDD bounded contexts)
|
|
294
|
+
if (dddContexts.length > 0) {
|
|
295
|
+
lines.push('## Domain Model', '');
|
|
296
|
+
lines.push(`The system is organized into **${dddContexts.length} bounded contexts**:`, '');
|
|
297
|
+
for (const ctx of dddContexts) {
|
|
298
|
+
const details = [];
|
|
299
|
+
if (ctx.aggregates?.length)
|
|
300
|
+
details.push(`${ctx.aggregates.length} aggregates`);
|
|
301
|
+
if (ctx.commands?.length)
|
|
302
|
+
details.push(`${ctx.commands.length} commands`);
|
|
303
|
+
if (ctx.queries?.length)
|
|
304
|
+
details.push(`${ctx.queries.length} queries`);
|
|
305
|
+
if (ctx.domainEvents?.length)
|
|
306
|
+
details.push(`${ctx.domainEvents.length} events`);
|
|
307
|
+
const detailStr = details.length > 0 ? ` (${details.join(', ')})` : '';
|
|
308
|
+
lines.push(`### ${ctx.name}${detailStr}`, '');
|
|
309
|
+
if (ctx.description)
|
|
310
|
+
lines.push(ctx.description, '');
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
// Project structure
|
|
314
|
+
lines.push('## Project Structure', '', '```', 'src/', '├── contexts/ # Bounded contexts (DDD)');
|
|
315
|
+
if (dddContexts.length > 0) {
|
|
316
|
+
for (const ctx of dddContexts.slice(0, 5)) {
|
|
317
|
+
const slug = ctx.name.toLowerCase().replace(/[^a-z0-9]+/g, '-');
|
|
318
|
+
lines.push(`│ ├── ${slug}/`);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
else {
|
|
322
|
+
lines.push('│ └── <context>/');
|
|
323
|
+
}
|
|
324
|
+
lines.push('├── server/ # HTTP API (Hono.js)', '├── middleware/ # Validation, auth, health', '├── integrations/ # ERP client & event mapping', '└── di/ # Dependency injection', '```', '');
|
|
325
|
+
// Quick Start
|
|
326
|
+
lines.push('## Quick Start', '', '```bash', 'npm install', 'npm run build', 'npm start', '```', '');
|
|
327
|
+
// API Endpoints — only show a summary, not 60 rows of [object Object]
|
|
240
328
|
const registrationStage = context.stageOutputs.get('service-registration');
|
|
241
329
|
const registration = registrationStage?.data;
|
|
242
330
|
const registrationData = registration?.['registration'];
|
|
243
|
-
// Endpoints are objects { method, path, erp_service } — extract properly
|
|
244
331
|
const rawEndpoints = (registrationData?.['endpoints'] ?? []);
|
|
245
332
|
const endpoints = rawEndpoints.map(ep => {
|
|
246
333
|
if (typeof ep === 'string')
|
|
247
334
|
return { method: 'POST', path: ep, erp_service: '' };
|
|
248
335
|
return { method: ep.method ?? 'POST', path: ep.path ?? String(ep), erp_service: ep.erp_service ?? '' };
|
|
249
336
|
});
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
''
|
|
296
|
-
|
|
297
|
-
'
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
'
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
'',
|
|
347
|
-
'---',
|
|
348
|
-
'',
|
|
349
|
-
'## API Endpoints',
|
|
350
|
-
'',
|
|
351
|
-
'| Method | Path | Description |',
|
|
352
|
-
'|--------|------|-------------|',
|
|
353
|
-
'| GET | `/health` | Health check and readiness probe |',
|
|
354
|
-
...(endpoints.length > 0
|
|
355
|
-
? endpoints.map(ep => `| ${ep.method} | \`${ep.path}\` | ${ep.erp_service ? `${ep.erp_service} endpoint` : 'Domain command/query endpoint'} |`)
|
|
356
|
-
: [
|
|
357
|
-
'| POST | `/api/commands/:command` | Execute domain command |',
|
|
358
|
-
'| GET | `/api/queries/:query` | Execute domain query |',
|
|
359
|
-
]),
|
|
360
|
-
'',
|
|
361
|
-
'---',
|
|
362
|
-
'',
|
|
363
|
-
'## ERP Integration',
|
|
364
|
-
'',
|
|
365
|
-
`| Property | Value |`,
|
|
366
|
-
`|----------|-------|`,
|
|
367
|
-
`| ERP System | ${erpSystem} |`,
|
|
368
|
-
`| Auth Scheme | ${vars.erpAuthScheme} |`,
|
|
369
|
-
`| VPC Connector | ${vars.vpcConnector} |`,
|
|
370
|
-
`| Region | ${vars.region} |`,
|
|
371
|
-
'',
|
|
372
|
-
'### Environment Variables',
|
|
373
|
-
'',
|
|
374
|
-
'| Variable | Description | Required |',
|
|
375
|
-
'|----------|-------------|----------|',
|
|
376
|
-
'| `PORT` | Server port (default: 8080) | No |',
|
|
377
|
-
'| `NODE_ENV` | Environment (production/development) | Yes |',
|
|
378
|
-
`| \`ERP_SYSTEM\` | ERP system identifier (${erpSystem}) | Yes |`,
|
|
379
|
-
...vars.erpEnvVars.map(v => `| \`${v}\` | ERP connection variable | Yes |`),
|
|
380
|
-
'',
|
|
381
|
-
'---',
|
|
382
|
-
'',
|
|
383
|
-
'## Deployment',
|
|
384
|
-
'',
|
|
385
|
-
'### Docker',
|
|
386
|
-
'',
|
|
387
|
-
'```bash',
|
|
388
|
-
'docker build -t ' + serviceName + ' .',
|
|
389
|
-
'docker run -p 8080:8080 --env-file .env ' + serviceName,
|
|
390
|
-
'```',
|
|
391
|
-
'',
|
|
392
|
-
'### Kubernetes',
|
|
393
|
-
'',
|
|
394
|
-
'```bash',
|
|
395
|
-
'kubectl apply -f deployment/k8s/',
|
|
396
|
-
'```',
|
|
397
|
-
'',
|
|
398
|
-
'### Cloud Run (GCP)',
|
|
399
|
-
'',
|
|
400
|
-
'```bash',
|
|
401
|
-
'chmod +x deploy/deploy.sh',
|
|
402
|
-
'GCP_PROJECT_ID=your-project ./deploy/deploy.sh',
|
|
403
|
-
'```',
|
|
404
|
-
'',
|
|
405
|
-
'---',
|
|
406
|
-
'',
|
|
407
|
-
'## Testing',
|
|
408
|
-
'',
|
|
409
|
-
'This project uses **Vitest** with London School TDD (mockist) patterns.',
|
|
410
|
-
'',
|
|
411
|
-
'```bash',
|
|
412
|
-
'# Run all tests',
|
|
413
|
-
'npm test',
|
|
414
|
-
'',
|
|
415
|
-
'# Run with coverage',
|
|
416
|
-
'npm run test:coverage',
|
|
417
|
-
'',
|
|
418
|
-
'# Run specific test suite',
|
|
419
|
-
'npx vitest run tests/unit/',
|
|
420
|
-
'```',
|
|
421
|
-
'',
|
|
422
|
-
'### Test Structure',
|
|
423
|
-
'',
|
|
424
|
-
'- `tests/unit/` — Unit tests per bounded context (mock at aggregate boundaries)',
|
|
425
|
-
'- `tests/integration/` — Seam integration tests (adapter contract verification)',
|
|
426
|
-
'- `tests/mocks/` — Shared mock factories',
|
|
427
|
-
'',
|
|
428
|
-
'---',
|
|
429
|
-
'',
|
|
430
|
-
'## Security',
|
|
431
|
-
'',
|
|
432
|
-
'- All inputs validated via Zod schemas at the middleware layer',
|
|
433
|
-
'- Non-root container execution',
|
|
434
|
-
'- VPC-isolated ERP network access',
|
|
435
|
-
'- Secret Manager integration for API keys and credentials',
|
|
436
|
-
'- Health check endpoint excludes sensitive data',
|
|
437
|
-
'',
|
|
438
|
-
'---',
|
|
439
|
-
'',
|
|
440
|
-
'## Generated By',
|
|
441
|
-
'',
|
|
442
|
-
'This project was generated by the **Agentics CLI** enterprise pipeline.',
|
|
443
|
-
'',
|
|
444
|
-
'| Artifact | Source |',
|
|
445
|
-
'|----------|--------|',
|
|
446
|
-
'| Architecture | SPARC Specification (Phase 3) |',
|
|
447
|
-
'| Domain Model | DDD Bounded Contexts (Phase 4) |',
|
|
448
|
-
'| Test Plan | London School TDD (Phase 3) |',
|
|
449
|
-
'| Deployment | ERP Surface Push (Phase 6) |',
|
|
450
|
-
'',
|
|
451
|
-
'> For pipeline documentation, see `.agentics/plans/`',
|
|
452
|
-
'',
|
|
453
|
-
'---',
|
|
454
|
-
'',
|
|
455
|
-
`*Generated on ${new Date().toISOString().split('T')[0]} by [Agentics CLI](https://platform.agentics.dev)*`,
|
|
456
|
-
'',
|
|
457
|
-
].join('\n');
|
|
337
|
+
lines.push('## API Endpoints', '', '| Method | Path | Description |', '|--------|------|-------------|');
|
|
338
|
+
lines.push('| GET | `/health` | Health check and readiness probe |');
|
|
339
|
+
if (endpoints.length > 0 && endpoints.length <= 20) {
|
|
340
|
+
for (const ep of endpoints) {
|
|
341
|
+
lines.push(`| ${ep.method} | \`${ep.path}\` | ${ep.erp_service ? `${ep.erp_service} endpoint` : 'Domain endpoint'} |`);
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
else if (endpoints.length > 20) {
|
|
345
|
+
// Too many endpoints — show summary instead of a wall of rows
|
|
346
|
+
for (const ep of endpoints.slice(0, 10)) {
|
|
347
|
+
lines.push(`| ${ep.method} | \`${ep.path}\` | ${ep.erp_service ? `${ep.erp_service} endpoint` : 'Domain endpoint'} |`);
|
|
348
|
+
}
|
|
349
|
+
lines.push(`| ... | ... | *${endpoints.length - 10} more endpoints — see route definitions* |`);
|
|
350
|
+
}
|
|
351
|
+
else {
|
|
352
|
+
lines.push('| POST | `/api/commands/:command` | Execute domain command |');
|
|
353
|
+
lines.push('| GET | `/api/queries/:query` | Execute domain query |');
|
|
354
|
+
}
|
|
355
|
+
lines.push('');
|
|
356
|
+
// ERP Integration
|
|
357
|
+
lines.push('## ERP Integration', '', `| Property | Value |`, `|----------|-------|`, `| ERP System | ${erpSystem} |`, `| Auth Scheme | ${vars.erpAuthScheme} |`, `| Region | ${vars.region} |`, '');
|
|
358
|
+
// Environment Variables
|
|
359
|
+
lines.push('## Environment Variables', '', '| Variable | Description | Required |', '|----------|-------------|----------|');
|
|
360
|
+
lines.push('| `PORT` | Server port (default: 8080) | No |');
|
|
361
|
+
lines.push('| `NODE_ENV` | Environment (production/development) | Yes |');
|
|
362
|
+
lines.push(`| \`ERP_SYSTEM\` | ERP system identifier (${erpSystem}) | Yes |`);
|
|
363
|
+
for (const v of vars.erpEnvVars) {
|
|
364
|
+
lines.push(`| \`${v}\` | ERP connection variable | Yes |`);
|
|
365
|
+
}
|
|
366
|
+
lines.push('');
|
|
367
|
+
// Deployment
|
|
368
|
+
lines.push('## Deployment', '', '```bash', `docker build -t ${serviceName} .`, `docker run -p 8080:8080 --env-file .env ${serviceName}`, '```', '');
|
|
369
|
+
// Testing
|
|
370
|
+
lines.push('## Testing', '', '```bash', 'npm test # Run all tests', 'npm run test:coverage # With coverage', '```', '');
|
|
371
|
+
// Footer
|
|
372
|
+
lines.push('---', '', `*Generated on ${new Date().toISOString().split('T')[0]} by [Agentics CLI](https://platform.agentics.dev)*`, '', '> Pipeline documentation: `.agentics/plans/`', '');
|
|
373
|
+
return lines.join('\n');
|
|
374
|
+
}
|
|
375
|
+
/**
|
|
376
|
+
* Extract a meaningful solution description from the scenario query.
|
|
377
|
+
* Skips "I lead..." / "We are..." preamble and finds the sentences that
|
|
378
|
+
* describe what the system should actually do.
|
|
379
|
+
*/
|
|
380
|
+
function extractSolutionDescription(scenario) {
|
|
381
|
+
if (!scenario)
|
|
382
|
+
return '';
|
|
383
|
+
const sentences = scenario
|
|
384
|
+
.replace(/\n+/g, ' ')
|
|
385
|
+
.split(/(?<=[.!?])\s+/)
|
|
386
|
+
.filter(s => s.trim().length > 10);
|
|
387
|
+
// Skip sentences that are preamble (first-person context, company description)
|
|
388
|
+
const preamblePatterns = [
|
|
389
|
+
/^I\s+(lead|manage|am|work|run)\b/i,
|
|
390
|
+
/^We\s+(are|have|believe|face|collect|want)\b/i,
|
|
391
|
+
/^Our\s+(finance|company|team|org)/i,
|
|
392
|
+
/^One\s+of\s+the\s+biggest/i,
|
|
393
|
+
/^Today,?\s+these/i,
|
|
394
|
+
/^However,?\s/i,
|
|
395
|
+
/^If\s+viable/i,
|
|
396
|
+
/^If\s+this\s+concept/i,
|
|
397
|
+
/^Because\s+these/i,
|
|
398
|
+
/^Rather\s+than/i,
|
|
399
|
+
/^This\s+should\s+be\s+implemented/i,
|
|
400
|
+
];
|
|
401
|
+
// Find sentences that describe what the system should do
|
|
402
|
+
const systemPatterns = [
|
|
403
|
+
/system\s+should/i,
|
|
404
|
+
/AI\s+could/i,
|
|
405
|
+
/model\s+the/i,
|
|
406
|
+
/simulate/i,
|
|
407
|
+
/quantif/i,
|
|
408
|
+
/recommend/i,
|
|
409
|
+
/evaluat/i,
|
|
410
|
+
/optim/i,
|
|
411
|
+
/prototype\s+that/i,
|
|
412
|
+
/produce\s+structured/i,
|
|
413
|
+
/dynamically/i,
|
|
414
|
+
];
|
|
415
|
+
// Collect good descriptive sentences
|
|
416
|
+
const goodSentences = [];
|
|
417
|
+
for (const s of sentences) {
|
|
418
|
+
const isPreamble = preamblePatterns.some(p => p.test(s.trim()));
|
|
419
|
+
const isSystem = systemPatterns.some(p => p.test(s));
|
|
420
|
+
if (isSystem && !isPreamble) {
|
|
421
|
+
goodSentences.push(s.trim());
|
|
422
|
+
}
|
|
423
|
+
if (goodSentences.length >= 4)
|
|
424
|
+
break;
|
|
425
|
+
}
|
|
426
|
+
// If we found system-describing sentences, use them
|
|
427
|
+
if (goodSentences.length > 0) {
|
|
428
|
+
return goodSentences.join(' ');
|
|
429
|
+
}
|
|
430
|
+
// Fallback: skip first 2 preamble sentences, take next 3
|
|
431
|
+
const nonPreamble = sentences.filter(s => !preamblePatterns.some(p => p.test(s.trim())));
|
|
432
|
+
return nonPreamble.slice(0, 3).join(' ').slice(0, 800);
|
|
458
433
|
}
|
|
459
434
|
// ============================================================================
|
|
460
435
|
// Main: finalizeDeployment
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployment-finalizer.js","sourceRoot":"","sources":["../../../../src/pipeline/phase6/phases/deployment-finalizer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deployment-finalizer.js","sourceRoot":"","sources":["../../../../src/pipeline/phase6/phases/deployment-finalizer.ts"],"names":[],"mappings":"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"}
|