| resolveAll(Map, Map, AiRuntime, String, boolean, CredentialTriageContext) |   | 64% |   | 75% | 1 | 3 | 3 | 9 | 0 | 1 |
| resolveSuggestionLookup(String, String, String, List, List, AiRuntime, String, String, CredentialTriageContext) |   | 90% |   | 79% | 5 | 13 | 2 | 30 | 0 | 1 |
| serveOrTriageVerdicts(AiRuntime, String, String, String, String, List, AiClassSuggestion, CredentialTriageContext) |   | 71% |   | 50% | 2 | 4 | 5 | 14 | 0 | 1 |
| lambda$resolveAll$0(Map, Map, AiRuntime, String, boolean, CredentialTriageContext, Map.Entry) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| ScanOrchestrator(PluginLoader, Optional) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| gatherAiSuggestionsForFile(Map, AiRuntime, AiResultCache, Map, Map) |   | 96% |   | 82% | 4 | 15 | 0 | 28 | 0 | 1 |
| scan(List, CliConfig, TestDiscoveryConfig, AiSuggestionEngine, TestMethodSink, ClassificationOverride, AiResultCache, CredentialTriageContext) |   | 94% |   | 83% | 2 | 7 | 1 | 15 | 0 | 1 |
| runDiscoveryInternal(Path, List, AiOptions, AiSuggestionEngine, TestMethodSink, boolean, ClassificationOverride, AiResultCache, CredentialTriageContext) |  | 100% |  | 100% | 0 | 6 | 0 | 20 | 0 | 1 |
| resolveClass(Map.Entry, Map, AiRuntime, String, boolean, CredentialTriageContext) |  | 100% |   | 83% | 2 | 7 | 0 | 16 | 0 | 1 |
| emitClass(Map.Entry, ScanOrchestrator.ClassResolution, String, TestMethodSink, Map, Path) |  | 100% |   | 83% | 1 | 4 | 0 | 12 | 0 | 1 |
| redactClasses(Map, AiOptions, boolean) |  | 100% |   | 80% | 2 | 6 | 0 | 10 | 0 | 1 |
| collectMethodsByFile(List, List) |  | 100% |  | 100% | 0 | 3 | 0 | 7 | 0 | 1 |
| requireRedactable(Collection, AiRuntime) |  | 100% |  | 100% | 0 | 3 | 0 | 7 | 0 | 1 |
| filterSink(TestMethodSink, boolean, double, boolean) |  | 100% |  | 100% | 0 | 4 | 0 | 7 | 0 | 1 |
| toTargetMethod(DiscoveredMethod) |  | 100% |  | 100% | 0 | 3 | 0 | 4 | 0 | 1 |
| wrapWithExtraSink(TestMethodSink) |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
| ScanOrchestrator(PluginLoader, Optional, boolean, CommentRedaction) |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| withSecrets(AiClassSuggestion, List) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| runDiscovery(Path, List, AiOptions, AiSuggestionEngine, TestMethodSink, boolean, ClassificationOverride, AiResultCache, CredentialTriageContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$collectMethodsByFile$2(Map, DiscoveredMethod) |  | 100% |   | 50% | 1 | 2 | 0 | 3 | 0 | 1 |
| lambda$filterSink$4(double, AiMethodSuggestion) |  | 100% |  | 100% | 0 | 3 | 0 | 1 | 0 | 1 |
| lambda$filterSink$3(AiMethodSuggestion) |  | 100% |  | 100% | 0 | 3 | 0 | 1 | 0 | 1 |
| ScanOrchestrator(PluginLoader, Optional, boolean) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| ScanOrchestrator(PluginLoader) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$collectMethodsByFile$1(Path) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| redaction() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |