@llm-dev-ops/agentics-cli 2.7.0 → 2.7.2

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 (64) hide show
  1. package/dist/cli/index.js +30 -0
  2. package/dist/cli/index.js.map +1 -1
  3. package/dist/pipeline/auto-chain.d.ts +196 -2
  4. package/dist/pipeline/auto-chain.d.ts.map +1 -1
  5. package/dist/pipeline/auto-chain.js +1920 -884
  6. package/dist/pipeline/auto-chain.js.map +1 -1
  7. package/dist/pipeline/enterprise/agent-error-capture.d.ts +76 -0
  8. package/dist/pipeline/enterprise/agent-error-capture.d.ts.map +1 -0
  9. package/dist/pipeline/enterprise/agent-error-capture.js +141 -0
  10. package/dist/pipeline/enterprise/agent-error-capture.js.map +1 -0
  11. package/dist/pipeline/enterprise/artifact-renderers.d.ts +30 -0
  12. package/dist/pipeline/enterprise/artifact-renderers.d.ts.map +1 -1
  13. package/dist/pipeline/enterprise/artifact-renderers.js +129 -1
  14. package/dist/pipeline/enterprise/artifact-renderers.js.map +1 -1
  15. package/dist/pipeline/enterprise/pass-executor.d.ts.map +1 -1
  16. package/dist/pipeline/enterprise/pass-executor.js +52 -0
  17. package/dist/pipeline/enterprise/pass-executor.js.map +1 -1
  18. package/dist/pipeline/enterprise/pipeline-orchestrator.d.ts.map +1 -1
  19. package/dist/pipeline/enterprise/pipeline-orchestrator.js +15 -0
  20. package/dist/pipeline/enterprise/pipeline-orchestrator.js.map +1 -1
  21. package/dist/pipeline/enterprise/types.d.ts +21 -0
  22. package/dist/pipeline/enterprise/types.d.ts.map +1 -1
  23. package/dist/pipeline/gate/feature-flags.d.ts +30 -0
  24. package/dist/pipeline/gate/feature-flags.d.ts.map +1 -0
  25. package/dist/pipeline/gate/feature-flags.js +37 -0
  26. package/dist/pipeline/gate/feature-flags.js.map +1 -0
  27. package/dist/pipeline/gate/phase-dependency-gate.d.ts +179 -0
  28. package/dist/pipeline/gate/phase-dependency-gate.d.ts.map +1 -0
  29. package/dist/pipeline/gate/phase-dependency-gate.js +571 -0
  30. package/dist/pipeline/gate/phase-dependency-gate.js.map +1 -0
  31. package/dist/pipeline/local-fallback/phase1-consensus-reader.d.ts +33 -0
  32. package/dist/pipeline/local-fallback/phase1-consensus-reader.d.ts.map +1 -0
  33. package/dist/pipeline/local-fallback/phase1-consensus-reader.js +99 -0
  34. package/dist/pipeline/local-fallback/phase1-consensus-reader.js.map +1 -0
  35. package/dist/pipeline/local-fallback/phase3-local-fallback.d.ts +26 -0
  36. package/dist/pipeline/local-fallback/phase3-local-fallback.d.ts.map +1 -0
  37. package/dist/pipeline/local-fallback/phase3-local-fallback.js +127 -0
  38. package/dist/pipeline/local-fallback/phase3-local-fallback.js.map +1 -0
  39. package/dist/pipeline/local-fallback/phase4-local-fallback.d.ts +21 -0
  40. package/dist/pipeline/local-fallback/phase4-local-fallback.d.ts.map +1 -0
  41. package/dist/pipeline/local-fallback/phase4-local-fallback.js +240 -0
  42. package/dist/pipeline/local-fallback/phase4-local-fallback.js.map +1 -0
  43. package/dist/pipeline/local-fallback/phase5a-local-fallback.d.ts +28 -0
  44. package/dist/pipeline/local-fallback/phase5a-local-fallback.d.ts.map +1 -0
  45. package/dist/pipeline/local-fallback/phase5a-local-fallback.js +166 -0
  46. package/dist/pipeline/local-fallback/phase5a-local-fallback.js.map +1 -0
  47. package/dist/pipeline/phase3-sparc/phase3-sparc-coordinator.d.ts.map +1 -1
  48. package/dist/pipeline/phase3-sparc/phase3-sparc-coordinator.js +280 -40
  49. package/dist/pipeline/phase3-sparc/phase3-sparc-coordinator.js.map +1 -1
  50. package/dist/pipeline/phase4-adrs/phase4-adrs-coordinator.d.ts.map +1 -1
  51. package/dist/pipeline/phase4-adrs/phase4-adrs-coordinator.js +363 -87
  52. package/dist/pipeline/phase4-adrs/phase4-adrs-coordinator.js.map +1 -1
  53. package/dist/pipeline/phases/prompt-generator.d.ts.map +1 -1
  54. package/dist/pipeline/phases/prompt-generator.js +303 -6
  55. package/dist/pipeline/phases/prompt-generator.js.map +1 -1
  56. package/dist/pipeline/ruflo-phase-executor.d.ts +104 -1
  57. package/dist/pipeline/ruflo-phase-executor.d.ts.map +1 -1
  58. package/dist/pipeline/ruflo-phase-executor.js +406 -4
  59. package/dist/pipeline/ruflo-phase-executor.js.map +1 -1
  60. package/dist/pipeline/swarm-orchestrator.d.ts +47 -0
  61. package/dist/pipeline/swarm-orchestrator.d.ts.map +1 -1
  62. package/dist/pipeline/swarm-orchestrator.js +130 -3
  63. package/dist/pipeline/swarm-orchestrator.js.map +1 -1
  64. package/package.json +1 -1
@@ -0,0 +1,166 @@
1
+ /**
2
+ * ADR-PIPELINE-094 Decision 8 — Phase 5a local fallback generator.
3
+ *
4
+ * Produces minimal implementation prompts (`prompts/impl-001-*.md`) and
5
+ * `prompts/execution-plan.json` from Phase-1 simulator consensus when Ruflo
6
+ * is unavailable. Output is sufficient to satisfy ADR-094 Decision 3's
7
+ * Phase 5b hard-block (`phase5a/execution-plan.json` ≥ 50 bytes).
8
+ *
9
+ * The prompt-generator already has its own Phase-1 fallback path
10
+ * (ADR-094 D2). This module exists for the case where the gate's Ruflo
11
+ * invocation hits us before the prompt-generator runs — typically via
12
+ * `runPrimaryPhaseExecution(phase5a-prompts, ...)` on the unavailable path.
13
+ *
14
+ * For consistency with the prompt-generator, output paths and the prompt
15
+ * frontmatter shape match D2's output.
16
+ */
17
+ import * as fs from 'node:fs';
18
+ import * as path from 'node:path';
19
+ import { readPhase1Consensus, extractScenarioQuery } from './phase1-consensus-reader.js';
20
+ /**
21
+ * Run the Phase-5a fallback. Writes:
22
+ * - phase5a/execution-plan.json
23
+ * - prompts/impl-001-phase1-consensus.md
24
+ *
25
+ * If `phase5a/execution-plan.json` already exists (e.g. from the
26
+ * prompt-generator's D2 path), this is a no-op success — we never overwrite
27
+ * a richer execution plan with a fallback one.
28
+ */
29
+ export function runPhase5aLocalFallback(runDir) {
30
+ const filesWritten = [];
31
+ // Skip if the canonical artifacts already exist (the prompt-generator's
32
+ // D2 fallback path may have produced them).
33
+ const existingPlan = path.join(runDir, 'phase5a', 'execution-plan.json');
34
+ if (fs.existsSync(existingPlan) && fs.statSync(existingPlan).size > 50) {
35
+ return {
36
+ success: true,
37
+ filesWritten: [],
38
+ message: 'Phase-5a local fallback: execution-plan.json already present, no-op',
39
+ };
40
+ }
41
+ const consensus = readPhase1Consensus(runDir);
42
+ if (!consensus) {
43
+ return {
44
+ success: false,
45
+ filesWritten: [],
46
+ reason: 'no-phase1-consensus',
47
+ message: 'Phase-5a local fallback: no Phase-1 consensus on disk',
48
+ };
49
+ }
50
+ const query = extractScenarioQuery(consensus) || '';
51
+ try {
52
+ // ── Implementation prompt ─────────────────────────────────────────────
53
+ const promptsDir = path.join(runDir, 'prompts');
54
+ fs.mkdirSync(promptsDir, { recursive: true });
55
+ const promptId = 'impl-001-phase1-consensus';
56
+ const promptBody = buildPhase1FallbackPromptMarkdown(query, consensus.decisionMemo, consensus.scenario, consensus.executiveSummary);
57
+ fs.writeFileSync(path.join(promptsDir, `${promptId}.md`), promptBody, 'utf8');
58
+ filesWritten.push(`prompts/${promptId}.md`);
59
+ // ── Execution plan ────────────────────────────────────────────────────
60
+ const phase5aDir = path.join(runDir, 'phase5a');
61
+ fs.mkdirSync(phase5aDir, { recursive: true });
62
+ const executionPlan = {
63
+ generator: 'local-fallback',
64
+ quality: 'degraded',
65
+ totalSteps: 1,
66
+ estimatedDuration: '5-15 minutes',
67
+ implementations: [{
68
+ id: promptId,
69
+ title: 'Implementation: Phase-1 consensus',
70
+ boundedContext: 'phase1-consensus',
71
+ source: 'phase1-consensus',
72
+ order: 1,
73
+ path: `prompts/${promptId}.md`,
74
+ }],
75
+ };
76
+ const planJson = JSON.stringify(executionPlan, null, 2);
77
+ fs.writeFileSync(path.join(phase5aDir, 'execution-plan.json'), planJson, 'utf8');
78
+ filesWritten.push('phase5a/execution-plan.json');
79
+ // Also mirror execution-plan into prompts/ for legacy consumers.
80
+ fs.writeFileSync(path.join(promptsDir, 'execution-plan.json'), planJson, 'utf8');
81
+ filesWritten.push('prompts/execution-plan.json');
82
+ }
83
+ catch (err) {
84
+ return {
85
+ success: false,
86
+ filesWritten,
87
+ reason: 'write-error',
88
+ message: `Phase-5a local fallback: write failed — ${err.message}`,
89
+ };
90
+ }
91
+ return {
92
+ success: true,
93
+ filesWritten,
94
+ message: `Phase-5a local fallback: wrote ${filesWritten.length} prompt artifacts (degraded)`,
95
+ };
96
+ }
97
+ function buildPhase1FallbackPromptMarkdown(query, decisionMemo, scenario, execSummary) {
98
+ const lines = [];
99
+ lines.push('---');
100
+ lines.push('id: impl-001-phase1-consensus');
101
+ lines.push('title: Phase-1 Consensus Implementation');
102
+ lines.push('order: 1');
103
+ lines.push('degraded_mode: phase1-fallback');
104
+ lines.push(`source: ${[
105
+ decisionMemo ? 'phase1/decision-memo.md' : null,
106
+ scenario ? 'phase1/scenario.json' : null,
107
+ execSummary ? 'phase1/executive-summary.md' : null,
108
+ ].filter(Boolean).join(', ') || 'phase1-consensus'}`);
109
+ lines.push('quality: degraded');
110
+ lines.push('generator: local-fallback');
111
+ lines.push('---');
112
+ lines.push('');
113
+ lines.push('# Implementation: Phase-1 Consensus');
114
+ lines.push('');
115
+ lines.push('> **Generated by local fallback** (ADR-PIPELINE-094 Decision 8). The full SPARC → ADR → DDD chain was unavailable for this run; this prompt was produced directly from Phase-1 simulator consensus. Quality: **degraded**.');
116
+ lines.push('');
117
+ if (query) {
118
+ lines.push('## Brief');
119
+ lines.push('');
120
+ lines.push(query);
121
+ lines.push('');
122
+ }
123
+ if (execSummary) {
124
+ lines.push('## Executive Summary');
125
+ lines.push('');
126
+ lines.push(execSummary.trim());
127
+ lines.push('');
128
+ }
129
+ if (decisionMemo) {
130
+ lines.push('## Decision Memo');
131
+ lines.push('');
132
+ lines.push(decisionMemo.trim());
133
+ lines.push('');
134
+ }
135
+ if (scenario) {
136
+ lines.push('## Scenario');
137
+ lines.push('');
138
+ lines.push('```json');
139
+ lines.push(JSON.stringify(scenario, null, 2));
140
+ lines.push('```');
141
+ lines.push('');
142
+ }
143
+ lines.push('## Implementation Directive');
144
+ lines.push('');
145
+ lines.push('Implement the system described in the Brief, using the Decision Memo and');
146
+ lines.push('Executive Summary above as architectural rationale. Produce a single deployable');
147
+ lines.push('service in the language declared by `phase1/manifest.json` (`project.language`).');
148
+ lines.push('');
149
+ lines.push('Layered structure:');
150
+ lines.push('');
151
+ lines.push('```');
152
+ lines.push('src/');
153
+ lines.push(' index.ts # entry point');
154
+ lines.push(' config.ts # AppConfig + environment loading');
155
+ lines.push(' errors.ts # typed AppError classes');
156
+ lines.push(' analysis.ts # analysis layer (pure functions)');
157
+ lines.push(' decisions.ts # decision layer (pure functions)');
158
+ lines.push(' integration.ts # outbound integration (HTTP/ERP)');
159
+ lines.push('tests/');
160
+ lines.push(' analysis.test.ts');
161
+ lines.push(' decisions.test.ts');
162
+ lines.push('```');
163
+ lines.push('');
164
+ return lines.join('\n');
165
+ }
166
+ //# sourceMappingURL=phase5a-local-fallback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phase5a-local-fallback.js","sourceRoot":"","sources":["../../../src/pipeline/local-fallback/phase5a-local-fallback.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"phase3-sparc-coordinator.d.ts","sourceRoot":"","sources":["../../../src/pipeline/phase3-sparc/phase3-sparc-coordinator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,yBAAyB,EAAoB,MAAM,YAAY,CAAC;AAyNlG,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,yBAAyB,CAAC,CA8QpC"}
1
+ {"version":3,"file":"phase3-sparc-coordinator.d.ts","sourceRoot":"","sources":["../../../src/pipeline/phase3-sparc/phase3-sparc-coordinator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,yBAAyB,EAAoB,MAAM,YAAY,CAAC;AAsgBlG,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,yBAAyB,CAAC,CA2RpC"}
@@ -15,15 +15,69 @@ import { generateSPARCSpecification } from '../phase2/phases/sparc-specification
15
15
  import { generateTDDPlan } from '../phase2/phases/tdd-plan-generator.js';
16
16
  import { createSpan, endSpan, emitSpan, writeSpans } from '../phase2/telemetry.js';
17
17
  import { writePhase3SPARCManifest } from './manifest-writer.js';
18
+ import { checkRufloAvailable } from '../ruflo-phase-executor.js';
19
+ // ============================================================================
20
+ // ADR-091: Ruflo-primary engineering artifacts
21
+ // ============================================================================
22
+ /** Minimum byte size for an engineering/ artifact to be considered usable. */
23
+ const MIN_ENGINEERING_BYTES = 256;
24
+ /**
25
+ * Read an artifact from `runDir/engineering/` (produced by Ruflo swarm per
26
+ * ADR-091). Returns null when the file is missing, unreadable, or below the
27
+ * usable-size threshold. Never throws.
28
+ */
29
+ function readEngineeringArtifact(runDir, filename) {
30
+ const filePath = path.join(runDir, 'engineering', filename);
31
+ try {
32
+ if (!fs.existsSync(filePath))
33
+ return null;
34
+ const content = fs.readFileSync(filePath, 'utf-8');
35
+ const size = Buffer.byteLength(content, 'utf-8');
36
+ if (size < MIN_ENGINEERING_BYTES)
37
+ return null;
38
+ return { content, size };
39
+ }
40
+ catch {
41
+ // ENOENT / EACCES / other — treat as "not usable"
42
+ return null;
43
+ }
44
+ }
45
+ /**
46
+ * Attach an executionTier tag to a stage output without changing its type
47
+ * surface. Consumers that know about ADR-091 read `(output as any).executionTier`;
48
+ * consumers that don't see a normal Phase2StageOutput.
49
+ */
50
+ function tagStageOutput(out, tier) {
51
+ out.executionTier = tier;
52
+ return out;
53
+ }
18
54
  const STAGES = [
19
55
  { id: 'phase2-loading', label: 'Phase 2 Research Loading' },
20
56
  { id: 'sparc-specification', label: 'SPARC Specification' },
21
57
  { id: 'tdd-plan-generation', label: 'London School TDD Plan' },
22
58
  ];
23
- // ============================================================================
24
- // Phase 1 Artifact Loader
25
- // ============================================================================
26
- function loadPhase1ArtifactsFromDisk(runDir) {
59
+ /** Phase 1 required inputs for strict-mode enforcement (Rule 3 coordinator surface change). */
60
+ const PHASE1_STRICT_REQUIRED = ['manifest.json', 'executive-summary.md'];
61
+ function loadPhase1ArtifactsFromDisk(runDir, opts = {}) {
62
+ if (opts.strict) {
63
+ const missing = [];
64
+ for (const rel of PHASE1_STRICT_REQUIRED) {
65
+ const abs = path.join(runDir, rel);
66
+ let ok = false;
67
+ try {
68
+ const stat = fs.statSync(abs);
69
+ ok = stat.isFile() && stat.size > 0;
70
+ }
71
+ catch {
72
+ ok = false;
73
+ }
74
+ if (!ok)
75
+ missing.push(rel);
76
+ }
77
+ if (missing.length > 0) {
78
+ return { ok: false, reason: 'missing-phase1-inputs', missing };
79
+ }
80
+ }
27
81
  const readJSON = (name) => {
28
82
  const filePath = path.join(runDir, name);
29
83
  if (!fs.existsSync(filePath))
@@ -45,6 +99,10 @@ function loadPhase1ArtifactsFromDisk(runDir) {
45
99
  decisionMemo: readText('decision-memo.md'),
46
100
  };
47
101
  }
102
+ /** Type guard: distinguish `Phase1Artifacts` from the strict-mode miss result. */
103
+ function isPhase1LoadMissing(v) {
104
+ return v.ok === false;
105
+ }
48
106
  // ============================================================================
49
107
  // SPARC -> Minimal DDD Adapter
50
108
  // ============================================================================
@@ -124,55 +182,226 @@ function buildMinimalDDDFromSPARC(sparc) {
124
182
  };
125
183
  }
126
184
  // ============================================================================
127
- // Phase 2 SPARC Refinement
185
+ // SPARC Refinement (ADR-091: Ruflo-primary, Phase 2 fallback)
128
186
  // ============================================================================
187
+ /** Required SPARC sections per the ruvnet/sparc methodology. */
188
+ const SPARC_SECTIONS = [
189
+ 'Specification',
190
+ 'Pseudocode',
191
+ 'Architecture',
192
+ 'Refinement',
193
+ 'Completion',
194
+ ];
195
+ /**
196
+ * Split a Ruflo-produced SPARC markdown document into its five canonical
197
+ * sections by scanning top-level `#`/`##` headers. Any section missing from
198
+ * the source is filled with a `_No content provided by Ruflo._` placeholder
199
+ * (never empty — preserves the section-anchor invariant).
200
+ */
201
+ function splitSparcMarkdownIntoSections(markdown) {
202
+ const sections = {};
203
+ for (const s of SPARC_SECTIONS)
204
+ sections[s] = '';
205
+ // Match `#` or `##` headers (optionally with SPARC numbering like "## 1. Specification").
206
+ const headerRe = /^(#{1,3})\s+(?:\d+\.?\s+)?([A-Za-z][A-Za-z\s/-]+?)\s*$/gm;
207
+ const matches = [];
208
+ let m;
209
+ while ((m = headerRe.exec(markdown)) !== null) {
210
+ const rawName = m[2].trim();
211
+ const canonical = SPARC_SECTIONS.find((s) => s.toLowerCase() === rawName.toLowerCase());
212
+ if (canonical) {
213
+ matches.push({ name: canonical, start: m.index, headerEnd: m.index + m[0].length });
214
+ }
215
+ }
216
+ for (let i = 0; i < matches.length; i++) {
217
+ const cur = matches[i];
218
+ const nextStart = i + 1 < matches.length ? matches[i + 1].start : markdown.length;
219
+ const body = markdown.slice(cur.headerEnd, nextStart).trim();
220
+ sections[cur.name] = body;
221
+ }
222
+ // If NO canonical headers were found, treat the whole document as the
223
+ // Specification section — Ruflo's content is still preserved verbatim.
224
+ if (matches.length === 0) {
225
+ sections.Specification = markdown.trim();
226
+ }
227
+ return sections;
228
+ }
229
+ /**
230
+ * Render a refined SPARC markdown document with normalized section structure
231
+ * and section anchors. Ruflo's authored content is preserved verbatim in each
232
+ * section body.
233
+ */
234
+ function renderRefinedSparcMarkdown(sections, traceId) {
235
+ const lines = [];
236
+ lines.push('# SPARC Specification');
237
+ lines.push('');
238
+ lines.push(`**Trace ID:** ${traceId}`);
239
+ lines.push(`**Source:** Ruflo local-swarm (ADR-091)`);
240
+ lines.push('');
241
+ lines.push('## Table of Contents');
242
+ lines.push('');
243
+ for (const s of SPARC_SECTIONS) {
244
+ lines.push(`- [${s}](#${s.toLowerCase()})`);
245
+ }
246
+ lines.push('');
247
+ for (const s of SPARC_SECTIONS) {
248
+ lines.push(`<a id="${s.toLowerCase()}"></a>`);
249
+ lines.push(`## ${s}`);
250
+ lines.push('');
251
+ const body = sections[s]?.trim();
252
+ lines.push(body && body.length > 0 ? body : '_No content provided by Ruflo._');
253
+ lines.push('');
254
+ }
255
+ return lines.join('\n') + '\n';
256
+ }
257
+ /**
258
+ * Build a Phase2SPARCOutput JSON shim from a refined-section bundle. Downstream
259
+ * Phase 4 consumers (ADR generator, DDD generator) expect structured SPARC
260
+ * JSON; we fabricate a minimal shim carrying the markdown content in each
261
+ * phase's narrative field so they have something to cite. Structural arrays
262
+ * (services, modules, requirements) are left empty — Phase 4 coordinator now
263
+ * reads Ruflo's own domain-model.md for that content per ADR-091.
264
+ */
265
+ function buildSparcJsonShim(sections) {
266
+ // Carry Ruflo's markdown into narrative-style fields on the structured shim
267
+ // so downstream consumers that peek at e.g. architecture.dataFlow or
268
+ // completion.integrationPlan still get meaningful text content. Structural
269
+ // arrays (services, modules, requirements) are left empty — Phase 4 reads
270
+ // Ruflo's own domain-model.md for structured content per ADR-091.
271
+ const shim = {
272
+ specification: {
273
+ requirements: [],
274
+ constraints: [],
275
+ successCriteria: [],
276
+ scope: sections.Specification ?? '',
277
+ dossierCoverage: 0,
278
+ },
279
+ pseudocode: {
280
+ modules: [],
281
+ },
282
+ architecture: {
283
+ services: [],
284
+ boundaries: [],
285
+ dataFlow: sections.Architecture ?? '',
286
+ apiContracts: [],
287
+ securityBoundaries: [],
288
+ },
289
+ refinement: {
290
+ securityConsiderations: [],
291
+ performanceTargets: [],
292
+ testStrategy: sections.Refinement ?? '',
293
+ },
294
+ completion: {
295
+ integrationPlan: sections.Completion ?? '',
296
+ documentation: [],
297
+ monitoringSetup: [],
298
+ },
299
+ };
300
+ return shim;
301
+ }
129
302
  /**
130
- * Load Phase 2's SPARC output and refine it via Claude, returning an improved
131
- * version. Falls back to regeneration if Phase 2 output is missing or the
132
- * LLM refinement fails.
303
+ * ADR-091 primary path: refine Ruflo's `engineering/sparc-specification.md`
304
+ * into `phase3Dir/sparc/specification.md` with normalized section structure,
305
+ * anchors, and a JSON shim for downstream Phase 4 consumers. Returns null
306
+ * when Ruflo content is unavailable so the caller can fall back.
133
307
  */
134
- async function refineSPARCFromPhase2(phase2Dir, phase3Dir, phase2Ctx) {
308
+ function refineSPARCFromRufloEngineering(runDir, phase3Dir, traceId) {
309
+ const refineStart = Date.now();
310
+ const rufloOut = readEngineeringArtifact(runDir, 'sparc-specification.md');
311
+ if (!rufloOut)
312
+ return null;
313
+ process.stderr.write(`[phase3-sparc] ADR-091: refining Ruflo engineering/sparc-specification.md ` +
314
+ `(${rufloOut.size} bytes)\n`);
315
+ const sections = splitSparcMarkdownIntoSections(rufloOut.content);
316
+ const refinedMd = renderRefinedSparcMarkdown(sections, traceId);
317
+ const jsonShim = buildSparcJsonShim(sections);
318
+ const sparcDir = path.join(phase3Dir, 'sparc');
319
+ fs.mkdirSync(sparcDir, { recursive: true });
320
+ const writtenPaths = [];
321
+ const specMdPath = path.join(sparcDir, 'specification.md');
322
+ fs.writeFileSync(specMdPath, refinedMd, { encoding: 'utf-8', mode: 0o644 });
323
+ writtenPaths.push(specMdPath);
324
+ const combinedPath = path.join(sparcDir, 'sparc-combined.json');
325
+ fs.writeFileSync(combinedPath, JSON.stringify(jsonShim, null, 2) + '\n', {
326
+ encoding: 'utf-8',
327
+ mode: 0o644,
328
+ });
329
+ writtenPaths.push(combinedPath);
330
+ return tagStageOutput({
331
+ stage: 'sparc-specification',
332
+ status: 'completed',
333
+ data: jsonShim,
334
+ artifacts: writtenPaths,
335
+ timing: Date.now() - refineStart,
336
+ summary: ` SPARC (ruflo-local): refined ${rufloOut.size}B engineering/sparc-specification.md into ${writtenPaths.length} files`,
337
+ }, 'ruflo-local');
338
+ }
339
+ /**
340
+ * Phase 2 carry-forward (fallback): copy the Phase 2 SPARC output directly
341
+ * to Phase 3. Per ADR-091, Phase 2 SPARC is itself Ruflo-produced, so this
342
+ * is still the `ruflo-local` tier. When Phase 2 SPARC is also missing and
343
+ * Ruflo is unavailable, returns a template-tier stub.
344
+ */
345
+ async function carryForwardPhase2SPARC(phase2Dir, phase3Dir, phase2Ctx) {
135
346
  const sparcPath = path.join(phase2Dir, 'sparc', 'sparc-combined.json');
347
+ const refineStart = Date.now();
136
348
  if (!fs.existsSync(sparcPath)) {
137
- process.stderr.write('[phase3-sparc] Phase 2 SPARC not found, regenerating from scratch\n');
138
- return generateSPARCSpecification(phase2Ctx);
349
+ // No Ruflo engineering/, no Phase 2 SPARC.
350
+ // Template last-resort fires only when Ruflo is unavailable (ADR-091 §3).
351
+ const ruflo = checkRufloAvailable();
352
+ if (!ruflo.available) {
353
+ process.stderr.write('[phase3-sparc] ADR-091 template fallback: no engineering/sparc + no phase2 + no ruflo\n');
354
+ return tagStageOutput(await generateSPARCSpecification(phase2Ctx), 'template');
355
+ }
356
+ // Ruflo available but hasn't produced yet — let auto-chain / dependency
357
+ // gate re-invoke Ruflo to fill the gap (ADR-093).
358
+ process.stderr.write('[phase3-sparc] ADR-091: no engineering/sparc-specification.md and no Phase 2 SPARC; ' +
359
+ 'returning failed stage for dependency-gate handling\n');
360
+ return tagStageOutput({
361
+ stage: 'sparc-specification',
362
+ status: 'failed',
363
+ data: { error: 'No Ruflo engineering SPARC artifact and no Phase 2 SPARC carry-forward available' },
364
+ artifacts: [],
365
+ timing: Date.now() - refineStart,
366
+ summary: ' ERROR: No SPARC input (expected runDir/engineering/sparc-specification.md from Ruflo)',
367
+ }, 'ruflo-local');
139
368
  }
140
- const refineStart = Date.now();
141
369
  let phase2Sparc;
142
370
  try {
143
371
  phase2Sparc = JSON.parse(fs.readFileSync(sparcPath, 'utf-8'));
144
372
  }
145
373
  catch {
146
- process.stderr.write('[phase3-sparc] Failed to parse Phase 2 SPARC JSON, regenerating\n');
147
- return generateSPARCSpecification(phase2Ctx);
374
+ process.stderr.write('[phase3-sparc] Failed to parse Phase 2 SPARC JSON — returning failed stage for dependency-gate handling\n');
375
+ return tagStageOutput({
376
+ stage: 'sparc-specification',
377
+ status: 'failed',
378
+ data: { error: 'Phase 2 SPARC JSON is corrupted' },
379
+ artifacts: [],
380
+ timing: Date.now() - refineStart,
381
+ summary: ' ERROR: Phase 2 SPARC JSON could not be parsed',
382
+ }, 'ruflo-local');
148
383
  }
149
- // Phase 2 already spent ~10 min generating SPARC via LLM.
150
- // Refinement would burn another ~10 min for marginal improvement.
151
- // Carry Phase 2 SPARC forward and let Phase 4 (ADR/DDD) add value instead.
152
- {
153
- process.stderr.write('[phase3-sparc] Using Phase 2 SPARC as-is (refinement skipped to save time)\n');
154
- // Copy Phase 2 SPARC files to Phase 3 directory
155
- const phase3SparcDir = path.join(phase3Dir, 'sparc');
156
- fs.mkdirSync(phase3SparcDir, { recursive: true });
157
- const phase2SparcDir = path.join(phase2Dir, 'sparc');
158
- if (fs.existsSync(phase2SparcDir)) {
159
- for (const file of fs.readdirSync(phase2SparcDir)) {
160
- const src = path.join(phase2SparcDir, file);
161
- if (fs.statSync(src).isFile()) {
162
- fs.copyFileSync(src, path.join(phase3SparcDir, file));
163
- }
384
+ process.stderr.write('[phase3-sparc] ADR-091 fallback: carrying Phase 2 SPARC forward (no engineering/sparc-specification.md)\n');
385
+ // Copy Phase 2 SPARC files to Phase 3 directory
386
+ const phase3SparcDir = path.join(phase3Dir, 'sparc');
387
+ fs.mkdirSync(phase3SparcDir, { recursive: true });
388
+ const phase2SparcDir = path.join(phase2Dir, 'sparc');
389
+ if (fs.existsSync(phase2SparcDir)) {
390
+ for (const file of fs.readdirSync(phase2SparcDir)) {
391
+ const src = path.join(phase2SparcDir, file);
392
+ if (fs.statSync(src).isFile()) {
393
+ fs.copyFileSync(src, path.join(phase3SparcDir, file));
164
394
  }
165
395
  }
166
- const timing = Date.now() - refineStart;
167
- return {
168
- stage: 'sparc-specification',
169
- status: 'completed',
170
- data: phase2Sparc,
171
- artifacts: [path.join(phase3SparcDir, 'sparc-combined.json')],
172
- timing,
173
- summary: ` SPARC (carried from Phase 2): ${phase2Sparc.architecture?.services?.length ?? 0} services`,
174
- };
175
396
  }
397
+ return tagStageOutput({
398
+ stage: 'sparc-specification',
399
+ status: 'completed',
400
+ data: phase2Sparc,
401
+ artifacts: [path.join(phase3SparcDir, 'sparc-combined.json')],
402
+ timing: Date.now() - refineStart,
403
+ summary: ` SPARC (carried from Phase 2): ${phase2Sparc.architecture?.services?.length ?? 0} services`,
404
+ }, 'ruflo-local');
176
405
  }
177
406
  // ============================================================================
178
407
  // Pipeline Executor
@@ -203,7 +432,13 @@ export async function executePhase3SPARCPipeline(context) {
203
432
  try {
204
433
  // Derive run directory (parent of phase2Dir)
205
434
  const runDir = path.dirname(context.phase2Dir);
206
- phase1Artifacts = loadPhase1ArtifactsFromDisk(runDir);
435
+ // ADR-PIPELINE-093: default permissive load keeps legacy callers working.
436
+ // Strict-mode gating happens in auto-chain BEFORE this coordinator runs.
437
+ const loaded = loadPhase1ArtifactsFromDisk(runDir);
438
+ if (isPhase1LoadMissing(loaded)) {
439
+ throw new Error(`Phase 1 required inputs missing: ${loaded.missing.join(', ')}`);
440
+ }
441
+ phase1Artifacts = loaded;
207
442
  // Load research dossier from Phase 2
208
443
  const dossierPath = path.join(context.phase2Dir, 'research-dossier.json');
209
444
  if (!fs.existsSync(dossierPath)) {
@@ -282,7 +517,12 @@ export async function executePhase3SPARCPipeline(context) {
282
517
  summary: '',
283
518
  };
284
519
  try {
285
- sparcOutput = await refineSPARCFromPhase2(context.phase2Dir, context.phase3Dir, phase2Ctx);
520
+ // ADR-091 primary path: refine Ruflo's engineering/sparc-specification.md.
521
+ // When Ruflo hasn't produced it (or the file is below the usability
522
+ // threshold), fall back to Phase 2 carry-forward.
523
+ const runDir = path.dirname(context.phase2Dir);
524
+ const rufloRefined = refineSPARCFromRufloEngineering(runDir, context.phase3Dir, context.traceId);
525
+ sparcOutput = rufloRefined ?? (await carryForwardPhase2SPARC(context.phase2Dir, context.phase3Dir, phase2Ctx));
286
526
  }
287
527
  catch (err) {
288
528
  const errMsg = err instanceof Error ? err.message : String(err);
@@ -1 +1 @@
1
- {"version":3,"file":"phase3-sparc-coordinator.js","sourceRoot":"","sources":["../../../src/pipeline/phase3-sparc/phase3-sparc-coordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"phase3-sparc-coordinator.js","sourceRoot":"","sources":["../../../src/pipeline/phase3-sparc/phase3-sparc-coordinator.ts"],"names":[],"mappings":"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"}