@llm-dev-ops/agentics-cli 2.1.5 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/pipeline/auto-chain.d.ts +190 -0
- package/dist/pipeline/auto-chain.d.ts.map +1 -1
- package/dist/pipeline/auto-chain.js +1571 -72
- package/dist/pipeline/auto-chain.js.map +1 -1
- package/dist/pipeline/phase2/phases/prompt-generator.d.ts.map +1 -1
- package/dist/pipeline/phase2/phases/prompt-generator.js +205 -12
- package/dist/pipeline/phase2/phases/prompt-generator.js.map +1 -1
- package/dist/pipeline/phase2/schemas.d.ts +10 -10
- package/dist/pipeline/phase4/phases/http-server-generator.d.ts +12 -0
- package/dist/pipeline/phase4/phases/http-server-generator.d.ts.map +1 -1
- package/dist/pipeline/phase4/phases/http-server-generator.js +92 -25
- package/dist/pipeline/phase4/phases/http-server-generator.js.map +1 -1
- package/dist/pipeline/phase4-5-pre-render/financial-model.d.ts +51 -0
- package/dist/pipeline/phase4-5-pre-render/financial-model.d.ts.map +1 -0
- package/dist/pipeline/phase4-5-pre-render/financial-model.js +118 -0
- package/dist/pipeline/phase4-5-pre-render/financial-model.js.map +1 -0
- package/dist/pipeline/phase4-5-pre-render/post-render-reconciler.d.ts +53 -0
- package/dist/pipeline/phase4-5-pre-render/post-render-reconciler.d.ts.map +1 -0
- package/dist/pipeline/phase4-5-pre-render/post-render-reconciler.js +130 -0
- package/dist/pipeline/phase4-5-pre-render/post-render-reconciler.js.map +1 -0
- package/dist/pipeline/phase4-5-pre-render/pre-render-coordinator.d.ts +47 -0
- package/dist/pipeline/phase4-5-pre-render/pre-render-coordinator.d.ts.map +1 -0
- package/dist/pipeline/phase4-5-pre-render/pre-render-coordinator.js +105 -0
- package/dist/pipeline/phase4-5-pre-render/pre-render-coordinator.js.map +1 -0
- package/dist/pipeline/phase4-5-pre-render/sector-baselines.d.ts +42 -0
- package/dist/pipeline/phase4-5-pre-render/sector-baselines.d.ts.map +1 -0
- package/dist/pipeline/phase4-5-pre-render/sector-baselines.js +117 -0
- package/dist/pipeline/phase4-5-pre-render/sector-baselines.js.map +1 -0
- package/dist/pipeline/phase5-build/phase5-build-coordinator.d.ts.map +1 -1
- package/dist/pipeline/phase5-build/phase5-build-coordinator.js +44 -0
- package/dist/pipeline/phase5-build/phase5-build-coordinator.js.map +1 -1
- package/dist/pipeline/phase5-build/phases/post-generation-validator.d.ts +75 -0
- package/dist/pipeline/phase5-build/phases/post-generation-validator.d.ts.map +1 -0
- package/dist/pipeline/phase5-build/phases/post-generation-validator.js +1068 -0
- package/dist/pipeline/phase5-build/phases/post-generation-validator.js.map +1 -0
- package/dist/pipeline/phase5-build/types.d.ts +1 -1
- package/dist/pipeline/phase5-build/types.d.ts.map +1 -1
- package/dist/pipeline/types.d.ts +87 -0
- package/dist/pipeline/types.d.ts.map +1 -1
- package/dist/pipeline/types.js +51 -1
- package/dist/pipeline/types.js.map +1 -1
- package/dist/synthesis/consensus-svg.d.ts +19 -0
- package/dist/synthesis/consensus-svg.d.ts.map +1 -0
- package/dist/synthesis/consensus-svg.js +95 -0
- package/dist/synthesis/consensus-svg.js.map +1 -0
- package/dist/synthesis/consensus-tiers.d.ts +99 -0
- package/dist/synthesis/consensus-tiers.d.ts.map +1 -0
- package/dist/synthesis/consensus-tiers.js +285 -0
- package/dist/synthesis/consensus-tiers.js.map +1 -0
- package/dist/synthesis/domain-labor-classifier.d.ts +101 -0
- package/dist/synthesis/domain-labor-classifier.d.ts.map +1 -0
- package/dist/synthesis/domain-labor-classifier.js +312 -0
- package/dist/synthesis/domain-labor-classifier.js.map +1 -0
- package/dist/synthesis/domain-unit-registry.d.ts +59 -0
- package/dist/synthesis/domain-unit-registry.d.ts.map +1 -0
- package/dist/synthesis/domain-unit-registry.js +320 -0
- package/dist/synthesis/domain-unit-registry.js.map +1 -0
- package/dist/synthesis/financial-claim-extractor.d.ts +72 -0
- package/dist/synthesis/financial-claim-extractor.d.ts.map +1 -0
- package/dist/synthesis/financial-claim-extractor.js +382 -0
- package/dist/synthesis/financial-claim-extractor.js.map +1 -0
- package/dist/synthesis/financial-consistency-rules.d.ts +70 -0
- package/dist/synthesis/financial-consistency-rules.d.ts.map +1 -0
- package/dist/synthesis/financial-consistency-rules.js +483 -0
- package/dist/synthesis/financial-consistency-rules.js.map +1 -0
- package/dist/synthesis/financial-consistency-runner.d.ts +73 -0
- package/dist/synthesis/financial-consistency-runner.d.ts.map +1 -0
- package/dist/synthesis/financial-consistency-runner.js +131 -0
- package/dist/synthesis/financial-consistency-runner.js.map +1 -0
- package/dist/synthesis/forbidden-spin-phrases.d.ts +32 -0
- package/dist/synthesis/forbidden-spin-phrases.d.ts.map +1 -0
- package/dist/synthesis/forbidden-spin-phrases.js +84 -0
- package/dist/synthesis/forbidden-spin-phrases.js.map +1 -0
- package/dist/synthesis/phase-gate-thresholds.d.ts +30 -0
- package/dist/synthesis/phase-gate-thresholds.d.ts.map +1 -0
- package/dist/synthesis/phase-gate-thresholds.js +34 -0
- package/dist/synthesis/phase-gate-thresholds.js.map +1 -0
- package/dist/synthesis/prompts/index.d.ts.map +1 -1
- package/dist/synthesis/prompts/index.js +22 -0
- package/dist/synthesis/prompts/index.js.map +1 -1
- package/dist/synthesis/roadmap-dates.d.ts +72 -0
- package/dist/synthesis/roadmap-dates.d.ts.map +1 -0
- package/dist/synthesis/roadmap-dates.js +203 -0
- package/dist/synthesis/roadmap-dates.js.map +1 -0
- package/dist/synthesis/simulation-artifact-generator.d.ts.map +1 -1
- package/dist/synthesis/simulation-artifact-generator.js +135 -1
- package/dist/synthesis/simulation-artifact-generator.js.map +1 -1
- package/dist/synthesis/simulation-renderers.d.ts +105 -2
- package/dist/synthesis/simulation-renderers.d.ts.map +1 -1
- package/dist/synthesis/simulation-renderers.js +1192 -123
- package/dist/synthesis/simulation-renderers.js.map +1 -1
- package/dist/synthesis/unit-economics-loader.d.ts +71 -0
- package/dist/synthesis/unit-economics-loader.d.ts.map +1 -0
- package/dist/synthesis/unit-economics-loader.js +200 -0
- package/dist/synthesis/unit-economics-loader.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ADR-PIPELINE-079: Absolute-Date Roadmap with Pilot-Start Anchor.
|
|
3
|
+
*
|
|
4
|
+
* Pure functions. Given a query, optional config, and optional manifest,
|
|
5
|
+
* resolve a pilot start date and project every phase / gate onto the
|
|
6
|
+
* calendar with absolute ISO dates.
|
|
7
|
+
*
|
|
8
|
+
* No I/O — results consumed by buildRoadmapArtifact and renderDecisionMemo.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* ADR-PIPELINE-079 §1: Resolve the pilot start date from four sources in
|
|
12
|
+
* priority order:
|
|
13
|
+
*
|
|
14
|
+
* 1. Query text — explicit date or quarter reference
|
|
15
|
+
* 2. Config — `pilot.startDate` field
|
|
16
|
+
* 3. Manifest — `pilot_start_date` field
|
|
17
|
+
* 4. Default — today + 14 days, rounded up to next Monday
|
|
18
|
+
*/
|
|
19
|
+
export function resolvePilotStart(query, config, manifest, now = new Date()) {
|
|
20
|
+
// 1. Query parse
|
|
21
|
+
const queryDate = parseDateFromQuery(query);
|
|
22
|
+
if (queryDate) {
|
|
23
|
+
return {
|
|
24
|
+
startDate: queryDate.date,
|
|
25
|
+
source: 'query',
|
|
26
|
+
reasoning: `Extracted "${queryDate.rawMatch}" from the query text.`,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
// 2. Config
|
|
30
|
+
if (config?.pilot?.startDate) {
|
|
31
|
+
return {
|
|
32
|
+
startDate: config.pilot.startDate,
|
|
33
|
+
source: 'config',
|
|
34
|
+
reasoning: 'Pilot start date from AppConfig.pilot.startDate.',
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
// 3. Manifest
|
|
38
|
+
if (manifest?.pilot_start_date) {
|
|
39
|
+
return {
|
|
40
|
+
startDate: manifest.pilot_start_date,
|
|
41
|
+
source: 'manifest',
|
|
42
|
+
reasoning: 'Pilot start date from simulation manifest.pilot_start_date.',
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
// 4. Default — today + 14 days, rounded up to next Monday
|
|
46
|
+
const defaultDate = nextMonday(addDays(now, 14));
|
|
47
|
+
return {
|
|
48
|
+
startDate: toISODate(defaultDate),
|
|
49
|
+
source: 'default',
|
|
50
|
+
reasoning: `Default: today (${toISODate(now)}) + 14 days, rounded to next Monday.`,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
const DATE_PATTERNS = [
|
|
54
|
+
{
|
|
55
|
+
// "starting 2026-05-01" or "kickoff 2026-06-15"
|
|
56
|
+
re: /(?:start(?:ing)?|kick\s*off|begin(?:ning)?)\s+(?:on\s+)?(\d{4}-\d{2}-\d{2})/i,
|
|
57
|
+
extract: (m) => m[1] ?? null,
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
// "2026-05-01 as pilot start"
|
|
61
|
+
re: /(\d{4}-\d{2}-\d{2})\s+(?:as\s+)?(?:the\s+)?pilot\s+start/i,
|
|
62
|
+
extract: (m) => m[1] ?? null,
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
// "beginning of Q3 2026" → first day of that quarter
|
|
66
|
+
re: /beginning\s+of\s+(Q[1-4])\s+(\d{4})/i,
|
|
67
|
+
extract: (m) => {
|
|
68
|
+
const q = m[1]?.toUpperCase();
|
|
69
|
+
const year = m[2];
|
|
70
|
+
if (!q || !year)
|
|
71
|
+
return null;
|
|
72
|
+
const monthMap = { Q1: '01', Q2: '04', Q3: '07', Q4: '10' };
|
|
73
|
+
const month = monthMap[q];
|
|
74
|
+
if (!month)
|
|
75
|
+
return null;
|
|
76
|
+
return `${year}-${month}-01`;
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
// "starting June 1 2026" or "kickoff May 15, 2026"
|
|
81
|
+
re: /(?:start(?:ing)?|kick\s*off|begin(?:ning)?)\s+(?:on\s+)?(January|February|March|April|May|June|July|August|September|October|November|December)\s+(\d{1,2}),?\s+(\d{4})/i,
|
|
82
|
+
extract: (m) => {
|
|
83
|
+
const month = monthNumber(m[1]);
|
|
84
|
+
const day = m[2]?.padStart(2, '0');
|
|
85
|
+
const year = m[3];
|
|
86
|
+
if (!month || !day || !year)
|
|
87
|
+
return null;
|
|
88
|
+
return `${year}-${month}-${day}`;
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
];
|
|
92
|
+
function parseDateFromQuery(query) {
|
|
93
|
+
for (const { re, extract } of DATE_PATTERNS) {
|
|
94
|
+
const match = query.match(re);
|
|
95
|
+
if (match) {
|
|
96
|
+
const date = extract(match);
|
|
97
|
+
if (date)
|
|
98
|
+
return { date, rawMatch: match[0] };
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
function monthNumber(name) {
|
|
104
|
+
if (!name)
|
|
105
|
+
return null;
|
|
106
|
+
const months = {
|
|
107
|
+
january: '01', february: '02', march: '03', april: '04',
|
|
108
|
+
may: '05', june: '06', july: '07', august: '08',
|
|
109
|
+
september: '09', october: '10', november: '11', december: '12',
|
|
110
|
+
};
|
|
111
|
+
return months[name.toLowerCase()] ?? null;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Parse a duration string like "2-4 weeks" or "4-8 weeks" and return the
|
|
115
|
+
* midpoint in weeks (rounded up). Falls back to 3 when the string can't
|
|
116
|
+
* be parsed.
|
|
117
|
+
*/
|
|
118
|
+
export function parseDurationWeeks(duration) {
|
|
119
|
+
const m = duration.match(/(\d+)\s*-\s*(\d+)\s*weeks?/i);
|
|
120
|
+
if (m && m[1] && m[2]) {
|
|
121
|
+
return Math.ceil((parseInt(m[1], 10) + parseInt(m[2], 10)) / 2);
|
|
122
|
+
}
|
|
123
|
+
const single = duration.match(/(\d+)\s*weeks?/i);
|
|
124
|
+
if (single && single[1])
|
|
125
|
+
return parseInt(single[1], 10);
|
|
126
|
+
return 3;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Project absolute dates onto an ordered list of phases. Each phase starts
|
|
130
|
+
* the day after the previous phase ends. The first phase starts on `startDate`.
|
|
131
|
+
*
|
|
132
|
+
* Returns:
|
|
133
|
+
* - `phases` with `startDate`, `endDate`, `durationWeeks`
|
|
134
|
+
* - `gates` with one entry per inter-phase boundary carrying `gateDate`
|
|
135
|
+
* (= the endDate of the preceding phase)
|
|
136
|
+
*/
|
|
137
|
+
export function projectDates(startDate, phases) {
|
|
138
|
+
const datedPhases = [];
|
|
139
|
+
const datedGates = [];
|
|
140
|
+
let cursor = parseISODate(startDate);
|
|
141
|
+
for (let i = 0; i < phases.length; i++) {
|
|
142
|
+
const phase = phases[i];
|
|
143
|
+
const weeks = parseDurationWeeks(phase.duration);
|
|
144
|
+
const phaseStart = cursor;
|
|
145
|
+
const phaseEnd = addDays(phaseStart, weeks * 7 - 1);
|
|
146
|
+
datedPhases.push({
|
|
147
|
+
id: phase.id,
|
|
148
|
+
name: phase.name,
|
|
149
|
+
startDate: toISODate(phaseStart),
|
|
150
|
+
endDate: toISODate(phaseEnd),
|
|
151
|
+
durationWeeks: weeks,
|
|
152
|
+
});
|
|
153
|
+
// Gate sits at the end of each phase (except the last)
|
|
154
|
+
if (i < phases.length - 1) {
|
|
155
|
+
datedGates.push({
|
|
156
|
+
afterPhase: phase.id,
|
|
157
|
+
gateDate: toISODate(phaseEnd),
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
// Next phase starts the day after this one ends
|
|
161
|
+
cursor = addDays(phaseEnd, 1);
|
|
162
|
+
}
|
|
163
|
+
return { datedPhases, datedGates };
|
|
164
|
+
}
|
|
165
|
+
// ============================================================================
|
|
166
|
+
// Date formatting
|
|
167
|
+
// ============================================================================
|
|
168
|
+
const DAY_NAMES = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
|
|
169
|
+
const MONTH_NAMES = [
|
|
170
|
+
'January', 'February', 'March', 'April', 'May', 'June',
|
|
171
|
+
'July', 'August', 'September', 'October', 'November', 'December',
|
|
172
|
+
];
|
|
173
|
+
/** Format an ISO date string as "Friday, May 10, 2026". */
|
|
174
|
+
export function renderAbsoluteDate(iso) {
|
|
175
|
+
const d = parseISODate(iso);
|
|
176
|
+
const dayName = DAY_NAMES[d.getUTCDay()];
|
|
177
|
+
const monthName = MONTH_NAMES[d.getUTCMonth()];
|
|
178
|
+
const day = d.getUTCDate();
|
|
179
|
+
const year = d.getUTCFullYear();
|
|
180
|
+
return `${dayName}, ${monthName} ${day}, ${year}`;
|
|
181
|
+
}
|
|
182
|
+
// ============================================================================
|
|
183
|
+
// Date arithmetic helpers
|
|
184
|
+
// ============================================================================
|
|
185
|
+
export function addDays(date, days) {
|
|
186
|
+
const result = new Date(date.getTime());
|
|
187
|
+
result.setUTCDate(result.getUTCDate() + days);
|
|
188
|
+
return result;
|
|
189
|
+
}
|
|
190
|
+
export function nextMonday(date) {
|
|
191
|
+
const dayOfWeek = date.getUTCDay(); // 0=Sun, 1=Mon, ...
|
|
192
|
+
if (dayOfWeek === 1)
|
|
193
|
+
return date; // already Monday
|
|
194
|
+
const daysUntilMonday = dayOfWeek === 0 ? 1 : 8 - dayOfWeek;
|
|
195
|
+
return addDays(date, daysUntilMonday);
|
|
196
|
+
}
|
|
197
|
+
export function toISODate(date) {
|
|
198
|
+
return date.toISOString().slice(0, 10);
|
|
199
|
+
}
|
|
200
|
+
function parseISODate(iso) {
|
|
201
|
+
return new Date(iso + 'T00:00:00Z');
|
|
202
|
+
}
|
|
203
|
+
//# sourceMappingURL=roadmap-dates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roadmap-dates.js","sourceRoot":"","sources":["../../src/synthesis/roadmap-dates.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulation-artifact-generator.d.ts","sourceRoot":"","sources":["../../src/synthesis/simulation-artifact-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,OAAO,EAcL,KAAK,WAAW,EACjB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"simulation-artifact-generator.d.ts","sourceRoot":"","sources":["../../src/synthesis/simulation-artifact-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,OAAO,EAcL,KAAK,WAAW,EACjB,MAAM,2BAA2B,CAAC;AAgCnC,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,WAAW,EAAE,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;CACtB;AAoHD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAyElE;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,WAAW,EAAE,EACtB,KAAK,EAAE,MAAM,GACZ,WAAW,EAAE,CAgHf;AAMD,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,uBAAuB,GAC7B,wBAAwB,CAoU1B;AAiFD,UAAU,yBAAyB;IACjC,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,yBAAyB,CAoE1F"}
|
|
@@ -23,6 +23,12 @@ import { renderExecutiveSummary, renderDecisionMemo, buildScenarioArtifact, buil
|
|
|
23
23
|
import { RuvectorAdapter } from '../adapters/base-adapter.js';
|
|
24
24
|
import { loadEndpointConfig } from '../config/endpoints.js';
|
|
25
25
|
import { createClaudeCodeRunner } from '../runtime/claude-code-runner.js';
|
|
26
|
+
import { runConsistencyCheck, FinancialConsistencyError, } from './financial-consistency-runner.js';
|
|
27
|
+
import { classifyLaborIntensity, estimateWorkforceExposure, buildLaborProfileArtifact, isLaborIntensive, } from './domain-labor-classifier.js';
|
|
28
|
+
import { populateConsensusSnapshot } from './consensus-tiers.js';
|
|
29
|
+
import { renderConsensusSvg } from './consensus-svg.js';
|
|
30
|
+
import { executePreRender } from '../pipeline/phase4-5-pre-render/pre-render-coordinator.js';
|
|
31
|
+
import { extractDomainAnalysis } from './simulation-renderers.js';
|
|
26
32
|
// ============================================================================
|
|
27
33
|
// Constants (match artifact-writer.ts)
|
|
28
34
|
// ============================================================================
|
|
@@ -369,6 +375,50 @@ export function generateSimulationArtifacts(input) {
|
|
|
369
375
|
filesWritten.push('roadmap.json');
|
|
370
376
|
checksums['roadmap.json'] = computeChecksum(roadmapContent);
|
|
371
377
|
bytesWritten += Buffer.byteLength(roadmapContent, 'utf-8');
|
|
378
|
+
// ADR-PIPELINE-072: Pre-Render Analysis Pass. Produces unit-economics.json
|
|
379
|
+
// BEFORE the exec summary / decision memo / financial analysis renderers
|
|
380
|
+
// run, so ADR-066's tier-1 path fires on every run and the per-employee
|
|
381
|
+
// heuristic fallback disappears from executive output.
|
|
382
|
+
//
|
|
383
|
+
// The preview is written to TWO paths:
|
|
384
|
+
// - unit-economics.json → consumed by the renderer
|
|
385
|
+
// - unit-economics.preview.json → preserved for the reconciler so
|
|
386
|
+
// the prototype can overwrite the
|
|
387
|
+
// first without clobbering the
|
|
388
|
+
// preview baseline
|
|
389
|
+
try {
|
|
390
|
+
const preRenderDomainAnalysis = extractDomainAnalysis(enrichedSimResult, input.query);
|
|
391
|
+
const preRender = executePreRender({
|
|
392
|
+
runDir,
|
|
393
|
+
runId,
|
|
394
|
+
query: input.query,
|
|
395
|
+
scenarioArtifact: scenario,
|
|
396
|
+
domainAnalysis: preRenderDomainAnalysis,
|
|
397
|
+
});
|
|
398
|
+
if (preRender.status === 'emitted') {
|
|
399
|
+
filesWritten.push('unit-economics.json');
|
|
400
|
+
checksums['unit-economics.json'] = computeChecksum(fs.readFileSync(preRender.manifestPath, 'utf-8'));
|
|
401
|
+
bytesWritten += fs.statSync(preRender.manifestPath).size;
|
|
402
|
+
// Mirror to unit-economics.preview.json for the reconciler.
|
|
403
|
+
const previewMirrorPath = path.join(runDir, 'unit-economics.preview.json');
|
|
404
|
+
const previewContent = JSON.stringify(preRender.manifest, null, 2) + '\n';
|
|
405
|
+
atomicWriteFile(previewMirrorPath, previewContent);
|
|
406
|
+
filesWritten.push('unit-economics.preview.json');
|
|
407
|
+
checksums['unit-economics.preview.json'] = computeChecksum(previewContent);
|
|
408
|
+
bytesWritten += Buffer.byteLength(previewContent, 'utf-8');
|
|
409
|
+
process.stderr.write(`[pipeline-072] Pre-render emitted unit-economics.json: sector=${preRender.metrics.sector} ` +
|
|
410
|
+
`pilot=$${preRender.metrics.annualMeasuredSavingsUsd.toLocaleString()}/yr ` +
|
|
411
|
+
`enterprise=$${preRender.metrics.annualExtrapolatedSavingsUsd.toLocaleString()}/yr\n`);
|
|
412
|
+
}
|
|
413
|
+
else {
|
|
414
|
+
process.stderr.write(`[pipeline-072] Pre-render skipped: ${preRender.reason}` +
|
|
415
|
+
(preRender.detail ? ` (${preRender.detail})` : '') + '\n');
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
catch (err) {
|
|
419
|
+
// Pre-render is non-fatal — renderers fall back to ADR-066 tier-3.
|
|
420
|
+
process.stderr.write(`[pipeline-072] Pre-render threw unexpectedly: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
421
|
+
}
|
|
372
422
|
// 4. executive-summary.md
|
|
373
423
|
const execSummary = renderExecutiveSummary(input.query, enrichedResult, platformResults);
|
|
374
424
|
const execPath = path.join(runDir, 'executive-summary.md');
|
|
@@ -392,12 +442,38 @@ export function generateSimulationArtifacts(input) {
|
|
|
392
442
|
checksums['decision-memo.md'] = computeChecksum(decisionMemo);
|
|
393
443
|
bytesWritten += Buffer.byteLength(decisionMemo, 'utf-8');
|
|
394
444
|
// 7. Financial Analysis (ADR-PIPELINE-020: costops agents → document)
|
|
395
|
-
|
|
445
|
+
// ADR-PIPELINE-066: pass runDir so the renderer can load unit-economics.json
|
|
446
|
+
const financialAnalysis = renderFinancialAnalysis(input.query, enrichedResult, platformResults, runDir);
|
|
396
447
|
const financialPath = path.join(runDir, 'financial-analysis.md');
|
|
397
448
|
atomicWriteFile(financialPath, financialAnalysis);
|
|
398
449
|
filesWritten.push('financial-analysis.md');
|
|
399
450
|
checksums['financial-analysis.md'] = computeChecksum(financialAnalysis);
|
|
400
451
|
bytesWritten += Buffer.byteLength(financialAnalysis, 'utf-8');
|
|
452
|
+
// ADR-PIPELINE-070: persist labor-profile.json for downstream consumers
|
|
453
|
+
// (the ReasoningBank, future LLM rewriters, and human review). Best-
|
|
454
|
+
// effort — never blocks artifact emission on a classifier failure.
|
|
455
|
+
try {
|
|
456
|
+
const laborDomainAnalysis = (enrichedSimResult['domain_analysis'] ?? null);
|
|
457
|
+
const laborProfile = classifyLaborIntensity(laborDomainAnalysis, input.query);
|
|
458
|
+
let exposure = null;
|
|
459
|
+
if (isLaborIntensive(laborProfile)) {
|
|
460
|
+
exposure = estimateWorkforceExposure(laborProfile, {
|
|
461
|
+
employees: 0,
|
|
462
|
+
operationalUnits: undefined,
|
|
463
|
+
pilotInvestmentUsd: undefined,
|
|
464
|
+
});
|
|
465
|
+
}
|
|
466
|
+
const laborArtifact = buildLaborProfileArtifact(laborProfile, exposure);
|
|
467
|
+
const laborPath = path.join(runDir, 'labor-profile.json');
|
|
468
|
+
const laborContent = JSON.stringify(laborArtifact, null, 2);
|
|
469
|
+
atomicWriteFile(laborPath, laborContent);
|
|
470
|
+
filesWritten.push('labor-profile.json');
|
|
471
|
+
checksums['labor-profile.json'] = computeChecksum(laborContent);
|
|
472
|
+
bytesWritten += Buffer.byteLength(laborContent, 'utf-8');
|
|
473
|
+
}
|
|
474
|
+
catch {
|
|
475
|
+
// Classifier persistence is best-effort.
|
|
476
|
+
}
|
|
401
477
|
// ADR-PIPELINE-040: LLM synthesis pass — rewrite exec docs into consulting-grade prose
|
|
402
478
|
// Fire-and-forget: skeleton is already written, synthesis overwrites if successful.
|
|
403
479
|
// Build a condensed agent summary for evidence (not raw JSON — just key findings)
|
|
@@ -445,6 +521,64 @@ export function generateSimulationArtifacts(input) {
|
|
|
445
521
|
filesWritten.push('agent-fleet-report.md');
|
|
446
522
|
checksums['agent-fleet-report.md'] = computeChecksum(fleetReport);
|
|
447
523
|
bytesWritten += Buffer.byteLength(fleetReport, 'utf-8');
|
|
524
|
+
// ADR-PIPELINE-071: persist consensus snapshot + SVG for downstream
|
|
525
|
+
// consumers (board decks, ReasoningBank, future LLM rewriters). The
|
|
526
|
+
// snapshot is also passed into the consistency runner so FCR-010 can
|
|
527
|
+
// scan for forbidden spin phrases on contested runs.
|
|
528
|
+
const consensusSnapshot = populateConsensusSnapshot(enrichedResult, platformResults);
|
|
529
|
+
try {
|
|
530
|
+
const snapshotPath = path.join(runDir, 'consensus.json');
|
|
531
|
+
const snapshotContent = JSON.stringify({
|
|
532
|
+
version: '1.0',
|
|
533
|
+
generated_at: new Date().toISOString(),
|
|
534
|
+
snapshot: consensusSnapshot,
|
|
535
|
+
}, null, 2);
|
|
536
|
+
atomicWriteFile(snapshotPath, snapshotContent);
|
|
537
|
+
filesWritten.push('consensus.json');
|
|
538
|
+
checksums['consensus.json'] = computeChecksum(snapshotContent);
|
|
539
|
+
bytesWritten += Buffer.byteLength(snapshotContent, 'utf-8');
|
|
540
|
+
// SVG only when the tier is non-aligned — aligned runs don't need the
|
|
541
|
+
// visual since the textual story is sufficient.
|
|
542
|
+
if (consensusSnapshot.tier !== 'aligned') {
|
|
543
|
+
const svgPath = path.join(runDir, 'consensus.svg');
|
|
544
|
+
const svgContent = renderConsensusSvg(consensusSnapshot);
|
|
545
|
+
atomicWriteFile(svgPath, svgContent);
|
|
546
|
+
filesWritten.push('consensus.svg');
|
|
547
|
+
checksums['consensus.svg'] = computeChecksum(svgContent);
|
|
548
|
+
bytesWritten += Buffer.byteLength(svgContent, 'utf-8');
|
|
549
|
+
}
|
|
550
|
+
}
|
|
551
|
+
catch {
|
|
552
|
+
// Persistence is best-effort.
|
|
553
|
+
}
|
|
554
|
+
// ADR-PIPELINE-067: cross-document financial consistency check.
|
|
555
|
+
// Runs after every markdown artifact is on disk. Writes
|
|
556
|
+
// financial-consistency.report.json and, by default, prepends a warning
|
|
557
|
+
// header to any document with violations. Under AGENTICS_STRICT_FCV=true
|
|
558
|
+
// the runner throws ECLI-SYN-067 and blocks the pipeline.
|
|
559
|
+
// ADR-PIPELINE-071: pass the consensus snapshot through so FCR-010 fires.
|
|
560
|
+
try {
|
|
561
|
+
const consistencyResult = runConsistencyCheck({
|
|
562
|
+
runDir,
|
|
563
|
+
runId,
|
|
564
|
+
documents: [
|
|
565
|
+
{ kind: 'executive-summary', path: execPath, content: execSummary },
|
|
566
|
+
{ kind: 'decision-memo', path: memoPath, content: decisionMemo },
|
|
567
|
+
{ kind: 'financial-analysis', path: financialPath, content: financialAnalysis },
|
|
568
|
+
],
|
|
569
|
+
consensus: consensusSnapshot,
|
|
570
|
+
annotateDocuments: true,
|
|
571
|
+
});
|
|
572
|
+
filesWritten.push('financial-consistency.report.json');
|
|
573
|
+
checksums['financial-consistency.report.json'] = computeChecksum(fs.readFileSync(consistencyResult.reportPath, 'utf-8'));
|
|
574
|
+
}
|
|
575
|
+
catch (err) {
|
|
576
|
+
if (err instanceof FinancialConsistencyError)
|
|
577
|
+
throw err;
|
|
578
|
+
// Any other error in the runner is non-fatal — the skeleton documents are
|
|
579
|
+
// already on disk and we prefer not to block the pipeline on a bug in the
|
|
580
|
+
// consistency pass.
|
|
581
|
+
}
|
|
448
582
|
// ADR-PIPELINE-023: Add fleet metrics to manifest
|
|
449
583
|
const fleetMetrics = computeFleetMetrics(platformResults);
|
|
450
584
|
manifest['fleet_metrics'] = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulation-artifact-generator.js","sourceRoot":"","sources":["../../src/synthesis/simulation-artifact-generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"simulation-artifact-generator.js","sourceRoot":"","sources":["../../src/synthesis/simulation-artifact-generator.ts"],"names":[],"mappings":"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"}
|