phase
phase: "analysis" | "consensus" | "deliberation"
status
status: "pending" | "completed" | "aborted" | "in_progress" | "awaiting_votes"
findings
findings: Map<
string,
{
agentId: string;
category: | "security"
| "documentation"
| "design"
| "performance"
| "bug"
| "other"
| "style";
severity: "critical"
| "suggestion"
| "minor"
| "major";
description: string;
location?: string;
suggestion?: string;
confidence: number;
timestamp?: string;
},
>
findingVotes
findingVotes: Map<
string,
{
agentId: string;
findingId: string;
agree: boolean;
reasoning?: string;
amendedSeverity?: "critical"
| "suggestion"
| "minor"
| "major";
}[],
>
finalVotes
finalVotes: Map<
string,
{
decision: "approve"
| "reject"
| "abstain";
reasoning: string;
confidence: number;
conditions?: string[];
rejectionCategories?: (
| "YAGNI"
| "DRY_VIOLATION"
| "OVER_ENGINEERING"
| "SCOPE_CREEP"
| "SECURITY_RISK"
| "MISALIGNED"
| "INSUFFICIENT_EVIDENCE"
)[];
findings?: {
summary: string;
location: string;
severity: "low"
| "medium"
| "high"
| "critical";
gate: {
reread_cited_line: "failed" | "skipped" | "passed";
traced_call_path: "failed" | "skipped" | "passed";
named_assertion: string;
ruled_out_language_non_issue: "failed" | "skipped" | "passed";
};
claim: string;
}[];
timestamp?: string;
},
>
startedAt
startedAt: string
OptionalcompletedAt
completedAt?: string
roundNumber
roundNumber: number
A single voting round in the protocol.