@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.
- package/README.md +478 -148
- package/dist/bundled-agents/manifest.json +1 -0
- package/dist/commands/phase4.d.ts.map +1 -1
- package/dist/commands/phase4.js +4 -2
- package/dist/commands/phase4.js.map +1 -1
- package/dist/commands/phase6.d.ts.map +1 -1
- package/dist/commands/phase6.js +4 -2
- package/dist/commands/phase6.js.map +1 -1
- package/dist/mcp/mcp-server.js +11 -10
- package/dist/mcp/mcp-server.js.map +1 -1
- package/dist/pipeline/auto-chain.d.ts +5 -0
- package/dist/pipeline/auto-chain.d.ts.map +1 -1
- package/dist/pipeline/auto-chain.js +131 -47
- package/dist/pipeline/auto-chain.js.map +1 -1
- package/dist/pipeline/enterprise/artifact-assembler.d.ts +64 -0
- package/dist/pipeline/enterprise/artifact-assembler.d.ts.map +1 -0
- package/dist/pipeline/enterprise/artifact-assembler.js +542 -0
- package/dist/pipeline/enterprise/artifact-assembler.js.map +1 -0
- package/dist/pipeline/enterprise/artifact-renderers.d.ts +42 -0
- package/dist/pipeline/enterprise/artifact-renderers.d.ts.map +1 -0
- package/dist/pipeline/enterprise/artifact-renderers.js +513 -0
- package/dist/pipeline/enterprise/artifact-renderers.js.map +1 -0
- package/dist/pipeline/enterprise/code-resolver.d.ts +43 -0
- package/dist/pipeline/enterprise/code-resolver.d.ts.map +1 -0
- package/dist/pipeline/enterprise/code-resolver.js +219 -0
- package/dist/pipeline/enterprise/code-resolver.js.map +1 -0
- package/dist/pipeline/enterprise/decision-graph-client.d.ts +171 -0
- package/dist/pipeline/enterprise/decision-graph-client.d.ts.map +1 -0
- package/dist/pipeline/enterprise/decision-graph-client.js +222 -0
- package/dist/pipeline/enterprise/decision-graph-client.js.map +1 -0
- package/dist/pipeline/enterprise/decision-graph-memory.d.ts +104 -0
- package/dist/pipeline/enterprise/decision-graph-memory.d.ts.map +1 -0
- package/dist/pipeline/enterprise/decision-graph-memory.js +292 -0
- package/dist/pipeline/enterprise/decision-graph-memory.js.map +1 -0
- package/dist/pipeline/enterprise/decision-graph.d.ts +237 -0
- package/dist/pipeline/enterprise/decision-graph.d.ts.map +1 -0
- package/dist/pipeline/enterprise/decision-graph.js +654 -0
- package/dist/pipeline/enterprise/decision-graph.js.map +1 -0
- package/dist/pipeline/enterprise/index.d.ts +40 -0
- package/dist/pipeline/enterprise/index.d.ts.map +1 -0
- package/dist/pipeline/enterprise/index.js +43 -0
- package/dist/pipeline/enterprise/index.js.map +1 -0
- package/dist/pipeline/enterprise/pass-executor.d.ts +33 -0
- package/dist/pipeline/enterprise/pass-executor.d.ts.map +1 -0
- package/dist/pipeline/enterprise/pass-executor.js +459 -0
- package/dist/pipeline/enterprise/pass-executor.js.map +1 -0
- package/dist/pipeline/enterprise/pass-registry.d.ts +19 -0
- package/dist/pipeline/enterprise/pass-registry.d.ts.map +1 -0
- package/dist/pipeline/enterprise/pass-registry.js +243 -0
- package/dist/pipeline/enterprise/pass-registry.js.map +1 -0
- package/dist/pipeline/enterprise/pass2-simulation.d.ts +130 -0
- package/dist/pipeline/enterprise/pass2-simulation.d.ts.map +1 -0
- package/dist/pipeline/enterprise/pass2-simulation.js +691 -0
- package/dist/pipeline/enterprise/pass2-simulation.js.map +1 -0
- package/dist/pipeline/enterprise/pass4-governance.d.ts +195 -0
- package/dist/pipeline/enterprise/pass4-governance.d.ts.map +1 -0
- package/dist/pipeline/enterprise/pass4-governance.js +748 -0
- package/dist/pipeline/enterprise/pass4-governance.js.map +1 -0
- package/dist/pipeline/enterprise/pass5-decision.d.ts +90 -0
- package/dist/pipeline/enterprise/pass5-decision.d.ts.map +1 -0
- package/dist/pipeline/enterprise/pass5-decision.js +487 -0
- package/dist/pipeline/enterprise/pass5-decision.js.map +1 -0
- package/dist/pipeline/enterprise/pass7-observability.d.ts +198 -0
- package/dist/pipeline/enterprise/pass7-observability.d.ts.map +1 -0
- package/dist/pipeline/enterprise/pass7-observability.js +636 -0
- package/dist/pipeline/enterprise/pass7-observability.js.map +1 -0
- package/dist/pipeline/enterprise/pipeline-orchestrator.d.ts +29 -0
- package/dist/pipeline/enterprise/pipeline-orchestrator.d.ts.map +1 -0
- package/dist/pipeline/enterprise/pipeline-orchestrator.js +283 -0
- package/dist/pipeline/enterprise/pipeline-orchestrator.js.map +1 -0
- package/dist/pipeline/enterprise/provenance-tracker.d.ts +135 -0
- package/dist/pipeline/enterprise/provenance-tracker.d.ts.map +1 -0
- package/dist/pipeline/enterprise/provenance-tracker.js +437 -0
- package/dist/pipeline/enterprise/provenance-tracker.js.map +1 -0
- package/dist/pipeline/enterprise/trace-middleware.d.ts +37 -0
- package/dist/pipeline/enterprise/trace-middleware.d.ts.map +1 -0
- package/dist/pipeline/enterprise/trace-middleware.js +188 -0
- package/dist/pipeline/enterprise/trace-middleware.js.map +1 -0
- package/dist/pipeline/enterprise/types.d.ts +199 -0
- package/dist/pipeline/enterprise/types.d.ts.map +1 -0
- package/dist/pipeline/enterprise/types.js +30 -0
- package/dist/pipeline/enterprise/types.js.map +1 -0
- package/dist/pipeline/phase2/phases/adr-generator.d.ts.map +1 -1
- package/dist/pipeline/phase2/phases/adr-generator.js +56 -8
- package/dist/pipeline/phase2/phases/adr-generator.js.map +1 -1
- package/dist/pipeline/phase3/phases/test-generator.d.ts.map +1 -1
- package/dist/pipeline/phase3/phases/test-generator.js +53 -0
- package/dist/pipeline/phase3/phases/test-generator.js.map +1 -1
- package/dist/pipeline/phase4/phases/deployment-generator.d.ts.map +1 -1
- package/dist/pipeline/phase4/phases/deployment-generator.js +147 -0
- package/dist/pipeline/phase4/phases/deployment-generator.js.map +1 -1
- package/dist/pipeline/phase4-adrs/phase4-adrs-coordinator.d.ts.map +1 -1
- package/dist/pipeline/phase4-adrs/phase4-adrs-coordinator.js +52 -1
- package/dist/pipeline/phase4-adrs/phase4-adrs-coordinator.js.map +1 -1
- package/dist/pipeline/phase6/phases/deployment-finalizer.d.ts.map +1 -1
- package/dist/pipeline/phase6/phases/deployment-finalizer.js +226 -0
- package/dist/pipeline/phase6/phases/deployment-finalizer.js.map +1 -1
- package/dist/pipeline/phase6/phases/service-registrar.d.ts +1 -1
- package/dist/pipeline/phase6/phases/service-registrar.d.ts.map +1 -1
- package/dist/pipeline/phase6/phases/service-registrar.js +47 -7
- package/dist/pipeline/phase6/phases/service-registrar.js.map +1 -1
- package/dist/pipeline/swarm-orchestrator.d.ts.map +1 -1
- package/dist/pipeline/swarm-orchestrator.js +47 -19
- package/dist/pipeline/swarm-orchestrator.js.map +1 -1
- 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
|