feat: enforce paired reviewer gate verdicts

This commit is contained in:
Eyejoker
2026-03-29 06:03:45 +09:00
parent 29310ce67f
commit dad6f50937
12 changed files with 908 additions and 33 deletions

View File

@@ -50,6 +50,14 @@ export type PairedPlanStatus =
| 'approved'
| 'changes_requested';
export type PairedGateTurnKind = 'implementation_start' | 'commit' | 'push';
export type PairedReviewerVerdict =
| 'done'
| 'done_with_concerns'
| 'blocked'
| 'silent';
export type PairedExecutionStatus =
| 'pending'
| 'running'
@@ -114,6 +122,10 @@ export interface PairedTask {
risk_level: PairedRiskLevel;
plan_status: PairedPlanStatus;
review_requested_at: string | null;
gate_turn_kind?: PairedGateTurnKind | null;
reviewer_verdict?: PairedReviewerVerdict | null;
reviewer_verdict_at?: string | null;
reviewer_verdict_note?: string | null;
status: PairedTaskStatus;
created_at: string;
updated_at: string;
@@ -184,9 +196,11 @@ export type StructuredAgentOutput =
| {
visibility: 'public';
text: string;
verdict?: Exclude<PairedReviewerVerdict, 'silent'>;
}
| {
visibility: 'silent';
verdict?: 'silent';
};
export function normalizeAgentOutputPhase(