65 lines
1.7 KiB
TypeScript

/**
* Analytics event type definitions for metrics collection.
*
* Three event types capture review findings, fix actions, and movement results
* for local-only analysis when analytics.enabled = true.
*/
/** Status of a review finding across iterations */
export type FindingStatus = 'new' | 'persists' | 'resolved';
/** Severity level of a review finding */
export type FindingSeverity = 'error' | 'warning';
/** Decision taken on a finding */
export type FindingDecision = 'reject' | 'approve';
/** Action taken to address a finding */
export type FixActionType = 'fixed' | 'rebutted' | 'not_applicable';
/** Review finding event — emitted per finding during review movements */
export interface ReviewFindingEvent {
type: 'review_finding';
findingId: string;
status: FindingStatus;
ruleId: string;
severity: FindingSeverity;
decision: FindingDecision;
file: string;
line: number;
iteration: number;
runId: string;
timestamp: string;
}
/** Fix action event — emitted per finding addressed during fix movements */
export interface FixActionEvent {
type: 'fix_action';
findingId: string;
action: FixActionType;
changedFiles?: string[];
testCommand?: string;
testResult?: string;
iteration: number;
runId: string;
timestamp: string;
}
/** Movement result event — emitted after each movement completes */
export interface MovementResultEvent {
type: 'movement_result';
movement: string;
provider: string;
model: string;
decisionTag: string;
iteration: number;
runId: string;
timestamp: string;
}
/** Union of all analytics event types */
export type AnalyticsEvent =
| ReviewFindingEvent
| FixActionEvent
| MovementResultEvent;