@llm-dev-ops/agentics-cli 1.5.9 → 1.5.10

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 (105) hide show
  1. package/README.md +478 -148
  2. package/dist/bundled-agents/manifest.json +1 -0
  3. package/dist/commands/phase4.d.ts.map +1 -1
  4. package/dist/commands/phase4.js +4 -2
  5. package/dist/commands/phase4.js.map +1 -1
  6. package/dist/commands/phase6.d.ts.map +1 -1
  7. package/dist/commands/phase6.js +4 -2
  8. package/dist/commands/phase6.js.map +1 -1
  9. package/dist/mcp/mcp-server.js +11 -10
  10. package/dist/mcp/mcp-server.js.map +1 -1
  11. package/dist/pipeline/auto-chain.d.ts +5 -0
  12. package/dist/pipeline/auto-chain.d.ts.map +1 -1
  13. package/dist/pipeline/auto-chain.js +131 -47
  14. package/dist/pipeline/auto-chain.js.map +1 -1
  15. package/dist/pipeline/enterprise/artifact-assembler.d.ts +64 -0
  16. package/dist/pipeline/enterprise/artifact-assembler.d.ts.map +1 -0
  17. package/dist/pipeline/enterprise/artifact-assembler.js +542 -0
  18. package/dist/pipeline/enterprise/artifact-assembler.js.map +1 -0
  19. package/dist/pipeline/enterprise/artifact-renderers.d.ts +42 -0
  20. package/dist/pipeline/enterprise/artifact-renderers.d.ts.map +1 -0
  21. package/dist/pipeline/enterprise/artifact-renderers.js +513 -0
  22. package/dist/pipeline/enterprise/artifact-renderers.js.map +1 -0
  23. package/dist/pipeline/enterprise/code-resolver.d.ts +43 -0
  24. package/dist/pipeline/enterprise/code-resolver.d.ts.map +1 -0
  25. package/dist/pipeline/enterprise/code-resolver.js +219 -0
  26. package/dist/pipeline/enterprise/code-resolver.js.map +1 -0
  27. package/dist/pipeline/enterprise/decision-graph-client.d.ts +171 -0
  28. package/dist/pipeline/enterprise/decision-graph-client.d.ts.map +1 -0
  29. package/dist/pipeline/enterprise/decision-graph-client.js +222 -0
  30. package/dist/pipeline/enterprise/decision-graph-client.js.map +1 -0
  31. package/dist/pipeline/enterprise/decision-graph-memory.d.ts +104 -0
  32. package/dist/pipeline/enterprise/decision-graph-memory.d.ts.map +1 -0
  33. package/dist/pipeline/enterprise/decision-graph-memory.js +292 -0
  34. package/dist/pipeline/enterprise/decision-graph-memory.js.map +1 -0
  35. package/dist/pipeline/enterprise/decision-graph.d.ts +237 -0
  36. package/dist/pipeline/enterprise/decision-graph.d.ts.map +1 -0
  37. package/dist/pipeline/enterprise/decision-graph.js +654 -0
  38. package/dist/pipeline/enterprise/decision-graph.js.map +1 -0
  39. package/dist/pipeline/enterprise/index.d.ts +40 -0
  40. package/dist/pipeline/enterprise/index.d.ts.map +1 -0
  41. package/dist/pipeline/enterprise/index.js +43 -0
  42. package/dist/pipeline/enterprise/index.js.map +1 -0
  43. package/dist/pipeline/enterprise/pass-executor.d.ts +33 -0
  44. package/dist/pipeline/enterprise/pass-executor.d.ts.map +1 -0
  45. package/dist/pipeline/enterprise/pass-executor.js +459 -0
  46. package/dist/pipeline/enterprise/pass-executor.js.map +1 -0
  47. package/dist/pipeline/enterprise/pass-registry.d.ts +19 -0
  48. package/dist/pipeline/enterprise/pass-registry.d.ts.map +1 -0
  49. package/dist/pipeline/enterprise/pass-registry.js +243 -0
  50. package/dist/pipeline/enterprise/pass-registry.js.map +1 -0
  51. package/dist/pipeline/enterprise/pass2-simulation.d.ts +130 -0
  52. package/dist/pipeline/enterprise/pass2-simulation.d.ts.map +1 -0
  53. package/dist/pipeline/enterprise/pass2-simulation.js +691 -0
  54. package/dist/pipeline/enterprise/pass2-simulation.js.map +1 -0
  55. package/dist/pipeline/enterprise/pass4-governance.d.ts +195 -0
  56. package/dist/pipeline/enterprise/pass4-governance.d.ts.map +1 -0
  57. package/dist/pipeline/enterprise/pass4-governance.js +748 -0
  58. package/dist/pipeline/enterprise/pass4-governance.js.map +1 -0
  59. package/dist/pipeline/enterprise/pass5-decision.d.ts +90 -0
  60. package/dist/pipeline/enterprise/pass5-decision.d.ts.map +1 -0
  61. package/dist/pipeline/enterprise/pass5-decision.js +487 -0
  62. package/dist/pipeline/enterprise/pass5-decision.js.map +1 -0
  63. package/dist/pipeline/enterprise/pass7-observability.d.ts +198 -0
  64. package/dist/pipeline/enterprise/pass7-observability.d.ts.map +1 -0
  65. package/dist/pipeline/enterprise/pass7-observability.js +636 -0
  66. package/dist/pipeline/enterprise/pass7-observability.js.map +1 -0
  67. package/dist/pipeline/enterprise/pipeline-orchestrator.d.ts +29 -0
  68. package/dist/pipeline/enterprise/pipeline-orchestrator.d.ts.map +1 -0
  69. package/dist/pipeline/enterprise/pipeline-orchestrator.js +283 -0
  70. package/dist/pipeline/enterprise/pipeline-orchestrator.js.map +1 -0
  71. package/dist/pipeline/enterprise/provenance-tracker.d.ts +135 -0
  72. package/dist/pipeline/enterprise/provenance-tracker.d.ts.map +1 -0
  73. package/dist/pipeline/enterprise/provenance-tracker.js +437 -0
  74. package/dist/pipeline/enterprise/provenance-tracker.js.map +1 -0
  75. package/dist/pipeline/enterprise/trace-middleware.d.ts +37 -0
  76. package/dist/pipeline/enterprise/trace-middleware.d.ts.map +1 -0
  77. package/dist/pipeline/enterprise/trace-middleware.js +188 -0
  78. package/dist/pipeline/enterprise/trace-middleware.js.map +1 -0
  79. package/dist/pipeline/enterprise/types.d.ts +199 -0
  80. package/dist/pipeline/enterprise/types.d.ts.map +1 -0
  81. package/dist/pipeline/enterprise/types.js +30 -0
  82. package/dist/pipeline/enterprise/types.js.map +1 -0
  83. package/dist/pipeline/phase2/phases/adr-generator.d.ts.map +1 -1
  84. package/dist/pipeline/phase2/phases/adr-generator.js +56 -8
  85. package/dist/pipeline/phase2/phases/adr-generator.js.map +1 -1
  86. package/dist/pipeline/phase3/phases/test-generator.d.ts.map +1 -1
  87. package/dist/pipeline/phase3/phases/test-generator.js +53 -0
  88. package/dist/pipeline/phase3/phases/test-generator.js.map +1 -1
  89. package/dist/pipeline/phase4/phases/deployment-generator.d.ts.map +1 -1
  90. package/dist/pipeline/phase4/phases/deployment-generator.js +147 -0
  91. package/dist/pipeline/phase4/phases/deployment-generator.js.map +1 -1
  92. package/dist/pipeline/phase4-adrs/phase4-adrs-coordinator.d.ts.map +1 -1
  93. package/dist/pipeline/phase4-adrs/phase4-adrs-coordinator.js +52 -1
  94. package/dist/pipeline/phase4-adrs/phase4-adrs-coordinator.js.map +1 -1
  95. package/dist/pipeline/phase6/phases/deployment-finalizer.d.ts.map +1 -1
  96. package/dist/pipeline/phase6/phases/deployment-finalizer.js +226 -0
  97. package/dist/pipeline/phase6/phases/deployment-finalizer.js.map +1 -1
  98. package/dist/pipeline/phase6/phases/service-registrar.d.ts +1 -1
  99. package/dist/pipeline/phase6/phases/service-registrar.d.ts.map +1 -1
  100. package/dist/pipeline/phase6/phases/service-registrar.js +47 -7
  101. package/dist/pipeline/phase6/phases/service-registrar.js.map +1 -1
  102. package/dist/pipeline/swarm-orchestrator.d.ts.map +1 -1
  103. package/dist/pipeline/swarm-orchestrator.js +47 -19
  104. package/dist/pipeline/swarm-orchestrator.js.map +1 -1
  105. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pass4-governance.js","sourceRoot":"","sources":["../../../src/pipeline/enterprise/pass4-governance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Pass 5 — Apex Decision Layer (ADR-037)
3
+ *
4
+ * Executes in two phases:
5
+ *
6
+ * Phase 1: Artifact Generation (concurrent)
7
+ * - Decision Memo Agent → Artifact #1
8
+ * - Executive Summary Agent → Artifact #2
9
+ * - Risk Scoring Agent → Artifact #5
10
+ * - Documentation Generator → Artifacts #8, #9, #10, #11, #13, #14
11
+ *
12
+ * Phase 2: Scoring & Assembly (sequential, after Phase 1)
13
+ * - Decision Agent → Artifact #12 (Confidence Score)
14
+ * - Pipeline Orchestrator → Artifact #15 (Provenance Manifest)
15
+ * - Package Assembler → DECISION_PACKAGE.md
16
+ *
17
+ * Artifacts #3 (Architecture), #4 (Simulation), #6 (CostOps), #7 (Compliance)
18
+ * are read from the DecisionGraph — they were produced in Passes 2-4.
19
+ */
20
+ import type { PassNumber, AgentRef, AgentInvocationResult, DecisionNodeType } from './types.js';
21
+ import { DecisionGraph } from './decision-graph.js';
22
+ import { ProvenanceTracker } from './provenance-tracker.js';
23
+ /** Confidence score component with weight. */
24
+ export interface ConfidenceComponent {
25
+ readonly name: string;
26
+ readonly weight: number;
27
+ readonly rawScore: number;
28
+ readonly weightedScore: number;
29
+ readonly source: string;
30
+ readonly degraded: boolean;
31
+ }
32
+ /** Full confidence score breakdown. */
33
+ export interface ConfidenceScoreBreakdown {
34
+ readonly overall: number;
35
+ readonly recommendation: ConfidenceRecommendation;
36
+ readonly components: readonly ConfidenceComponent[];
37
+ readonly degradationPenalty: number;
38
+ readonly degradedPasses: readonly PassNumber[];
39
+ readonly methodology: string;
40
+ }
41
+ /** Decision recommendation per ADR-037. */
42
+ export type ConfidenceRecommendation = 'proceed' | 'proceed-with-conditions' | 'investigate-further' | 'do-not-proceed';
43
+ /** Phase 1 agent group identifiers. */
44
+ export type Phase1GroupId = 'decision-memo' | 'executive-summary' | 'risk-scoring' | 'documentation-generator';
45
+ /** Agent group configuration for Phase 1. */
46
+ export interface Phase1GroupConfig {
47
+ readonly id: Phase1GroupId;
48
+ readonly label: string;
49
+ readonly agents: readonly AgentRef[];
50
+ readonly artifactNumbers: readonly number[];
51
+ readonly graphNodeTypes: readonly DecisionNodeType[];
52
+ /** Which DecisionGraph node types this group reads from. */
53
+ readonly readsFrom: readonly DecisionNodeType[];
54
+ }
55
+ /** Result from a Phase 1 agent group. */
56
+ export interface Phase1GroupResult {
57
+ readonly group: Phase1GroupId;
58
+ readonly label: string;
59
+ readonly agentResults: readonly AgentInvocationResult[];
60
+ readonly successCount: number;
61
+ readonly totalCount: number;
62
+ readonly durationMs: number;
63
+ }
64
+ /** Full Pass 5 execution result. */
65
+ export interface Pass5Result {
66
+ readonly phase1Results: readonly Phase1GroupResult[];
67
+ readonly confidenceScore: ConfidenceScoreBreakdown;
68
+ readonly graphNodeIds: readonly string[];
69
+ readonly totalAgentResults: readonly AgentInvocationResult[];
70
+ }
71
+ export declare const PHASE1_GROUP_CONFIGS: readonly Phase1GroupConfig[];
72
+ /**
73
+ * Execute Pass 5: Apex Decision Layer.
74
+ *
75
+ * Phase 1: Generate artifacts #1, #2, #5, #8-11, #13-14 concurrently.
76
+ * Phase 2: Compute Decision Confidence Score (#12) sequentially.
77
+ *
78
+ * Artifacts #3, #4, #6, #7, #15 are NOT generated here — they come from
79
+ * Passes 2-4 and the Pipeline Orchestrator respectively.
80
+ */
81
+ export declare function executePass5(params: {
82
+ prompt: string;
83
+ graph: DecisionGraph;
84
+ tracker: ProvenanceTracker;
85
+ timeoutMs: number;
86
+ verbose: boolean;
87
+ passesDegraded: readonly PassNumber[];
88
+ invokeAgents?: (agents: readonly AgentRef[], payload: Record<string, unknown>, pass: PassNumber, timeoutMs: number) => Promise<AgentInvocationResult[]>;
89
+ }): Promise<Pass5Result>;
90
+ //# sourceMappingURL=pass5-decision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pass5-decision.d.ts","sourceRoot":"","sources":["../../../src/pipeline/enterprise/pass5-decision.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,487 @@
1
+ /**
2
+ * Pass 5 — Apex Decision Layer (ADR-037)
3
+ *
4
+ * Executes in two phases:
5
+ *
6
+ * Phase 1: Artifact Generation (concurrent)
7
+ * - Decision Memo Agent → Artifact #1
8
+ * - Executive Summary Agent → Artifact #2
9
+ * - Risk Scoring Agent → Artifact #5
10
+ * - Documentation Generator → Artifacts #8, #9, #10, #11, #13, #14
11
+ *
12
+ * Phase 2: Scoring & Assembly (sequential, after Phase 1)
13
+ * - Decision Agent → Artifact #12 (Confidence Score)
14
+ * - Pipeline Orchestrator → Artifact #15 (Provenance Manifest)
15
+ * - Package Assembler → DECISION_PACKAGE.md
16
+ *
17
+ * Artifacts #3 (Architecture), #4 (Simulation), #6 (CostOps), #7 (Compliance)
18
+ * are read from the DecisionGraph — they were produced in Passes 2-4.
19
+ */
20
+ // ============================================================================
21
+ // Phase 1 Agent Group Configurations (ADR-037)
22
+ // ============================================================================
23
+ export const PHASE1_GROUP_CONFIGS = [
24
+ {
25
+ id: 'decision-memo',
26
+ label: 'Decision Memo Agent',
27
+ agents: [
28
+ { domain: 'platform', agent: 'decision-memo', role: 'Decision Memo Agent' },
29
+ ],
30
+ artifactNumbers: [1],
31
+ graphNodeTypes: ['executive_memo'],
32
+ readsFrom: ['problem_definition', 'system_architecture', 'cost_model', 'risk_signal', 'security_analysis'],
33
+ },
34
+ {
35
+ id: 'executive-summary',
36
+ label: 'Executive Summary Agent',
37
+ agents: [
38
+ { domain: 'platform', agent: 'executive-summary', role: 'Executive Summary Agent' },
39
+ ],
40
+ artifactNumbers: [2],
41
+ graphNodeTypes: ['executive_summary'],
42
+ readsFrom: ['problem_definition', 'business_context', 'system_architecture', 'cost_model', 'scenario', 'compliance_report'],
43
+ },
44
+ {
45
+ id: 'risk-scoring',
46
+ label: 'Risk Scoring Agent',
47
+ agents: [
48
+ { domain: 'platform', agent: 'risk-score', role: 'Risk Scoring Agent' },
49
+ ],
50
+ artifactNumbers: [5],
51
+ graphNodeTypes: ['risk_assessment'],
52
+ readsFrom: ['risk_signal', 'security_analysis', 'compliance_report', 'policy_analysis'],
53
+ },
54
+ {
55
+ id: 'documentation-generator',
56
+ label: 'Documentation Generator',
57
+ agents: [
58
+ { domain: 'platform', agent: 'decision', role: 'Documentation Generator' },
59
+ { domain: 'analytics-hub', agent: 'recommendation', role: 'Recommendation report' },
60
+ { domain: 'research-lab', agent: 'metrics', role: 'KPI & metrics analyst' },
61
+ ],
62
+ artifactNumbers: [8, 9, 10, 11, 13, 14],
63
+ graphNodeTypes: ['implementation_roadmap', 'org_impact', 'stakeholder_map', 'kpi_definition', 'okr_alignment', 'raid_log'],
64
+ readsFrom: ['system_architecture', 'integration_map', 'cost_model', 'business_context', 'problem_definition', 'policy_analysis', 'scenario', 'risk_signal'],
65
+ },
66
+ ];
67
+ // ============================================================================
68
+ // Phase 2: Scoring Agent
69
+ // ============================================================================
70
+ const SCORING_AGENTS = [
71
+ { domain: 'platform', agent: 'decision', role: 'Decision Confidence Score Agent' },
72
+ ];
73
+ // ============================================================================
74
+ // Pass 5 Executor
75
+ // ============================================================================
76
+ /**
77
+ * Execute Pass 5: Apex Decision Layer.
78
+ *
79
+ * Phase 1: Generate artifacts #1, #2, #5, #8-11, #13-14 concurrently.
80
+ * Phase 2: Compute Decision Confidence Score (#12) sequentially.
81
+ *
82
+ * Artifacts #3, #4, #6, #7, #15 are NOT generated here — they come from
83
+ * Passes 2-4 and the Pipeline Orchestrator respectively.
84
+ */
85
+ export async function executePass5(params) {
86
+ const { prompt, graph, tracker, timeoutMs, verbose, passesDegraded } = params;
87
+ const pass = 5;
88
+ const invoke = params.invokeAgents ?? defaultInvokeAgents;
89
+ if (verbose) {
90
+ console.error(` [Pass 5] Phase 1: Artifact Generation (${PHASE1_GROUP_CONFIGS.length} concurrent groups)`);
91
+ }
92
+ // ── Phase 1: Concurrent Artifact Generation ──
93
+ const phase1Promises = PHASE1_GROUP_CONFIGS.map(async (group) => {
94
+ const groupStart = Date.now();
95
+ if (verbose) {
96
+ console.error(` [Pass 5] Group: ${group.label} → Artifacts ${group.artifactNumbers.join(', ')}`);
97
+ }
98
+ // Build payload with relevant upstream context
99
+ const relevantNodes = group.readsFrom.flatMap(t => graph.getNodesByType(t));
100
+ const context = relevantNodes.map(n => ({
101
+ type: n.type,
102
+ name: n.name,
103
+ summary: n.summary,
104
+ pass: n.pass,
105
+ content: n.content,
106
+ }));
107
+ const payload = {
108
+ prompt,
109
+ pass: 5,
110
+ passName: 'Decision Artifacts',
111
+ group: group.id,
112
+ artifactNumbers: group.artifactNumbers,
113
+ context,
114
+ };
115
+ const results = await invoke(group.agents, payload, pass, timeoutMs);
116
+ const successCount = results.filter(r => r.status >= 200 && r.status < 300).length;
117
+ // Write graph nodes for each artifact this group produces
118
+ writePhase1Nodes(graph, group, results, relevantNodes, pass);
119
+ return {
120
+ group: group.id,
121
+ label: group.label,
122
+ agentResults: results,
123
+ successCount,
124
+ totalCount: results.length,
125
+ durationMs: Date.now() - groupStart,
126
+ };
127
+ });
128
+ const phase1Results = await Promise.all(phase1Promises);
129
+ // ── Phase 2: Sequential Scoring & Assembly ──
130
+ if (verbose) {
131
+ console.error(` [Pass 5] Phase 2: Scoring & Assembly`);
132
+ }
133
+ // Compute confidence score
134
+ const confidenceScore = computeConfidenceScore(graph, passesDegraded);
135
+ // Write confidence score to graph
136
+ const scoreNodeId = writeConfidenceNode(graph, confidenceScore, pass);
137
+ // Invoke scoring agents (for provenance tracking, even though we compute locally)
138
+ const scoringPayload = {
139
+ prompt,
140
+ pass: 5,
141
+ passName: 'Decision Confidence Score',
142
+ confidenceScore: confidenceScore.overall,
143
+ recommendation: confidenceScore.recommendation,
144
+ };
145
+ const scoringResults = await invoke(SCORING_AGENTS, scoringPayload, pass, timeoutMs);
146
+ // Record provenance
147
+ tracker.recordInvocation({
148
+ agent: { domain: 'platform', agent: 'decision', role: 'Decision Confidence Score' },
149
+ pass,
150
+ passName: 'Apex Decision Layer',
151
+ workstream: 'scoring',
152
+ startedAt: new Date().toISOString(),
153
+ completedAt: new Date().toISOString(),
154
+ durationMs: 0,
155
+ inputNodeIds: graph.getNodesByPass(1).map(n => n.id).concat(graph.getNodesByPass(2).map(n => n.id), graph.getNodesByPass(3).map(n => n.id), graph.getNodesByPass(4).map(n => n.id)).slice(0, 10),
156
+ outputNodeIds: [scoreNodeId],
157
+ artifactNumbers: [12],
158
+ status: 'success',
159
+ confidence: confidenceScore.overall / 100,
160
+ });
161
+ // Collect all results
162
+ const allResults = [];
163
+ for (const g of phase1Results) {
164
+ for (const r of g.agentResults)
165
+ allResults.push(r);
166
+ }
167
+ for (const r of scoringResults)
168
+ allResults.push(r);
169
+ // Collect all graph node IDs written by this pass
170
+ const graphNodeIds = graph.getNodesByPass(5).map(n => n.id);
171
+ if (verbose) {
172
+ console.error(` [Pass 5] Complete: confidence=${confidenceScore.overall}%, recommendation=${confidenceScore.recommendation}`);
173
+ }
174
+ return {
175
+ phase1Results,
176
+ confidenceScore,
177
+ graphNodeIds,
178
+ totalAgentResults: allResults,
179
+ };
180
+ }
181
+ // ============================================================================
182
+ // Phase 1: Graph Node Writing
183
+ // ============================================================================
184
+ function writePhase1Nodes(graph, group, results, upstreamNodes, pass) {
185
+ const successResults = results.filter(r => r.status >= 200 && r.status < 300);
186
+ const derivedFrom = upstreamNodes.map(n => n.id).slice(0, 8);
187
+ const hasData = successResults.length > 0;
188
+ for (const nodeType of group.graphNodeTypes) {
189
+ // Find the most relevant agent result for this node type
190
+ const relevantResult = successResults[0]; // First successful result
191
+ const content = hasData && relevantResult?.response
192
+ ? (typeof relevantResult.response === 'object' && relevantResult.response !== null
193
+ ? relevantResult.response
194
+ : { data: relevantResult.response })
195
+ : { status: 'no_agent_data' };
196
+ const summary = hasData && relevantResult
197
+ ? `Generated by ${relevantResult.agent.role} from ${derivedFrom.length} upstream node(s)`
198
+ : `Placeholder — ${group.label} agents did not return data`;
199
+ graph.createNode({
200
+ type: nodeType,
201
+ name: `${group.label}: ${nodeType}`,
202
+ content,
203
+ summary,
204
+ producedBy: hasData && relevantResult
205
+ ? relevantResult.agent
206
+ : { domain: 'pipeline', agent: 'pass5-placeholder', role: 'Placeholder' },
207
+ pass,
208
+ derivedFrom,
209
+ confidence: hasData ? 0.85 : 0.1,
210
+ status: hasData ? 'complete' : 'degraded',
211
+ tags: group.artifactNumbers.map(n => `artifact:${n}`),
212
+ });
213
+ }
214
+ }
215
+ // ============================================================================
216
+ // Phase 2: Confidence Score Computation (ADR-037 formula)
217
+ // ============================================================================
218
+ /** Confidence Score weight configuration. */
219
+ const CONFIDENCE_WEIGHTS = {
220
+ financial: { weight: 0.25, name: 'Financial Outcome Stability', source: 'CostOps ROI confidence + budget risk' },
221
+ operational: { weight: 0.20, name: 'Operational Risk Level', source: 'Inverse of Risk Assessment severity' },
222
+ compliance: { weight: 0.20, name: 'Compliance Exposure', source: 'Policy analysis compliance status' },
223
+ architecture: { weight: 0.20, name: 'Architecture Feasibility', source: 'Simulation success probability + prototype status' },
224
+ organizational: { weight: 0.15, name: 'Organizational Readiness', source: 'Org Impact readiness score' },
225
+ };
226
+ function computeConfidenceScore(graph, passesDegraded) {
227
+ const components = [];
228
+ // ── Financial Outcome Stability (25%) ──
229
+ const financialRaw = computeFinancialScore(graph, passesDegraded);
230
+ components.push({
231
+ name: CONFIDENCE_WEIGHTS.financial.name,
232
+ weight: CONFIDENCE_WEIGHTS.financial.weight,
233
+ rawScore: financialRaw,
234
+ weightedScore: financialRaw * CONFIDENCE_WEIGHTS.financial.weight,
235
+ source: CONFIDENCE_WEIGHTS.financial.source,
236
+ degraded: passesDegraded.includes(4),
237
+ });
238
+ // ── Operational Risk Level (20%) ──
239
+ const operationalRaw = computeOperationalScore(graph, passesDegraded);
240
+ components.push({
241
+ name: CONFIDENCE_WEIGHTS.operational.name,
242
+ weight: CONFIDENCE_WEIGHTS.operational.weight,
243
+ rawScore: operationalRaw,
244
+ weightedScore: operationalRaw * CONFIDENCE_WEIGHTS.operational.weight,
245
+ source: CONFIDENCE_WEIGHTS.operational.source,
246
+ degraded: passesDegraded.includes(2),
247
+ });
248
+ // ── Compliance Exposure (20%) ──
249
+ const complianceRaw = computeComplianceScore(graph, passesDegraded);
250
+ components.push({
251
+ name: CONFIDENCE_WEIGHTS.compliance.name,
252
+ weight: CONFIDENCE_WEIGHTS.compliance.weight,
253
+ rawScore: complianceRaw,
254
+ weightedScore: complianceRaw * CONFIDENCE_WEIGHTS.compliance.weight,
255
+ source: CONFIDENCE_WEIGHTS.compliance.source,
256
+ degraded: passesDegraded.includes(4),
257
+ });
258
+ // ── Architecture Feasibility (20%) ──
259
+ const architectureRaw = computeArchitectureScore(graph, passesDegraded);
260
+ components.push({
261
+ name: CONFIDENCE_WEIGHTS.architecture.name,
262
+ weight: CONFIDENCE_WEIGHTS.architecture.weight,
263
+ rawScore: architectureRaw,
264
+ weightedScore: architectureRaw * CONFIDENCE_WEIGHTS.architecture.weight,
265
+ source: CONFIDENCE_WEIGHTS.architecture.source,
266
+ degraded: passesDegraded.includes(2) || passesDegraded.includes(3),
267
+ });
268
+ // ── Organizational Readiness (15%) ──
269
+ const organizationalRaw = computeOrganizationalScore(graph, passesDegraded);
270
+ components.push({
271
+ name: CONFIDENCE_WEIGHTS.organizational.name,
272
+ weight: CONFIDENCE_WEIGHTS.organizational.weight,
273
+ rawScore: organizationalRaw,
274
+ weightedScore: organizationalRaw * CONFIDENCE_WEIGHTS.organizational.weight,
275
+ source: CONFIDENCE_WEIGHTS.organizational.source,
276
+ degraded: passesDegraded.includes(5),
277
+ });
278
+ // Sum weighted scores
279
+ const rawTotal = components.reduce((sum, c) => sum + c.weightedScore, 0);
280
+ // Degradation penalty: -10% per degraded pass
281
+ const degradationPenalty = passesDegraded.length * 0.10;
282
+ // Final score (0-100)
283
+ const overall = Math.round(Math.max(0, Math.min(1, rawTotal - degradationPenalty)) * 100);
284
+ // Recommendation thresholds (ADR-037)
285
+ const recommendation = scoreToRecommendation(overall);
286
+ return {
287
+ overall,
288
+ recommendation,
289
+ components,
290
+ degradationPenalty: Math.round(degradationPenalty * 100),
291
+ degradedPasses: [...passesDegraded],
292
+ methodology: 'Weighted average: Financial 25%, Operational 20%, Compliance 20%, Architecture 20%, Organizational 15%. -10% per degraded pass.',
293
+ };
294
+ }
295
+ // ============================================================================
296
+ // Per-Component Score Computation
297
+ // ============================================================================
298
+ /** Financial: CostOps ROI confidence + budget risk (from Pass 4). */
299
+ function computeFinancialScore(graph, degraded) {
300
+ if (degraded.includes(4))
301
+ return 0.5;
302
+ const costNodes = graph.getNodesByType('cost_model');
303
+ if (costNodes.length === 0)
304
+ return 0;
305
+ // Average confidence of cost model nodes
306
+ const avgConf = costNodes.reduce((s, n) => s + n.confidence, 0) / costNodes.length;
307
+ // Check for ROI data
308
+ const hasRoi = costNodes.some(n => {
309
+ const c = n.content;
310
+ return c['roi'] !== undefined || c['expectedReturn'] !== undefined || c['tco'] !== undefined;
311
+ });
312
+ return hasRoi ? Math.min(1, avgConf + 0.1) : avgConf;
313
+ }
314
+ /** Operational: Inverse of risk assessment severity (from Pass 2). */
315
+ function computeOperationalScore(graph, degraded) {
316
+ if (degraded.includes(2))
317
+ return 0.5;
318
+ const riskNodes = graph.getNodesByType('risk_signal');
319
+ if (riskNodes.length === 0)
320
+ return 0.8; // No risks = good operational score
321
+ // Count critical/high severity risks
322
+ let critical = 0;
323
+ let high = 0;
324
+ for (const n of riskNodes) {
325
+ const sev = String(n.content['severity'] ?? '').toLowerCase();
326
+ if (sev === 'critical')
327
+ critical++;
328
+ else if (sev === 'high')
329
+ high++;
330
+ }
331
+ // More risks = lower score (inverse)
332
+ if (critical > 0)
333
+ return 0.2;
334
+ if (high > 2)
335
+ return 0.4;
336
+ if (high > 0)
337
+ return 0.6;
338
+ return 0.8;
339
+ }
340
+ /** Compliance: Policy analysis compliance status (from Pass 4). */
341
+ function computeComplianceScore(graph, degraded) {
342
+ if (degraded.includes(4))
343
+ return 0.5;
344
+ const policyNodes = graph.getNodesByType('policy_analysis');
345
+ const complianceNodes = graph.getNodesByType('compliance_report');
346
+ const allNodes = [...policyNodes, ...complianceNodes];
347
+ if (allNodes.length === 0)
348
+ return 0;
349
+ // Check compliance status
350
+ for (const n of allNodes) {
351
+ const status = String(n.content['overallComplianceStatus'] ?? n.content['status'] ?? '').toLowerCase();
352
+ if (status === 'non_compliant')
353
+ return 0.2;
354
+ if (status === 'compliant')
355
+ return 1.0;
356
+ }
357
+ // Gaps identified
358
+ return 0.6;
359
+ }
360
+ /** Architecture: Simulation success + prototype status (from Passes 2+3). */
361
+ function computeArchitectureScore(graph, degraded) {
362
+ let score = 0;
363
+ let count = 0;
364
+ // Simulation success probability (Pass 2)
365
+ if (!degraded.includes(2)) {
366
+ const scenarios = graph.getNodesByType('scenario');
367
+ if (scenarios.length > 0) {
368
+ const avgConf = scenarios.reduce((s, n) => s + n.confidence, 0) / scenarios.length;
369
+ score += avgConf;
370
+ count++;
371
+ }
372
+ }
373
+ else {
374
+ score += 0.5;
375
+ count++;
376
+ }
377
+ // Prototype/architecture status (Pass 3)
378
+ if (!degraded.includes(3)) {
379
+ const archNodes = graph.getNodesByType('system_architecture');
380
+ const protoNodes = graph.getNodesByType('prototype');
381
+ const allArch = [...archNodes, ...protoNodes];
382
+ if (allArch.length > 0) {
383
+ const avgConf = allArch.reduce((s, n) => s + n.confidence, 0) / allArch.length;
384
+ score += avgConf;
385
+ count++;
386
+ }
387
+ }
388
+ else {
389
+ score += 0.5;
390
+ count++;
391
+ }
392
+ return count > 0 ? score / count : 0;
393
+ }
394
+ /** Organizational: Org Impact readiness score (from Pass 5 Phase 1 or Pass 4 governance). */
395
+ function computeOrganizationalScore(graph, degraded) {
396
+ if (degraded.includes(5))
397
+ return 0.5;
398
+ // Check org impact nodes (written by Phase 1)
399
+ const orgNodes = graph.getNodesByType('org_impact');
400
+ if (orgNodes.length > 0) {
401
+ return orgNodes.reduce((s, n) => s + n.confidence, 0) / orgNodes.length;
402
+ }
403
+ // Fall back to governance readiness (Pass 4)
404
+ const govNodes = graph.getNodesByType('governance_report');
405
+ if (govNodes.length > 0) {
406
+ for (const n of govNodes) {
407
+ const readiness = n.content['governanceReadiness'];
408
+ if (readiness && typeof readiness === 'object') {
409
+ const score = String(readiness['overallScore'] ?? '');
410
+ if (score === 'ready')
411
+ return 1.0;
412
+ if (score === 'conditionally_ready')
413
+ return 0.7;
414
+ }
415
+ }
416
+ return govNodes.reduce((s, n) => s + n.confidence, 0) / govNodes.length;
417
+ }
418
+ return 0;
419
+ }
420
+ // ============================================================================
421
+ // Score Interpretation (ADR-037)
422
+ // ============================================================================
423
+ function scoreToRecommendation(score) {
424
+ if (score >= 80)
425
+ return 'proceed';
426
+ if (score >= 60)
427
+ return 'proceed-with-conditions';
428
+ if (score >= 40)
429
+ return 'investigate-further';
430
+ return 'do-not-proceed';
431
+ }
432
+ // ============================================================================
433
+ // Confidence Score Graph Node
434
+ // ============================================================================
435
+ function writeConfidenceNode(graph, score, pass) {
436
+ const priorIds = [
437
+ ...graph.getNodesByPass(1).map(n => n.id),
438
+ ...graph.getNodesByPass(2).map(n => n.id),
439
+ ...graph.getNodesByPass(3).map(n => n.id),
440
+ ...graph.getNodesByPass(4).map(n => n.id),
441
+ ].slice(0, 8);
442
+ const node = graph.createNode({
443
+ type: 'confidence_score',
444
+ name: 'Decision Confidence Score',
445
+ content: score,
446
+ summary: `Overall: ${score.overall}% — ${formatRecommendation(score.recommendation)}. ${score.components.filter(c => c.degraded).length} degraded component(s).`,
447
+ producedBy: { domain: 'platform', agent: 'decision', role: 'Decision Confidence Score Agent' },
448
+ pass,
449
+ derivedFrom: priorIds,
450
+ confidence: score.overall / 100,
451
+ tags: [`recommendation:${score.recommendation}`, `score:${score.overall}`],
452
+ });
453
+ return node.id;
454
+ }
455
+ // ============================================================================
456
+ // Default Agent Invoker
457
+ // ============================================================================
458
+ async function defaultInvokeAgents(agents, payload, pass, _timeoutMs) {
459
+ const promises = agents.map(async (agent) => {
460
+ const start = Date.now();
461
+ const timestamp = new Date().toISOString();
462
+ try {
463
+ const { executeAgentsInvokeCommand } = await import('../../commands/agents.js');
464
+ const result = await executeAgentsInvokeCommand(agent.domain, agent.agent, JSON.stringify(payload), { format: 'json' });
465
+ return { agent, status: result.status, response: result.response, durationMs: Date.now() - start, pass, timestamp };
466
+ }
467
+ catch (err) {
468
+ return { agent, status: 500, response: { error: err instanceof Error ? err.message : String(err) }, durationMs: Date.now() - start, pass, timestamp };
469
+ }
470
+ });
471
+ const settled = await Promise.allSettled(promises);
472
+ return settled.map((outcome, i) => outcome.status === 'fulfilled'
473
+ ? outcome.value
474
+ : { agent: agents[i], status: 500, response: { error: String(outcome.reason) }, durationMs: 0, pass, timestamp: new Date().toISOString() });
475
+ }
476
+ // ============================================================================
477
+ // Helpers
478
+ // ============================================================================
479
+ function formatRecommendation(rec) {
480
+ switch (rec) {
481
+ case 'proceed': return 'Proceed';
482
+ case 'proceed-with-conditions': return 'Proceed with Conditions';
483
+ case 'investigate-further': return 'Investigate Further';
484
+ case 'do-not-proceed': return 'Do Not Proceed';
485
+ }
486
+ }
487
+ //# sourceMappingURL=pass5-decision.js.map