Coverage report:
99%
hide covered
Files
Functions
Classes
coverage.py v7.16.1
, created at 2026-09-30 06:29 +0000
Statements
Branches
Total
File
class
coverage
statements
missing
excluded
coverage
branches
partial
coverage
src
/
ai_jury
/
__init__.py
(no class)
100%
1
0
0
100%
0
0
100%
src
/
ai_jury
/
adapters.py
EffortPlan
100%
0
0
0
100%
0
0
100%
src
/
ai_jury
/
adapters.py
AgentResult
100%
0
0
0
100%
0
0
100%
src
/
ai_jury
/
adapters.py
Adapter
100%
71
0
1
100%
18
0
100%
src
/
ai_jury
/
adapters.py
ClaudeAdapter
100%
10
0
0
100%
2
0
100%
src
/
ai_jury
/
adapters.py
CodexAdapter
100%
13
0
0
100%
2
0
100%
src
/
ai_jury
/
adapters.py
AgyAdapter
100%
45
0
0
95%
20
1
98%
src
/
ai_jury
/
adapters.py
LocalAdapter
100%
65
0
0
100%
14
0
100%
src
/
ai_jury
/
adapters.py
_HostedApiAdapter
100%
41
0
4
100%
20
0
100%
src
/
ai_jury
/
adapters.py
AnthropicApiAdapter
100%
15
0
0
100%
4
0
100%
src
/
ai_jury
/
adapters.py
OpenAiApiAdapter
100%
12
0
0
100%
4
0
100%
src
/
ai_jury
/
adapters.py
XaiApiAdapter
100%
1
0
0
100%
0
0
100%
src
/
ai_jury
/
adapters.py
GoogleApiAdapter
100%
18
0
0
100%
6
0
100%
src
/
ai_jury
/
adapters.py
MockAdapter
100%
12
0
0
100%
6
0
100%
src
/
ai_jury
/
adapters.py
GenericOpenAICompatibleAdapter
80%
35
7
0
58%
24
8
71%
src
/
ai_jury
/
adapters.py
GenericCLIAdapter
93%
46
3
0
86%
14
2
92%
src
/
ai_jury
/
adapters.py
(no class)
99%
471
2
8
98%
112
2
99%
src
/
ai_jury
/
ballots.py
(no class)
100%
392
0
0
100%
154
0
100%
src
/
ai_jury
/
benchmark.py
Fixture
100%
0
0
0
100%
0
0
100%
src
/
ai_jury
/
benchmark.py
FixtureScore
100%
0
0
0
100%
0
0
100%
src
/
ai_jury
/
benchmark.py
(no class)
100%
167
0
2
98%
42
1
99%
src
/
ai_jury
/
cache.py
Cache
91%
66
6
0
96%
28
1
93%
src
/
ai_jury
/
cache.py
(no class)
88%
104
12
0
93%
14
1
89%
src
/
ai_jury
/
ci.py
(no class)
100%
49
0
0
100%
24
0
100%
src
/
ai_jury
/
classification.py
(no class)
99%
111
1
0
98%
60
1
99%
src
/
ai_jury
/
cli.py
(no class)
99%
1270
3
5
99%
538
4
99%
src
/
ai_jury
/
commands.py
CommandError
100%
0
0
0
100%
0
0
100%
src
/
ai_jury
/
commands.py
ParsedCommand
100%
6
0
0
100%
4
0
100%
src
/
ai_jury
/
commands.py
(no class)
100%
49
0
0
100%
18
0
100%
src
/
ai_jury
/
config.py
ConfigError
100%
0
0
0
100%
0
0
100%
src
/
ai_jury
/
config.py
AgentSpec
100%
9
0
0
100%
4
0
100%
src
/
ai_jury
/
config.py
CiConfig
100%
0
0
0
100%
0
0
100%
src
/
ai_jury
/
config.py
ContextConfig
100%
0
0
0
100%
0
0
100%
src
/
ai_jury
/
config.py
DiffConfig
100%
0
0
0
100%
0
0
100%
src
/
ai_jury
/
config.py
OutputConfig
100%
0
0
0
100%
0
0
100%
src
/
ai_jury
/
config.py
JuryConfig
100%
4
0
0
100%
0
0
100%
src
/
ai_jury
/
config.py
(no class)
99%
515
2
0
99%
216
1
99%
src
/
ai_jury
/
configtrust.py
ConfigTrustError
100%
0
0
0
100%
0
0
100%
src
/
ai_jury
/
configtrust.py
(no class)
100%
76
0
0
95%
22
1
99%
src
/
ai_jury
/
consensus.py
FindingGroup
100%
0
0
0
100%
0
0
100%
src
/
ai_jury
/
consensus.py
(no class)
100%
104
0
0
100%
42
0
100%
src
/
ai_jury
/
convergence.py
(no class)
100%
35
0
0
100%
16
0
100%
src
/
ai_jury
/
diffprofile.py
DiffProfile
100%
0
0
0
100%
0
0
100%
src
/
ai_jury
/
diffprofile.py
(no class)
100%
56
0
0
100%
20
0
100%
src
/
ai_jury
/
doctor.py
(no class)
99%
366
3
0
100%
124
0
99%
src
/
ai_jury
/
findings.py
Finding
100%
9
0
0
100%
2
0
100%
src
/
ai_jury
/
findings.py
Verdict
100%
0
0
0
100%
0
0
100%
src
/
ai_jury
/
findings.py
(no class)
99%
125
1
0
98%
42
1
99%
src
/
ai_jury
/
formats.py
(no class)
100%
45
0
0
100%
6
0
100%
src
/
ai_jury
/
github.py
ProgressReporter
100%
12
0
0
100%
4
0
100%
src
/
ai_jury
/
github.py
(no class)
99%
248
3
0
100%
66
0
99%
src
/
ai_jury
/
hints.py
(no class)
100%
58
0
2
100%
22
0
100%
src
/
ai_jury
/
incremental.py
(no class)
100%
26
0
0
100%
10
0
100%
src
/
ai_jury
/
injection.py
InjectionHit
100%
4
0
0
100%
2
0
100%
src
/
ai_jury
/
injection.py
(no class)
100%
73
0
0
100%
22
0
100%
src
/
ai_jury
/
largediff.py
DiffFile
100%
1
0
0
100%
0
0
100%
src
/
ai_jury
/
largediff.py
DiffPlan
100%
1
0
0
100%
0
0
100%
src
/
ai_jury
/
largediff.py
ChangeIndex
100%
8
0
0
100%
6
0
100%
src
/
ai_jury
/
largediff.py
(no class)
97%
225
6
0
92%
92
7
96%
src
/
ai_jury
/
metadata.py
(no class)
100%
108
0
3
95%
40
2
99%
src
/
ai_jury
/
orchestrator.py
RunBudget
100%
17
0
0
100%
8
0
100%
src
/
ai_jury
/
orchestrator.py
JuryOutcome
100%
0
0
0
100%
0
0
100%
src
/
ai_jury
/
orchestrator.py
(no class)
100%
558
0
0
99%
230
2
99%
src
/
ai_jury
/
panel.py
(no class)
100%
60
0
4
100%
16
0
100%
src
/
ai_jury
/
patches.py
PatchSuggestion
100%
4
0
0
100%
2
0
100%
src
/
ai_jury
/
patches.py
(no class)
97%
173
5
0
97%
66
2
97%
src
/
ai_jury
/
policy.py
PolicyError
100%
0
0
0
100%
0
0
100%
src
/
ai_jury
/
policy.py
SeverityOverride
100%
0
0
0
100%
0
0
100%
src
/
ai_jury
/
policy.py
ReviewPolicy
100%
1
0
0
100%
0
0
100%
src
/
ai_jury
/
policy.py
(no class)
98%
98
2
0
97%
36
1
98%
src
/
ai_jury
/
privilege.py
(no class)
100%
643
0
8
100%
288
0
100%
src
/
ai_jury
/
prompts.py
(no class)
100%
27
0
0
100%
4
0
100%
src
/
ai_jury
/
redaction.py
(no class)
97%
63
2
0
96%
24
1
97%
src
/
ai_jury
/
replay.py
ReplayError
100%
0
0
0
100%
0
0
100%
src
/
ai_jury
/
replay.py
(no class)
98%
83
2
0
100%
38
0
98%
src
/
ai_jury
/
report.py
(no class)
99%
371
3
2
99%
182
1
99%
src
/
ai_jury
/
routing.py
RoutingPlan
100%
1
0
0
100%
0
0
100%
src
/
ai_jury
/
routing.py
(no class)
100%
80
0
0
100%
22
0
100%
src
/
ai_jury
/
runagent.py
RolePolicy
100%
0
0
0
100%
0
0
100%
src
/
ai_jury
/
runagent.py
RunIdError
100%
0
0
0
100%
0
0
100%
src
/
ai_jury
/
runagent.py
_DefaultProbe
100%
0
0
1
100%
0
0
100%
src
/
ai_jury
/
runagent.py
(no class)
100%
231
0
1
100%
76
0
100%
src
/
ai_jury
/
scaffold.py
(no class)
100%
190
0
0
100%
96
0
100%
src
/
ai_jury
/
theater.py
Screen
100%
24
0
0
100%
14
0
100%
src
/
ai_jury
/
theater.py
Courtroom
100%
396
0
0
100%
168
0
100%
src
/
ai_jury
/
theater.py
(no class)
100%
113
0
0
100%
24
0
100%
src
/
ai_jury
/
voting.py
Ballot
100%
0
0
0
100%
0
0
100%
src
/
ai_jury
/
voting.py
VoteResult
100%
0
0
0
100%
0
0
100%
src
/
ai_jury
/
voting.py
(no class)
100%
63
0
0
100%
22
0
100%
Total
99%
8374
63
41
99%
3202
40
99%
No items found using the specified filter.