@kyo-so/cli 0.4.1 → 0.5.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.
@@ -106,6 +106,12 @@ export declare const kyosoConfigSchema: z.ZodObject<{
106
106
  }>;
107
107
  timeoutMs: z.ZodNumber;
108
108
  }, z.core.$strip>;
109
+ verification: z.ZodObject<{
110
+ enabled: z.ZodDefault<z.ZodBoolean>;
111
+ maxFindings: z.ZodDefault<z.ZodNumber>;
112
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
113
+ allowDemotion: z.ZodDefault<z.ZodBoolean>;
114
+ }, z.core.$strip>;
109
115
  audit: z.ZodObject<{
110
116
  enabled: z.ZodBoolean;
111
117
  format: z.ZodLiteral<"jsonl">;
@@ -4,4 +4,4 @@ export declare const DEFAULT_MAX_DIFF_BYTES = 300000;
4
4
  export declare const RAW_OUTPUT_MAX_CHARS = 16384;
5
5
  export declare const TRACE_DIR = ".kyoso/traces";
6
6
  export declare const KYOSO_CHILD_AGENT = "KYOSO_CHILD_AGENT";
7
- export declare const KYOSO_VERSION = "0.4.1";
7
+ export declare const KYOSO_VERSION = "0.5.0";
@@ -48,8 +48,14 @@ export type KyosoFinding = {
48
48
  lineEnd?: number;
49
49
  }>;
50
50
  sourceAgents: Array<AgentName | "judge" | "kyoso_policy">;
51
+ crossValidation?: "corroborated" | "single_source";
51
52
  confidence: "high" | "medium" | "low";
52
53
  cisaMapping?: CisaDimension[];
54
+ verification?: {
55
+ status: "confirmed" | "refuted" | "uncertain" | "not_verified";
56
+ verifier?: AgentName;
57
+ note?: string;
58
+ };
53
59
  };
54
60
  export type CisaSecureByDesignResult = {
55
61
  customerSecurityOutcomes: GateStatus;
@@ -59,7 +65,7 @@ export type CisaSecureByDesignResult = {
59
65
  notes: string[];
60
66
  };
61
67
  export type AgentName = "codex" | "claude";
62
- export type AgentRole = "implementation_reviewer" | "architecture_security_reviewer" | "combined_reviewer";
68
+ export type AgentRole = "implementation_reviewer" | "architecture_security_reviewer" | "combined_reviewer" | "finding_verifier";
63
69
  export type ReviewMode = "multi_agent" | "single_agent";
64
70
  export type NormalizedAgentOpinion = {
65
71
  agent: AgentName;
@@ -84,6 +90,18 @@ export type NormalizedAgentOpinion = {
84
90
  openQuestions: string[];
85
91
  cisaSecureByDesign?: Partial<CisaSecureByDesignResult>;
86
92
  };
93
+ export type CrossModelAnalysis = {
94
+ blindSpots: string[];
95
+ contradictions: Array<{
96
+ topic: string;
97
+ detail: string;
98
+ }>;
99
+ partialCoverage: Array<{
100
+ findingId?: string;
101
+ note: string;
102
+ }>;
103
+ provider: string;
104
+ };
87
105
  export type AgentRunInput = {
88
106
  traceId: string;
89
107
  agent: AgentName;
@@ -113,6 +131,7 @@ export type KyosoResult = {
113
131
  degraded: boolean;
114
132
  agentsUsed: AgentName[];
115
133
  reviewMode: ReviewMode;
134
+ verificationMode?: "cross_agent" | "skipped_single_agent";
116
135
  summaryMarkdown: string;
117
136
  findings: KyosoFinding[];
118
137
  cisaSecureByDesign?: CisaSecureByDesignResult;
@@ -124,6 +143,7 @@ export type KyosoResult = {
124
143
  }>;
125
144
  judgeComment: string;
126
145
  }>;
146
+ crossModelAnalysis?: CrossModelAnalysis;
127
147
  testsToAdd: string[];
128
148
  residualRisks: string[];
129
149
  agentOpinions: Array<{
@@ -0,0 +1,24 @@
1
+ import type { AgentName, KyosoFinding } from "./types.js";
2
+ export type VerificationVerdict = {
3
+ findingId: string;
4
+ verdict: "confirmed" | "refuted" | "uncertain";
5
+ reasoning: string;
6
+ evidence: string;
7
+ };
8
+ export type VerificationTarget = {
9
+ finding: KyosoFinding;
10
+ verifier: AgentName;
11
+ };
12
+ export type VerificationSelection = {
13
+ selected: VerificationTarget[];
14
+ overflow: VerificationTarget[];
15
+ };
16
+ export declare function selectVerificationTargets(findings: KyosoFinding[], maxFindings: number): VerificationSelection;
17
+ export declare function groupVerificationTargetsByVerifier(targets: VerificationTarget[]): Array<{
18
+ verifier: AgentName;
19
+ findings: KyosoFinding[];
20
+ }>;
21
+ export declare function markVerificationOverflow(targets: VerificationTarget[]): void;
22
+ export declare function parseVerificationVerdicts(rawText: string | undefined): VerificationVerdict[] | undefined;
23
+ export declare function applyVerificationVerdicts(targets: VerificationTarget[], verifier: AgentName, verdicts: VerificationVerdict[] | undefined): Record<"confirmed" | "refuted" | "uncertain", number>;
24
+ export declare function countVerificationStatuses(findings: KyosoFinding[]): Record<"confirmed" | "refuted" | "uncertain" | "not_verified", number>;