@llm-dev-ops/agentics-cli 2.5.4 → 2.7.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.
Files changed (43) hide show
  1. package/dist/cli/index.js +80 -13
  2. package/dist/cli/index.js.map +1 -1
  3. package/dist/commands/agents.d.ts +7 -0
  4. package/dist/commands/agents.d.ts.map +1 -1
  5. package/dist/commands/agents.js +130 -23
  6. package/dist/commands/agents.js.map +1 -1
  7. package/dist/errors/transient.d.ts +67 -0
  8. package/dist/errors/transient.d.ts.map +1 -0
  9. package/dist/errors/transient.js +260 -0
  10. package/dist/errors/transient.js.map +1 -0
  11. package/dist/mcp/agent-event-parser.d.ts +53 -0
  12. package/dist/mcp/agent-event-parser.d.ts.map +1 -0
  13. package/dist/mcp/agent-event-parser.js +159 -0
  14. package/dist/mcp/agent-event-parser.js.map +1 -0
  15. package/dist/mcp/mcp-server.js +34 -15
  16. package/dist/mcp/mcp-server.js.map +1 -1
  17. package/dist/observability/degradations.d.ts +58 -0
  18. package/dist/observability/degradations.d.ts.map +1 -0
  19. package/dist/observability/degradations.js +74 -0
  20. package/dist/observability/degradations.js.map +1 -0
  21. package/dist/pipeline/phase1-verdict.d.ts +55 -0
  22. package/dist/pipeline/phase1-verdict.d.ts.map +1 -0
  23. package/dist/pipeline/phase1-verdict.js +186 -0
  24. package/dist/pipeline/phase1-verdict.js.map +1 -0
  25. package/dist/pipeline/phase2-preflight.d.ts +44 -0
  26. package/dist/pipeline/phase2-preflight.d.ts.map +1 -0
  27. package/dist/pipeline/phase2-preflight.js +120 -0
  28. package/dist/pipeline/phase2-preflight.js.map +1 -0
  29. package/dist/pipeline/swarm-orchestrator.d.ts.map +1 -1
  30. package/dist/pipeline/swarm-orchestrator.js +67 -5
  31. package/dist/pipeline/swarm-orchestrator.js.map +1 -1
  32. package/dist/synthesis/financial-claim-extractor.d.ts +11 -0
  33. package/dist/synthesis/financial-claim-extractor.d.ts.map +1 -1
  34. package/dist/synthesis/financial-claim-extractor.js +24 -0
  35. package/dist/synthesis/financial-claim-extractor.js.map +1 -1
  36. package/dist/synthesis/simulation-artifact-generator.d.ts.map +1 -1
  37. package/dist/synthesis/simulation-artifact-generator.js +28 -3
  38. package/dist/synthesis/simulation-artifact-generator.js.map +1 -1
  39. package/dist/synthesis/simulation-renderers.d.ts +1 -1
  40. package/dist/synthesis/simulation-renderers.d.ts.map +1 -1
  41. package/dist/synthesis/simulation-renderers.js +39 -13
  42. package/dist/synthesis/simulation-renderers.js.map +1 -1
  43. package/package.json +1 -1
@@ -631,10 +631,18 @@ function sendProgressNotification(progressToken, progress, total, message) {
631
631
  };
632
632
  process.stdout.write(JSON.stringify(notification) + '\n');
633
633
  }
634
+ // ADR-PIPELINE-090: stderr parsing + event rendering lives in
635
+ // src/mcp/agent-event-parser.ts so it's testable without importing this
636
+ // self-executing module. We import the shapes/functions here.
637
+ import { parseAgentEvent, formatAgentEventLive, formatAgentReport } from './agent-event-parser.js';
634
638
  /**
635
639
  * Run a CLI command with streaming progress.
636
640
  * Uses spawn instead of execFile so output lines are sent as MCP progress
637
641
  * notifications in real-time rather than buffered until completion.
642
+ *
643
+ * ADR-PIPELINE-090: stderr lines are also parsed into AgentEvent[] which
644
+ * gets returned alongside stdout/stderr so the tool handler can render a
645
+ * structured "Agent Invocation Report" block in the final response.
638
646
  */
639
647
  function runCLI(args, progressToken) {
640
648
  return new Promise((resolve) => {
@@ -645,21 +653,17 @@ function runCLI(args, progressToken) {
645
653
  let stdout = '';
646
654
  let stderr = '';
647
655
  let lineCount = 0;
656
+ const events = [];
657
+ const parseState = { phase: 1 }; // Phase 1 is default until we see a header
648
658
  const processLine = (line) => {
649
- const trimmed = line.trim();
650
- if (!trimmed)
659
+ if (!line.trim())
651
660
  return;
652
661
  lineCount++;
653
- // Send meaningful lines as progress notifications
654
- if (progressToken != null) {
655
- // Filter to lines that indicate progress (phases, agents, status)
656
- const isProgressLine = /^\s*(Phase|Step|\[|✓|✗|⚠|●|◉|Dispatch|Running|Simulation|Complete|Error|SKIP|OK|Pipeline|Auto-chain|Working|Stash|Creating|Capability|Classified|Ruflo|Enterprise)/i.test(trimmed)
657
- || /agent/i.test(trimmed)
658
- || /^\s*(─|━|═|▊)/.test(trimmed);
659
- if (isProgressLine) {
660
- // Strip ANSI codes for clean display
661
- const clean = trimmed.replace(/\x1b\[[0-9;]*m/g, '');
662
- sendProgressNotification(progressToken, lineCount, 0, clean);
662
+ const ev = parseAgentEvent(line, parseState);
663
+ if (ev) {
664
+ events.push(ev);
665
+ if (progressToken != null) {
666
+ sendProgressNotification(progressToken, lineCount, 0, formatAgentEventLive(ev));
663
667
  }
664
668
  }
665
669
  };
@@ -688,7 +692,7 @@ function runCLI(args, progressToken) {
688
692
  // Timeout after 2 hours — pipeline with ruflo SPARC generation takes 1-2 hours
689
693
  const timer = setTimeout(() => {
690
694
  child.kill('SIGTERM');
691
- resolve({ stdout, stderr: stderr + '\n[TIMEOUT] Process exceeded 2 hour limit', code: 1 });
695
+ resolve({ stdout, stderr: stderr + '\n[TIMEOUT] Process exceeded 2 hour limit', code: 1, events });
692
696
  }, 7_200_000);
693
697
  child.on('close', (code) => {
694
698
  clearTimeout(timer);
@@ -697,11 +701,11 @@ function runCLI(args, progressToken) {
697
701
  processLine(stdoutPartial);
698
702
  if (stderrPartial.trim())
699
703
  processLine(stderrPartial);
700
- resolve({ stdout, stderr, code: code ?? 0 });
704
+ resolve({ stdout, stderr, code: code ?? 0, events });
701
705
  });
702
706
  child.on('error', (err) => {
703
707
  clearTimeout(timer);
704
- resolve({ stdout, stderr: err.message, code: 1 });
708
+ resolve({ stdout, stderr: err.message, code: 1, events });
705
709
  });
706
710
  });
707
711
  }
@@ -1026,6 +1030,21 @@ async function handleMessage(msg) {
1026
1030
  ' - Write code directly and sequentially',
1027
1031
  ].join('\n'),
1028
1032
  });
1033
+ // ADR-PIPELINE-090: write the Agent Invocation Report as its own
1034
+ // content block so the user has a guaranteed record of which
1035
+ // agents were called and their outcome — even if the live
1036
+ // progress stream scrolled past or the UI didn't render every
1037
+ // notification. Parsed from the subprocess's stderr into
1038
+ // structured events by runCLI.
1039
+ const traceMatch = output.match(/AGENTICS_TRACE_ID=([^\s\n]+)/);
1040
+ const traceIdFromOutput = traceMatch ? traceMatch[1] : undefined;
1041
+ const agentReport = formatAgentReport(result.events, traceIdFromOutput);
1042
+ if (agentReport) {
1043
+ content.push({
1044
+ type: 'text',
1045
+ text: agentReport,
1046
+ });
1047
+ }
1029
1048
  // Add cleaned pipeline output AFTER instructions (for reference, not as primary directive)
1030
1049
  if (cleanedOutput.length > 50) {
1031
1050
  content.push({
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../src/mcp/mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../src/mcp/mcp-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * ADR-PIPELINE-089 §2 — Trace-scoped degradation sink.
3
+ *
4
+ * The Phase 1 Health Gate needs to know which degradations occurred during
5
+ * a run in order to classify the verdict as `healthy | degraded | failed`.
6
+ * Degradation signals come from multiple modules that do not share a call
7
+ * stack: the agent dispatcher (local-compute fallbacks), the consensus
8
+ * validator (`[pipeline-017]`), the pre-render pass (`[pipeline-072]`),
9
+ * and the LLM synthesis tag-survival check (`[exec-docs]`).
10
+ *
11
+ * Rather than thread a collector through every signature, this module
12
+ * exposes a process-local Map keyed by the correlation/trace id. Each
13
+ * emission site makes a one-line call:
14
+ *
15
+ * recordDegradation(traceId, { code: 'local-fallback',
16
+ * message: 'costops/attribution using local compute',
17
+ * source: 'agents-dispatcher' });
18
+ *
19
+ * The verdict compute step at the end of `executeNaturalLanguageRoute`
20
+ * calls `drainDegradations(traceId)` to collect all entries and clear the
21
+ * bucket. Clearing is important so subsequent runs in the same process
22
+ * (tests, long-lived daemons) do not leak state.
23
+ *
24
+ * This is intentionally NOT a general-purpose telemetry channel. It
25
+ * captures pipeline-health-relevant signals only. High-volume logs keep
26
+ * going to stderr as before.
27
+ */
28
+ export interface Degradation {
29
+ /** Short stable identifier. Used by UIs and tests to key off the failure class. */
30
+ code: DegradationCode;
31
+ /** Human-readable one-liner. Shown in the Phase 1 banner verbatim. */
32
+ message: string;
33
+ /** Which phase emitted the signal. `1` covers everything inside Phase 1. */
34
+ phase?: 1 | 2 | 3 | 4 | 5 | 6;
35
+ /** Optional module/domain that produced the signal — diagnosis aid. */
36
+ source?: string;
37
+ }
38
+ export type DegradationCode = 'local-fallback' | 'agent-error' | 'agent-preflight-unhealthy' | 'consensus-low' | 'sector-unknown' | 'tag-survival-failed' | 'artifact-missing' | 'simulator-transient' | 'simulator-terminal' | 'synthesis-unavailable';
39
+ /**
40
+ * Record a degradation against a trace. Safe to call with an empty trace
41
+ * id — the call silently no-ops rather than binding to a shared ''
42
+ * bucket that would cross-contaminate runs.
43
+ */
44
+ export declare function recordDegradation(traceId: string | undefined, d: Degradation): void;
45
+ /**
46
+ * Return all degradations recorded against `traceId` (in insertion order)
47
+ * and clear the bucket. Returns an empty array if the trace has no entries.
48
+ */
49
+ export declare function drainDegradations(traceId: string | undefined): Degradation[];
50
+ /**
51
+ * Non-destructive read — for tests and for cases where the caller wants to
52
+ * inspect the bucket without draining (e.g. a post-phase snapshot without
53
+ * clearing state that later phases will add to).
54
+ */
55
+ export declare function peekDegradations(traceId: string | undefined): readonly Degradation[];
56
+ /** Test helper — clears ALL trace buckets. Do not use in production paths. */
57
+ export declare function __resetDegradationsForTests(): void;
58
+ //# sourceMappingURL=degradations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"degradations.d.ts","sourceRoot":"","sources":["../../src/observability/degradations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,MAAM,WAAW,WAAW;IAC1B,mFAAmF;IACnF,IAAI,EAAE,eAAe,CAAC;IACtB,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,eAAe,GACvB,gBAAgB,GAChB,aAAa,GACb,2BAA2B,GAC3B,eAAe,GACf,gBAAgB,GAChB,qBAAqB,GACrB,kBAAkB,GAClB,qBAAqB,GACrB,oBAAoB,GACpB,uBAAuB,CAAC;AAQ5B;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC,EAAE,WAAW,GAAG,IAAI,CAQnF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,EAAE,CAM5E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,WAAW,EAAE,CAGpF;AAED,8EAA8E;AAC9E,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * ADR-PIPELINE-089 §2 — Trace-scoped degradation sink.
3
+ *
4
+ * The Phase 1 Health Gate needs to know which degradations occurred during
5
+ * a run in order to classify the verdict as `healthy | degraded | failed`.
6
+ * Degradation signals come from multiple modules that do not share a call
7
+ * stack: the agent dispatcher (local-compute fallbacks), the consensus
8
+ * validator (`[pipeline-017]`), the pre-render pass (`[pipeline-072]`),
9
+ * and the LLM synthesis tag-survival check (`[exec-docs]`).
10
+ *
11
+ * Rather than thread a collector through every signature, this module
12
+ * exposes a process-local Map keyed by the correlation/trace id. Each
13
+ * emission site makes a one-line call:
14
+ *
15
+ * recordDegradation(traceId, { code: 'local-fallback',
16
+ * message: 'costops/attribution using local compute',
17
+ * source: 'agents-dispatcher' });
18
+ *
19
+ * The verdict compute step at the end of `executeNaturalLanguageRoute`
20
+ * calls `drainDegradations(traceId)` to collect all entries and clear the
21
+ * bucket. Clearing is important so subsequent runs in the same process
22
+ * (tests, long-lived daemons) do not leak state.
23
+ *
24
+ * This is intentionally NOT a general-purpose telemetry channel. It
25
+ * captures pipeline-health-relevant signals only. High-volume logs keep
26
+ * going to stderr as before.
27
+ */
28
+ // ============================================================================
29
+ // Storage — process-local, trace-keyed.
30
+ // ============================================================================
31
+ const buckets = new Map();
32
+ /**
33
+ * Record a degradation against a trace. Safe to call with an empty trace
34
+ * id — the call silently no-ops rather than binding to a shared ''
35
+ * bucket that would cross-contaminate runs.
36
+ */
37
+ export function recordDegradation(traceId, d) {
38
+ if (!traceId)
39
+ return;
40
+ let bucket = buckets.get(traceId);
41
+ if (!bucket) {
42
+ bucket = [];
43
+ buckets.set(traceId, bucket);
44
+ }
45
+ bucket.push(d);
46
+ }
47
+ /**
48
+ * Return all degradations recorded against `traceId` (in insertion order)
49
+ * and clear the bucket. Returns an empty array if the trace has no entries.
50
+ */
51
+ export function drainDegradations(traceId) {
52
+ if (!traceId)
53
+ return [];
54
+ const bucket = buckets.get(traceId);
55
+ if (!bucket)
56
+ return [];
57
+ buckets.delete(traceId);
58
+ return bucket;
59
+ }
60
+ /**
61
+ * Non-destructive read — for tests and for cases where the caller wants to
62
+ * inspect the bucket without draining (e.g. a post-phase snapshot without
63
+ * clearing state that later phases will add to).
64
+ */
65
+ export function peekDegradations(traceId) {
66
+ if (!traceId)
67
+ return [];
68
+ return buckets.get(traceId) ?? [];
69
+ }
70
+ /** Test helper — clears ALL trace buckets. Do not use in production paths. */
71
+ export function __resetDegradationsForTests() {
72
+ buckets.clear();
73
+ }
74
+ //# sourceMappingURL=degradations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"degradations.js","sourceRoot":"","sources":["../../src/observability/degradations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAyBH,+EAA+E;AAC/E,wCAAwC;AACxC,+EAA+E;AAE/E,MAAM,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAC;AAEjD;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAA2B,EAAE,CAAc;IAC3E,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/B,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAA2B;IAC3D,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAA2B;IAC1D,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AACpC,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,2BAA2B;IACzC,OAAO,CAAC,KAAK,EAAE,CAAC;AAClB,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * ADR-PIPELINE-089 §2 — Phase 1 Health Gate.
3
+ *
4
+ * Classifies the outcome of `executeNaturalLanguageRoute` (Phase 1) into
5
+ * one of three verdicts:
6
+ *
7
+ * - 'failed' — auto-chain must be skipped; user sees the specific cause.
8
+ * - 'degraded' — auto-chain proceeds, but we warn loudly about what is
9
+ * missing so the user can judge the output.
10
+ * - 'healthy' — all inputs intact; auto-chain proceeds silently.
11
+ *
12
+ * Inputs:
13
+ * - invocations: the per-agent dispatch results (from RouteResult)
14
+ * - degradations: the list drained from the degradation sink (tag
15
+ * survival, consensus, sector-classifier, local
16
+ * fallbacks, etc.)
17
+ * - artifactFiles: the list of files the artifact generator wrote
18
+ *
19
+ * The verdict is computed structurally — no stderr parsing, no global
20
+ * state. Same inputs always produce the same verdict.
21
+ */
22
+ import type { Degradation } from '../observability/degradations.js';
23
+ export type Phase1Verdict = 'healthy' | 'degraded' | 'failed';
24
+ export interface Phase1VerdictResult {
25
+ verdict: Phase1Verdict;
26
+ degradations: Degradation[];
27
+ /** Concise reason string for the banner — single sentence. */
28
+ reason: string;
29
+ /** Counts used by the classifier, preserved for status.json consumers. */
30
+ stats: {
31
+ totalAgents: number;
32
+ succeededAgents: number;
33
+ erroredAgents: number;
34
+ artifactCount: number;
35
+ simulatorStatus: 'succeeded' | 'failed-transient' | 'failed-terminal' | 'failed-unknown' | 'not-invoked';
36
+ };
37
+ }
38
+ interface InvocationLike {
39
+ intent: {
40
+ domain: string;
41
+ agent: string;
42
+ };
43
+ result: unknown;
44
+ }
45
+ /**
46
+ * Compute the Phase 1 verdict from structural dispatch results plus the
47
+ * drained degradation list.
48
+ *
49
+ * @param invocations Per-agent invocation results (as `multi.result.invocations`)
50
+ * @param degradations Collected degradation entries for this trace
51
+ * @param artifactFiles Files the artifact generator produced on disk
52
+ */
53
+ export declare function computePhase1Verdict(invocations: readonly InvocationLike[], degradations: readonly Degradation[], artifactFiles: readonly string[]): Phase1VerdictResult;
54
+ export {};
55
+ //# sourceMappingURL=phase1-verdict.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phase1-verdict.d.ts","sourceRoot":"","sources":["../../src/pipeline/phase1-verdict.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAEpE,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE9D,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,aAAa,CAAC;IACvB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,KAAK,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,WAAW,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,aAAa,CAAC;KAC1G,CAAC;CACH;AAED,UAAU,cAAc;IACtB,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,MAAM,EAAE,OAAO,CAAC;CACjB;AASD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,SAAS,cAAc,EAAE,EACtC,YAAY,EAAE,SAAS,WAAW,EAAE,EACpC,aAAa,EAAE,SAAS,MAAM,EAAE,GAC/B,mBAAmB,CAoHrB"}
@@ -0,0 +1,186 @@
1
+ /**
2
+ * ADR-PIPELINE-089 §2 — Phase 1 Health Gate.
3
+ *
4
+ * Classifies the outcome of `executeNaturalLanguageRoute` (Phase 1) into
5
+ * one of three verdicts:
6
+ *
7
+ * - 'failed' — auto-chain must be skipped; user sees the specific cause.
8
+ * - 'degraded' — auto-chain proceeds, but we warn loudly about what is
9
+ * missing so the user can judge the output.
10
+ * - 'healthy' — all inputs intact; auto-chain proceeds silently.
11
+ *
12
+ * Inputs:
13
+ * - invocations: the per-agent dispatch results (from RouteResult)
14
+ * - degradations: the list drained from the degradation sink (tag
15
+ * survival, consensus, sector-classifier, local
16
+ * fallbacks, etc.)
17
+ * - artifactFiles: the list of files the artifact generator wrote
18
+ *
19
+ * The verdict is computed structurally — no stderr parsing, no global
20
+ * state. Same inputs always produce the same verdict.
21
+ */
22
+ import { classifyFailure } from '../errors/transient.js';
23
+ // ============================================================================
24
+ // Classifier
25
+ // ============================================================================
26
+ const DEGRADED_MAX_AGENT_ERROR_RATIO = 0.5; // >50% agent errors → failed
27
+ const HEALTHY_REQUIRES_ZERO_DEGRADATIONS = true;
28
+ /**
29
+ * Compute the Phase 1 verdict from structural dispatch results plus the
30
+ * drained degradation list.
31
+ *
32
+ * @param invocations Per-agent invocation results (as `multi.result.invocations`)
33
+ * @param degradations Collected degradation entries for this trace
34
+ * @param artifactFiles Files the artifact generator produced on disk
35
+ */
36
+ export function computePhase1Verdict(invocations, degradations, artifactFiles) {
37
+ const simInvocation = invocations.find(i => i.intent.domain === 'simulator' && i.intent.agent === 'enterprise');
38
+ const simStatus = classifySimulator(simInvocation);
39
+ const agentInvocations = invocations.filter(i => !(i.intent.domain === 'simulator' && i.intent.agent === 'enterprise'));
40
+ const erroredAgents = agentInvocations.filter(i => isErrorResult(i.result)).length;
41
+ const totalAgents = agentInvocations.length;
42
+ const succeededAgents = totalAgents - erroredAgents;
43
+ const agentErrorRatio = totalAgents === 0 ? 0 : erroredAgents / totalAgents;
44
+ const degSnapshot = degradations.slice();
45
+ const stats = {
46
+ totalAgents,
47
+ succeededAgents,
48
+ erroredAgents,
49
+ artifactCount: artifactFiles.length,
50
+ simulatorStatus: simStatus,
51
+ };
52
+ // ── failed cases ────────────────────────────────────────────────────────
53
+ if (simStatus === 'failed-terminal' || simStatus === 'failed-unknown') {
54
+ return {
55
+ verdict: 'failed',
56
+ degradations: [
57
+ ...degSnapshot,
58
+ {
59
+ code: 'simulator-terminal',
60
+ message: extractErrorMessage(simInvocation?.result) ??
61
+ 'Enterprise simulation failed with a non-retryable error',
62
+ phase: 1,
63
+ source: 'simulator/enterprise',
64
+ },
65
+ ],
66
+ reason: `Enterprise simulation failed terminally: ${extractErrorMessage(simInvocation?.result) ?? 'unknown error'}`,
67
+ stats,
68
+ };
69
+ }
70
+ if (simStatus === 'failed-transient') {
71
+ // Retry loop already gave up. Treat as failed for gating purposes but
72
+ // tag the degradation distinctly so the user knows a re-run is likely
73
+ // to succeed.
74
+ return {
75
+ verdict: 'failed',
76
+ degradations: [
77
+ ...degSnapshot,
78
+ {
79
+ code: 'simulator-transient',
80
+ message: extractErrorMessage(simInvocation?.result) ??
81
+ 'Enterprise simulation exhausted retries on transient errors',
82
+ phase: 1,
83
+ source: 'simulator/enterprise',
84
+ },
85
+ ],
86
+ reason: `Enterprise simulation exhausted retries: ${extractErrorMessage(simInvocation?.result) ?? 'transient errors'} — re-run recommended`,
87
+ stats,
88
+ };
89
+ }
90
+ if (artifactFiles.length === 0) {
91
+ return {
92
+ verdict: 'failed',
93
+ degradations: [
94
+ ...degSnapshot,
95
+ {
96
+ code: 'artifact-missing',
97
+ message: 'Phase 1 artifact generator produced zero files',
98
+ phase: 1,
99
+ source: 'artifact-generator',
100
+ },
101
+ ],
102
+ reason: 'Phase 1 produced no artifacts on disk',
103
+ stats,
104
+ };
105
+ }
106
+ if (agentErrorRatio > DEGRADED_MAX_AGENT_ERROR_RATIO) {
107
+ return {
108
+ verdict: 'failed',
109
+ degradations: degSnapshot,
110
+ reason: `${erroredAgents} of ${totalAgents} graph-routed agents errored (>${Math.round(DEGRADED_MAX_AGENT_ERROR_RATIO * 100)}% threshold)`,
111
+ stats,
112
+ };
113
+ }
114
+ // ── degraded cases ──────────────────────────────────────────────────────
115
+ if (erroredAgents > 0 || degSnapshot.length > 0) {
116
+ return {
117
+ verdict: 'degraded',
118
+ degradations: degSnapshot,
119
+ reason: buildDegradedReason(erroredAgents, totalAgents, degSnapshot),
120
+ stats,
121
+ };
122
+ }
123
+ // ── healthy ────────────────────────────────────────────────────────────
124
+ if (HEALTHY_REQUIRES_ZERO_DEGRADATIONS && degSnapshot.length > 0) {
125
+ // Defensive: theoretically unreachable given the branch above, but keep
126
+ // the invariant visible.
127
+ return {
128
+ verdict: 'degraded',
129
+ degradations: degSnapshot,
130
+ reason: buildDegradedReason(0, totalAgents, degSnapshot),
131
+ stats,
132
+ };
133
+ }
134
+ return {
135
+ verdict: 'healthy',
136
+ degradations: [],
137
+ reason: `${succeededAgents}/${totalAgents} agents succeeded, ${artifactFiles.length} artifacts written`,
138
+ stats,
139
+ };
140
+ }
141
+ // ============================================================================
142
+ // Helpers
143
+ // ============================================================================
144
+ function classifySimulator(inv) {
145
+ if (!inv)
146
+ return 'not-invoked';
147
+ if (!isErrorResult(inv.result))
148
+ return 'succeeded';
149
+ const msg = extractErrorMessage(inv.result) ?? '';
150
+ const kind = classifyFailure(msg);
151
+ if (kind === 'terminal')
152
+ return 'failed-terminal';
153
+ if (kind === 'transient')
154
+ return 'failed-transient';
155
+ return 'failed-unknown';
156
+ }
157
+ function isErrorResult(r) {
158
+ return typeof r === 'object' && r !== null && 'error' in r;
159
+ }
160
+ function extractErrorMessage(r) {
161
+ if (typeof r !== 'object' || r === null)
162
+ return undefined;
163
+ const err = r.error;
164
+ if (typeof err === 'string')
165
+ return err;
166
+ if (typeof err === 'object' && err !== null && 'message' in err &&
167
+ typeof err.message === 'string') {
168
+ return err.message;
169
+ }
170
+ return undefined;
171
+ }
172
+ function buildDegradedReason(erroredAgents, totalAgents, degradations) {
173
+ const parts = [];
174
+ if (erroredAgents > 0) {
175
+ parts.push(`${erroredAgents} of ${totalAgents} agents errored`);
176
+ }
177
+ const codeCounts = new Map();
178
+ for (const d of degradations) {
179
+ codeCounts.set(d.code, (codeCounts.get(d.code) ?? 0) + 1);
180
+ }
181
+ for (const [code, count] of codeCounts) {
182
+ parts.push(count > 1 ? `${code} × ${count}` : code);
183
+ }
184
+ return parts.length > 0 ? parts.join('; ') : 'one or more degradations recorded';
185
+ }
186
+ //# sourceMappingURL=phase1-verdict.js.map