@llm-dev-ops/agentics-cli 2.7.36 → 2.7.37

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 (67) hide show
  1. package/dist/cli/index.js +1 -1
  2. package/dist/cli/index.js.map +1 -1
  3. package/dist/commands/agents.d.ts.map +1 -1
  4. package/dist/commands/agents.js +24 -70
  5. package/dist/commands/agents.js.map +1 -1
  6. package/dist/mcp/agent-event-parser.d.ts +1 -11
  7. package/dist/mcp/agent-event-parser.d.ts.map +1 -1
  8. package/dist/mcp/agent-event-parser.js +7 -153
  9. package/dist/mcp/agent-event-parser.js.map +1 -1
  10. package/dist/mcp/mcp-server.js +0 -58
  11. package/dist/mcp/mcp-server.js.map +1 -1
  12. package/dist/pipeline/auto-chain.d.ts.map +1 -1
  13. package/dist/pipeline/auto-chain.js +27 -169
  14. package/dist/pipeline/auto-chain.js.map +1 -1
  15. package/dist/pipeline/local-fallback/phase5a-local-fallback.d.ts +21 -18
  16. package/dist/pipeline/local-fallback/phase5a-local-fallback.d.ts.map +1 -1
  17. package/dist/pipeline/local-fallback/phase5a-local-fallback.js +92 -397
  18. package/dist/pipeline/local-fallback/phase5a-local-fallback.js.map +1 -1
  19. package/dist/pipeline/phase2/phases/adr-generator.d.ts +29 -1
  20. package/dist/pipeline/phase2/phases/adr-generator.d.ts.map +1 -1
  21. package/dist/pipeline/phase2/phases/adr-generator.js +709 -1399
  22. package/dist/pipeline/phase2/phases/adr-generator.js.map +1 -1
  23. package/dist/pipeline/phase2/phases/ddd-generator.d.ts.map +1 -1
  24. package/dist/pipeline/phase2/phases/ddd-generator.js +7 -42
  25. package/dist/pipeline/phase2/phases/ddd-generator.js.map +1 -1
  26. package/dist/pipeline/phase2/phases/research-dossier.d.ts.map +1 -1
  27. package/dist/pipeline/phase2/phases/research-dossier.js +2 -33
  28. package/dist/pipeline/phase2/phases/research-dossier.js.map +1 -1
  29. package/dist/pipeline/phase2/phases/sparc-specification.d.ts.map +1 -1
  30. package/dist/pipeline/phase2/phases/sparc-specification.js +2 -27
  31. package/dist/pipeline/phase2/phases/sparc-specification.js.map +1 -1
  32. package/dist/pipeline/phase2/types.d.ts +19 -57
  33. package/dist/pipeline/phase2/types.d.ts.map +1 -1
  34. package/dist/pipeline/phase4-adrs/adr-index-extractor.d.ts +75 -0
  35. package/dist/pipeline/phase4-adrs/adr-index-extractor.d.ts.map +1 -0
  36. package/dist/pipeline/phase4-adrs/adr-index-extractor.js +200 -0
  37. package/dist/pipeline/phase4-adrs/adr-index-extractor.js.map +1 -0
  38. package/dist/pipeline/phase4-adrs/phase4-adrs-coordinator.d.ts.map +1 -1
  39. package/dist/pipeline/phase4-adrs/phase4-adrs-coordinator.js +70 -68
  40. package/dist/pipeline/phase4-adrs/phase4-adrs-coordinator.js.map +1 -1
  41. package/dist/pipeline/phases/adr-ddd-generator.d.ts.map +1 -1
  42. package/dist/pipeline/phases/adr-ddd-generator.js +48 -2
  43. package/dist/pipeline/phases/adr-ddd-generator.js.map +1 -1
  44. package/dist/pipeline/phases/prompt-generator.js +191 -80
  45. package/dist/pipeline/phases/prompt-generator.js.map +1 -1
  46. package/dist/pipeline/ruflo-phase-executor.d.ts.map +1 -1
  47. package/dist/pipeline/ruflo-phase-executor.js +69 -17
  48. package/dist/pipeline/ruflo-phase-executor.js.map +1 -1
  49. package/dist/pipeline/types.d.ts +14 -1
  50. package/dist/pipeline/types.d.ts.map +1 -1
  51. package/dist/synthesis/ask-artifact-writer.d.ts +1 -1
  52. package/dist/synthesis/ask-artifact-writer.d.ts.map +1 -1
  53. package/dist/synthesis/ask-artifact-writer.js +9 -9
  54. package/dist/synthesis/ask-artifact-writer.js.map +1 -1
  55. package/dist/synthesis/simulation-artifact-generator.d.ts +1 -27
  56. package/dist/synthesis/simulation-artifact-generator.d.ts.map +1 -1
  57. package/dist/synthesis/simulation-artifact-generator.js +38 -128
  58. package/dist/synthesis/simulation-artifact-generator.js.map +1 -1
  59. package/package.json +1 -1
  60. package/dist/cli/ui/heartbeat.d.ts +0 -88
  61. package/dist/cli/ui/heartbeat.d.ts.map +0 -1
  62. package/dist/cli/ui/heartbeat.js +0 -158
  63. package/dist/cli/ui/heartbeat.js.map +0 -1
  64. package/dist/synthesis/agent-fleet-decomposer.d.ts +0 -124
  65. package/dist/synthesis/agent-fleet-decomposer.d.ts.map +0 -1
  66. package/dist/synthesis/agent-fleet-decomposer.js +0 -696
  67. package/dist/synthesis/agent-fleet-decomposer.js.map +0 -1
@@ -0,0 +1,200 @@
1
+ /**
2
+ * ADR-PIPELINE-100 §D2: thin extractor that walks `phase4/adrs/*.md` and
3
+ * derives a flat `adr-index.json` for downstream consumers.
4
+ *
5
+ * The markdown files are the canonical source of truth (per §D1). This index
6
+ * is intentionally narrow — it captures only the fields downstream consumers
7
+ * navigate by (id, title, status, date, phaseTags, filePath, buildsOn,
8
+ * relatedDecisions). We do NOT try to faithfully serialise the full ADR back
9
+ * into JSON; that's the pattern that produced the 5-field schema this ADR is
10
+ * replacing.
11
+ */
12
+ import * as fs from 'node:fs';
13
+ import * as path from 'node:path';
14
+ /**
15
+ * Public entry point: walk `adrDir` for `*.md` files, extract metadata,
16
+ * write `adr-index.json` alongside them, and return the list of entries.
17
+ *
18
+ * Tolerant of:
19
+ * - missing/unreadable files (skipped with a stderr warning)
20
+ * - malformed headers (best-effort fallback values)
21
+ * - mixed casing in `**Status:**`/`**Date:**` lines
22
+ * - alternative ID formats (ADR-NNN, ADR-P2-NNN, ADR-PIPELINE-NNN, ADR-FAIL-NNN)
23
+ */
24
+ export function extractAdrIndex(adrDir) {
25
+ if (!fs.existsSync(adrDir))
26
+ return [];
27
+ let files;
28
+ try {
29
+ files = fs.readdirSync(adrDir)
30
+ .filter(f => f.toLowerCase().endsWith('.md'))
31
+ .sort();
32
+ }
33
+ catch {
34
+ return [];
35
+ }
36
+ const entries = [];
37
+ for (const file of files) {
38
+ const abs = path.join(adrDir, file);
39
+ let content;
40
+ let stat;
41
+ try {
42
+ stat = fs.statSync(abs);
43
+ if (!stat.isFile())
44
+ continue;
45
+ content = fs.readFileSync(abs, 'utf-8');
46
+ }
47
+ catch (err) {
48
+ process.stderr.write(`[adr-index-extractor] skipping unreadable ${file}: ${err instanceof Error ? err.message : String(err)}\n`);
49
+ continue;
50
+ }
51
+ const meta = parseAdrMetadata(content);
52
+ entries.push({
53
+ id: meta.id || stripExt(file),
54
+ title: meta.title || stripExt(file),
55
+ status: meta.status || 'unknown',
56
+ date: meta.date || '',
57
+ priority: meta.priority,
58
+ buildsOn: meta.buildsOn,
59
+ relatedDecisions: meta.relatedDecisions,
60
+ phaseTags: meta.phaseTags,
61
+ filePath: file,
62
+ byteSize: stat.size,
63
+ });
64
+ }
65
+ return entries;
66
+ }
67
+ /**
68
+ * Convenience: extract the index AND write it to `adrDir/adr-index.json`.
69
+ * Returns the entries it wrote.
70
+ */
71
+ export function writeAdrIndex(adrDir) {
72
+ const entries = extractAdrIndex(adrDir);
73
+ if (entries.length === 0)
74
+ return entries;
75
+ const indexPath = path.join(adrDir, 'adr-index.json');
76
+ try {
77
+ fs.writeFileSync(indexPath, JSON.stringify(entries, null, 2) + '\n', {
78
+ encoding: 'utf-8',
79
+ mode: 0o644,
80
+ });
81
+ }
82
+ catch (err) {
83
+ process.stderr.write(`[adr-index-extractor] failed to write ${indexPath}: ${err instanceof Error ? err.message : String(err)}\n`);
84
+ }
85
+ return entries;
86
+ }
87
+ /**
88
+ * Parse a single ADR markdown document into flat metadata.
89
+ *
90
+ * Heading conventions (matched case-insensitively, tolerant of whitespace):
91
+ * `# ADR-XXX-NNN: <title>` → id, title
92
+ * `**Status:** <value>` → status (lower-cased)
93
+ * `**Date:** <value>` → date
94
+ * `**Priority:** <value>` → priority (optional)
95
+ * `**Builds on:** ADR-X, ADR-Y, ...` → buildsOn (extract ADR IDs)
96
+ * `**Implementation Phase:** <tag>` → phaseTags (split on `,` `/` `|`)
97
+ * `## Related Decisions` + bulleted → relatedDecisions (extract ADR IDs)
98
+ */
99
+ export function parseAdrMetadata(content) {
100
+ const meta = {
101
+ id: '',
102
+ title: '',
103
+ status: '',
104
+ date: '',
105
+ buildsOn: [],
106
+ relatedDecisions: [],
107
+ phaseTags: [],
108
+ };
109
+ // H1: `# ADR-...: <title>` or just `# <title>` if the LLM forgot the ID
110
+ // prefix. Case-insensitive on the ADR prefix so lowercase IDs (rare but
111
+ // possible in user-pasted ADRs) still parse.
112
+ const h1Re = /^#\s+(ADR[-\w]*\d+)[:\s]+(.+?)\s*$/im;
113
+ const h1 = content.match(h1Re);
114
+ if (h1) {
115
+ meta.id = h1[1].trim();
116
+ meta.title = h1[2].trim();
117
+ }
118
+ else {
119
+ const anyH1 = content.match(/^#\s+(.+?)\s*$/m);
120
+ if (anyH1) {
121
+ const text = anyH1[1].trim();
122
+ const idMatch = text.match(/^(ADR[-\w]*\d+)[:\s]+(.+)$/i);
123
+ if (idMatch) {
124
+ meta.id = idMatch[1].trim();
125
+ meta.title = idMatch[2].trim();
126
+ }
127
+ else {
128
+ meta.title = text;
129
+ }
130
+ }
131
+ }
132
+ meta.status = pickFieldLine(content, 'Status').toLowerCase();
133
+ meta.date = pickFieldLine(content, 'Date');
134
+ const priority = pickFieldLine(content, 'Priority');
135
+ if (priority)
136
+ meta.priority = priority;
137
+ const buildsOnLine = pickFieldLine(content, 'Builds on');
138
+ if (buildsOnLine) {
139
+ meta.buildsOn = extractAdrIdsFromText(buildsOnLine);
140
+ }
141
+ const phaseLine = pickFieldLine(content, 'Implementation Phase');
142
+ if (phaseLine) {
143
+ meta.phaseTags = phaseLine
144
+ .split(/[,/|]+/)
145
+ .map(s => s.trim().toLowerCase())
146
+ .filter(s => s.length > 0);
147
+ }
148
+ // Related Decisions section
149
+ const relatedSection = pickSection(content, /^##\s+related\s+decisions\b/im);
150
+ if (relatedSection) {
151
+ meta.relatedDecisions = extractAdrIdsFromText(relatedSection);
152
+ }
153
+ return meta;
154
+ }
155
+ /**
156
+ * Match a `**FieldName:** value` line and return the trimmed value.
157
+ * Case-insensitive on the field name; preserves the value's case.
158
+ */
159
+ function pickFieldLine(content, fieldName) {
160
+ const escaped = fieldName.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
161
+ const re = new RegExp(`^\\*\\*${escaped}:\\*\\*\\s*(.+?)\\s*$`, 'im');
162
+ const m = content.match(re);
163
+ return m ? m[1].trim() : '';
164
+ }
165
+ /**
166
+ * Extract the body text under a heading (matched by `headingRe`) up to the
167
+ * next H1/H2, or end of document. Returns the trimmed body or empty string
168
+ * when the heading is absent.
169
+ */
170
+ function pickSection(content, headingRe) {
171
+ const m = headingRe.exec(content);
172
+ if (!m)
173
+ return '';
174
+ const start = m.index + m[0].length;
175
+ const after = content.slice(start);
176
+ const nextHeading = /^(?:#{1,2})\s+/m.exec(after);
177
+ return (nextHeading ? after.slice(0, nextHeading.index) : after).trim();
178
+ }
179
+ /**
180
+ * Extract ADR IDs (e.g. ADR-PIPELINE-100, ADR-027, ADR-P2-005, ADR-FAIL-001)
181
+ * from a free-text blob. De-duplicates while preserving first-seen order.
182
+ */
183
+ export function extractAdrIdsFromText(text) {
184
+ const re = /\bADR[-\w]*\d+\b/gi;
185
+ const seen = new Set();
186
+ const out = [];
187
+ let m;
188
+ while ((m = re.exec(text)) !== null) {
189
+ const id = m[0];
190
+ if (!seen.has(id)) {
191
+ seen.add(id);
192
+ out.push(id);
193
+ }
194
+ }
195
+ return out;
196
+ }
197
+ function stripExt(filename) {
198
+ return filename.replace(/\.md$/i, '');
199
+ }
200
+ //# sourceMappingURL=adr-index-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adr-index-extractor.js","sourceRoot":"","sources":["../../../src/pipeline/phase4-adrs/adr-index-extractor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AA8BlC;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IAEtC,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC;aAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aAC5C,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAoB,EAAE,CAAC;IAEpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACpC,IAAI,OAAe,CAAC;QACpB,IAAI,IAAc,CAAC;QACnB,IAAI,CAAC;YACH,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAAE,SAAS;YAC7B,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,IAAI,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACjI,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC;YAC7B,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC;YACnC,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,SAAS;YAChC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,IAAI,CAAC,IAAI;SACpB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IAEzC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACtD,IAAI,CAAC;QACH,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE;YACnE,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,SAAS,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpI,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAiBD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,MAAM,IAAI,GAAgB;QACxB,EAAE,EAAE,EAAE;QACN,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,EAAE;QACZ,gBAAgB,EAAE,EAAE;QACpB,SAAS,EAAE,EAAE;KACd,CAAC;IAEF,wEAAwE;IACxE,wEAAwE;IACxE,6CAA6C;IAC7C,MAAM,IAAI,GAAG,sCAAsC,CAAC;IACpD,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,EAAE,EAAE,CAAC;QACP,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC/C,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC1D,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;gBAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7D,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACpD,IAAI,QAAQ;QAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAEvC,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACzD,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;IACjE,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC,SAAS,GAAG,SAAS;aACvB,KAAK,CAAC,QAAQ,CAAC;aACf,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;aAChC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,4BAA4B;IAC5B,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,EAAE,+BAA+B,CAAC,CAAC;IAC7E,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC,gBAAgB,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,OAAe,EAAE,SAAiB;IACvD,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IACjE,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,UAAU,OAAO,uBAAuB,EAAE,IAAI,CAAC,CAAC;IACtE,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,OAAe,EAAE,SAAiB;IACrD,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAClB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACpC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,MAAM,EAAE,GAAG,oBAAoB,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACpC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACb,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,QAAQ,CAAC,QAAgB;IAChC,OAAO,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"phase4-adrs-coordinator.d.ts","sourceRoot":"","sources":["../../../src/pipeline/phase4-adrs/phase4-adrs-coordinator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAkB,MAAM,YAAY,CAAC;AAwd5F;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,uBAAuB,CAAC,CAmZlC"}
1
+ {"version":3,"file":"phase4-adrs-coordinator.d.ts","sourceRoot":"","sources":["../../../src/pipeline/phase4-adrs/phase4-adrs-coordinator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAkB,MAAM,YAAY,CAAC;AAyd5F;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,uBAAuB,CAAC,CAuZlC"}
@@ -12,10 +12,11 @@
12
12
  */
13
13
  import * as fs from 'node:fs';
14
14
  import * as path from 'node:path';
15
- import { buildPhase2ADRs } from '../phase2/phases/adr-generator.js';
15
+ import { buildLoudFailureADR } from '../phase2/phases/adr-generator.js';
16
16
  import { createSpan, endSpan, emitSpan, writeSpans } from '../phase2/telemetry.js';
17
17
  import { writePhase4ADRManifest } from './manifest-writer.js';
18
18
  import { checkRufloAvailable } from '../ruflo-phase-executor.js';
19
+ import { writeAdrIndex } from './adr-index-extractor.js';
19
20
  // ============================================================================
20
21
  // ADR-091: Ruflo-primary engineering artifacts
21
22
  // ============================================================================
@@ -243,8 +244,22 @@ function refineADRsFromRufloEngineering(runDir, phase4Dir) {
243
244
  const adrDir = path.join(phase4Dir, 'adrs');
244
245
  fs.mkdirSync(adrDir, { recursive: true });
245
246
  const writtenPaths = [];
246
- // Build Phase2ADRRecord-shaped objects for the index JSON so downstream
247
- // readers (consensus, exec-summary) see a familiar shape.
247
+ for (const adr of parsed) {
248
+ const filename = `${adr.id}.md`;
249
+ const filePath = path.join(adrDir, filename);
250
+ fs.writeFileSync(filePath, renderRefinedAdrMarkdown(adr), {
251
+ encoding: 'utf-8',
252
+ mode: 0o644,
253
+ });
254
+ writtenPaths.push(filePath);
255
+ }
256
+ // ADR-PIPELINE-100 §D2: derive the flat adr-index.json from the markdown
257
+ // files we just wrote. The markdown is canonical; the index is navigational.
258
+ writeAdrIndex(adrDir);
259
+ writtenPaths.push(path.join(adrDir, 'adr-index.json'));
260
+ // Phase4-internal data shape kept Phase2ADRRecord-compatible so consensus /
261
+ // exec-summary readers that haven't been migrated yet still work. The
262
+ // canonical artifacts on disk are the .md files + the flat index.
248
263
  const indexRecords = parsed.map((adr) => ({
249
264
  id: adr.id,
250
265
  title: adr.title,
@@ -256,22 +271,8 @@ function refineADRsFromRufloEngineering(runDir, phase4Dir) {
256
271
  consequences: [],
257
272
  sparcSectionRefs: [],
258
273
  researchDossierItemRefs: [],
274
+ rawMarkdown: adr.rawMarkdown,
259
275
  }));
260
- for (const adr of parsed) {
261
- const filename = `${adr.id}.md`;
262
- const filePath = path.join(adrDir, filename);
263
- fs.writeFileSync(filePath, renderRefinedAdrMarkdown(adr), {
264
- encoding: 'utf-8',
265
- mode: 0o644,
266
- });
267
- writtenPaths.push(filePath);
268
- }
269
- const indexPath = path.join(adrDir, 'adr-index.json');
270
- fs.writeFileSync(indexPath, JSON.stringify(indexRecords, null, 2) + '\n', {
271
- encoding: 'utf-8',
272
- mode: 0o644,
273
- });
274
- writtenPaths.push(indexPath);
275
276
  return tagStageOutput({
276
277
  stage: 'adr-generation',
277
278
  status: 'completed',
@@ -521,60 +522,61 @@ export async function executePhase4ADRPipeline(context) {
521
522
  timing: 0,
522
523
  summary: '',
523
524
  };
524
- // Last-resort template fallback (ADR-091 §3): fires ONLY when both
525
- // (a) Ruflo engineering/architecture-decisions.md is missing/empty, AND
526
- // (b) checkRufloAvailable() reports no local Ruflo swarm capability.
527
- // Under normal operation (Ruflo available), this branch never executes.
528
- const adrRufloAvailable = checkRufloAvailable().available;
529
- if ((adrOutput.status === 'failed' || adrOutput.artifacts.length === 0) &&
530
- !adrRufloAvailable) {
531
- process.stderr.write('[phase4-adrs] ADR-091 template fallback: no engineering/architecture-decisions.md ' +
532
- 'AND ruflo unavailable — generating ADRs from SPARC template\n');
525
+ // ADR-PIPELINE-100 §D5: Loud-failure replaces silent template fallback.
526
+ // Fires when the Ruflo primary path produced no usable
527
+ // engineering/architecture-decisions.md (regardless of whether Ruflo is
528
+ // "available" as a binary). The previous behavior (call buildADRsFromSPARC
529
+ // when Ruflo was reported unavailable) emitted template-substituted ADRs
530
+ // that the user has classified as canned garbage. Loud failure surfaces
531
+ // the regression at the artifact level instead.
532
+ if (adrOutput.status === 'failed' || adrOutput.artifacts.length === 0) {
533
+ const rufloAvailable = checkRufloAvailable().available;
534
+ process.stderr.write(`[phase4-adrs] ADR-PIPELINE-100 §D5: emitting loud-failure ADR ` +
535
+ `(ruflo ${rufloAvailable ? 'available but' : 'unavailable;'} produced no usable architecture-decisions.md)\n`);
533
536
  try {
534
- const sparcStage = context.stageOutputs.get('sparc-specification');
535
537
  const dossierStage = context.stageOutputs.get('research-dossier');
536
- const sparc = sparcStage?.data;
538
+ const sparcStage = context.stageOutputs.get('sparc-specification');
537
539
  const dossier = dossierStage?.data;
538
- if (sparc && dossier) {
539
- // Pass the original query so ADR generation can produce domain-specific decisions
540
- const query = phase1Artifacts?.scenario?.query ?? phase1Artifacts?.manifest?.query ?? '';
541
- const adrs = buildPhase2ADRs(sparc, dossier, query, true /* skipLLM — template fallback */);
542
- // Write ADR files to phase4 output directory
543
- const adrDir = path.join(context.phase4Dir, 'adrs');
544
- fs.mkdirSync(adrDir, { recursive: true });
545
- const writtenPaths = [];
546
- for (const adr of adrs) {
547
- const slug = (adr.title || 'untitled').toLowerCase().replace(/[^a-z0-9]+/g, '-').slice(0, 60);
548
- const filename = `${adr.id}-${slug}.md`;
549
- const filePath = path.join(adrDir, filename);
550
- const md = [
551
- `# ${adr.id}: ${adr.title}`,
552
- `\n**Status:** ${adr.status}`,
553
- `**Date:** ${adr.date}`,
554
- `\n## Context\n${adr.context}`,
555
- `\n## Decision\n${adr.decision}`,
556
- adr.alternatives.length > 0 ? `\n## Alternatives Considered\n${adr.alternatives.map(a => `- **${a.option}** ${a.rejected ? '(rejected)' : '(selected)'}: ${a.rationale}`).join('\n')}` : '',
557
- adr.consequences.length > 0 ? `\n## Consequences\n${adr.consequences.map(c => `- [${c.type === 'positive' ? '+' : c.type === 'negative' ? '-' : '~'}] ${c.description}`).join('\n')}` : '',
558
- ].filter(Boolean).join('\n');
559
- fs.writeFileSync(filePath, md + '\n', { encoding: 'utf-8', mode: 0o644 });
560
- writtenPaths.push(filePath);
561
- }
562
- const indexPath = path.join(adrDir, 'adr-index.json');
563
- fs.writeFileSync(indexPath, JSON.stringify(adrs, null, 2) + '\n', { encoding: 'utf-8', mode: 0o644 });
564
- writtenPaths.push(indexPath);
565
- process.stderr.write(`[phase4-adrs] Template fallback produced ${adrs.length} ADRs (${writtenPaths.length} files)\n`);
566
- adrOutput = tagStageOutput({
567
- stage: 'adr-generation',
568
- status: 'completed',
569
- data: adrs,
570
- artifacts: writtenPaths,
571
- timing: 0,
572
- summary: ` ADRs (template): ${adrs.length} decisions (${writtenPaths.length - 1} markdown + 1 JSON index)`,
573
- }, 'template');
574
- }
540
+ const sparc = sparcStage?.data;
541
+ const failureAdr = buildLoudFailureADR({
542
+ reason: 'Ruflo writer-agent path produced no usable engineering/architecture-decisions.md and Phase 2 LLM pass also did not yield content for refinement.',
543
+ rufloFailureReason: rufloAvailable
544
+ ? 'Ruflo available but emitted no usable architecture-decisions.md (writer task likely produced 0 files; see Ruflo logs)'
545
+ : 'Ruflo binary unavailable in this execution context (checkRufloAvailable() returned available=false)',
546
+ claudeFailureReason: 'Phase 2 generateADRs did not surface markdown ADRs into engineering/architecture-decisions.md before phase4-adrs ran',
547
+ phase1Status: 'present',
548
+ dossierItemCount: dossier?.items.length ?? 0,
549
+ sparcStatus: (sparc?.architecture?.services?.length ?? 0) > 0 ? 'present' : 'missing-services',
550
+ query: phase1Artifacts?.scenario?.query ?? phase1Artifacts?.manifest?.query ?? '',
551
+ });
552
+ const adrDir = path.join(context.phase4Dir, 'adrs');
553
+ fs.mkdirSync(adrDir, { recursive: true });
554
+ const writtenPaths = [];
555
+ const failureFilePath = path.join(adrDir, `${failureAdr.id}.md`);
556
+ fs.writeFileSync(failureFilePath, failureAdr.rawMarkdown ?? '', {
557
+ encoding: 'utf-8',
558
+ mode: 0o644,
559
+ });
560
+ writtenPaths.push(failureFilePath);
561
+ // ADR-PIPELINE-100 §D2: derive the index from the markdown file we just
562
+ // wrote so the loud-failure ADR appears in the index too.
563
+ writeAdrIndex(adrDir);
564
+ writtenPaths.push(path.join(adrDir, 'adr-index.json'));
565
+ process.stderr.write(`[phase4-adrs] Loud-failure ADR written to ${path.relative(context.phase4Dir, failureFilePath)}\n`);
566
+ adrOutput = tagStageOutput({
567
+ stage: 'adr-generation',
568
+ // Status remains 'failed' so downstream gates can distinguish a
569
+ // real-success path from a loud-failure path. The stage still emits
570
+ // artifacts (the failure ADR + index).
571
+ status: 'failed',
572
+ data: [failureAdr],
573
+ artifacts: writtenPaths,
574
+ timing: 0,
575
+ summary: ` ADRs (loud-failure): 1 failure ADR written (ADR-PIPELINE-100 §D5; ${writtenPaths.length - 1} markdown + 1 JSON index)`,
576
+ }, 'template');
575
577
  }
576
- catch (fallbackErr) {
577
- process.stderr.write(`[phase4-adrs] Template fallback also failed: ${fallbackErr instanceof Error ? fallbackErr.message : String(fallbackErr)}\n`);
578
+ catch (failureErr) {
579
+ process.stderr.write(`[phase4-adrs] Failed to emit loud-failure ADR: ${failureErr instanceof Error ? failureErr.message : String(failureErr)}\n`);
578
580
  }
579
581
  }
580
582
  const finalAdrSpan = endSpan(adrSpan, adrOutput.status === 'completed' ? 'ok' : 'error', {
@@ -1 +1 @@
1
- {"version":3,"file":"phase4-adrs-coordinator.js","sourceRoot":"","sources":["../../../src/pipeline/phase4-adrs/phase4-adrs-coordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"phase4-adrs-coordinator.js","sourceRoot":"","sources":["../../../src/pipeline/phase4-adrs/phase4-adrs-coordinator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"adr-ddd-generator.d.ts","sourceRoot":"","sources":["../../../src/pipeline/phases/adr-ddd-generator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EAKZ,MAAM,aAAa,CAAC;AAErB,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,WAAW,CAAC,CAyEtB"}
1
+ {"version":3,"file":"adr-ddd-generator.d.ts","sourceRoot":"","sources":["../../../src/pipeline/phases/adr-ddd-generator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EAKZ,MAAM,aAAa,CAAC;AAErB,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,WAAW,CAAC,CAsFtB"}
@@ -30,11 +30,24 @@ export async function executeADRDDDGeneration(context) {
30
30
  const adrDir = path.join(context.artifactsDir, 'adrs');
31
31
  fs.mkdirSync(adrDir, { recursive: true, mode: 0o700 });
32
32
  const adrs = generateADRs(sparc, context.query, feedback);
33
- for (const adr of adrs) {
33
+ // ADR-PIPELINE-100 §D4: stamp filePath + inferred phaseTags onto each ADR
34
+ // so the prompt-generator can reference them by path. The records on
35
+ // disk are canonical; the in-memory ADRRecord just carries the navigation
36
+ // metadata for downstream consumers.
37
+ for (let i = 0; i < adrs.length; i++) {
38
+ const adr = adrs[i];
34
39
  const filename = `${adr.id}-${slugify(adr.title)}.md`;
40
+ const filePath = `adrs/${filename}`;
35
41
  const content = renderADRMarkdown(adr);
36
42
  fs.writeFileSync(path.join(adrDir, filename), content, { mode: 0o600, encoding: 'utf-8' });
37
- artifacts.push(`adrs/${filename}`);
43
+ artifacts.push(filePath);
44
+ adrs[i] = {
45
+ ...adr,
46
+ filePath,
47
+ phaseTags: adr.phaseTags && adr.phaseTags.length > 0
48
+ ? adr.phaseTags
49
+ : inferAdrPhaseTags(adr),
50
+ };
38
51
  console.error(` [ADR] ${adr.id}: ${adr.title}`);
39
52
  }
40
53
  console.error('');
@@ -307,4 +320,37 @@ function pascalCase(text) {
307
320
  .map(w => (w[0]?.toUpperCase() ?? '') + w.slice(1))
308
321
  .join('');
309
322
  }
323
+ /**
324
+ * ADR-PIPELINE-100 §D4: infer build-phase tags from ADR title/content when
325
+ * no explicit `**Implementation Phase:**` field is present. Heuristic:
326
+ * - title contains "schema|migration|data model|domain|aggregate|entity" → 'domain'
327
+ * - title contains "api|rest|graphql|http|endpoint" → 'api'
328
+ * - title contains "deploy|docker|ci/cd|infrastructure|kubernetes" → 'deployment'
329
+ * - title contains "log|metric|monitor|observ|trace" → 'operations'
330
+ * - title contains "auth|security|encrypt|audit|compliance|governance" → 'cross-cutting'
331
+ * - title contains "scaffold|workspace|repo structure|init|config|cargo|package.json" → 'foundation'
332
+ * - title contains "integrat|adapter|connector|sync|webhook|erp|servicenow|sap|workday" → 'integration'
333
+ * - default → 'cross-cutting' (over-inclusion is preferable to under-inclusion)
334
+ */
335
+ function inferAdrPhaseTags(adr) {
336
+ const haystack = `${adr.title} ${adr.context}`.toLowerCase();
337
+ const tags = [];
338
+ if (/\b(schema|migration|data\s*model|domain|aggregate|entity|invariant|value object)\b/i.test(haystack))
339
+ tags.push('domain');
340
+ if (/\b(api|rest|graphql|grpc|http|endpoint|route|controller)\b/i.test(haystack))
341
+ tags.push('api');
342
+ if (/\b(deploy|docker|kubernetes|k8s|ci\/?cd|pipeline|infrastructure|terraform)\b/i.test(haystack))
343
+ tags.push('deployment');
344
+ if (/\b(log|metric|monitor|observ|trace|telemetry|alert)\b/i.test(haystack))
345
+ tags.push('operations');
346
+ if (/\b(auth|security|encrypt|audit|compliance|governance|approval|hitl|rbac)\b/i.test(haystack))
347
+ tags.push('cross-cutting');
348
+ if (/\b(scaffold|workspace|repo structure|cargo\.toml|package\.json|tsconfig|init)\b/i.test(haystack))
349
+ tags.push('foundation');
350
+ if (/\b(integrat|adapter|connector|sync|webhook|erp|servicenow|sap|workday|salesforce|netsuite)\b/i.test(haystack))
351
+ tags.push('integration');
352
+ if (tags.length === 0)
353
+ tags.push('cross-cutting');
354
+ return tags;
355
+ }
310
356
  //# sourceMappingURL=adr-ddd-generator.js.map