Coverage for lintro / ai / models / summary.py: 100%

12 statements  

« prev     ^ index     » next       coverage.py v7.13.0, created at 2026-04-03 18:53 +0000

1"""AI summary dataclass.""" 

2 

3from __future__ import annotations 

4 

5from dataclasses import dataclass, field 

6 

7 

8@dataclass 

9class AISummary: 

10 """AI-generated high-level summary of all issues across tools. 

11 

12 Produced by a single API call that analyzes the full issue digest 

13 and returns structured, actionable insights. 

14 

15 Attributes: 

16 overview: 2-3 sentence high-level assessment. 

17 key_patterns: Recurring issue patterns identified across the codebase. 

18 priority_actions: Ordered list of recommended actions, most impactful first. 

19 triage_suggestions: Issues that are likely intentional/idiomatic with 

20 suppression advice. 

21 estimated_effort: Rough effort estimate to address all issues. 

22 input_tokens: Tokens consumed for input. 

23 output_tokens: Tokens generated for output. 

24 cost_estimate: Estimated cost in USD. 

25 """ 

26 

27 overview: str = "" 

28 key_patterns: list[str] = field(default_factory=list) 

29 priority_actions: list[str] = field(default_factory=list) 

30 triage_suggestions: list[str] = field(default_factory=list) 

31 estimated_effort: str = "" 

32 input_tokens: int = 0 

33 output_tokens: int = 0 

34 cost_estimate: float = 0.0