| CompareDetectors |  | 0% |  | 0% | 269 | 269 | 859 | 859 | 61 | 61 | 1 | 1 |
| Phase2Trainer |  | 0% |  | 0% | 220 | 220 | 675 | 675 | 80 | 80 | 1 | 1 |
| TrainLanguageModel |  | 0% |  | 0% | 138 | 138 | 638 | 638 | 30 | 30 | 1 | 1 |
| CrossDomainEval |  | 0% |  | 0% | 146 | 146 | 522 | 522 | 22 | 22 | 1 | 1 |
| AblationRunner |  | 0% |  | 0% | 105 | 105 | 369 | 369 | 16 | 16 | 1 | 1 |
| PrepareCorpus |  | 0% |  | 0% | 95 | 95 | 413 | 413 | 17 | 17 | 1 | 1 |
| QuickF1Eval |  | 0% |  | 0% | 84 | 84 | 340 | 340 | 20 | 20 | 1 | 1 |
| EvalGenerativeModel |  | 0% |  | 0% | 62 | 62 | 205 | 205 | 17 | 17 | 1 | 1 |
| ResearchFeatureExtractor |  | 0% |  | 0% | 110 | 110 | 248 | 248 | 28 | 28 | 1 | 1 |
| ConfusableDiff |  | 0% |  | 0% | 35 | 35 | 168 | 168 | 12 | 12 | 1 | 1 |
| TrainGenerativeLanguageModel |  | 0% |  | 0% | 72 | 72 | 194 | 194 | 11 | 11 | 1 | 1 |
| CalibrateConfidence |  | 0% |  | 0% | 35 | 35 | 108 | 108 | 7 | 7 | 1 | 1 |
| DuplicateChecker |  | 0% |  | 0% | 30 | 30 | 139 | 139 | 10 | 10 | 1 | 1 |
| BucketSaturationAnalyzer |  | 0% |  | 0% | 29 | 29 | 102 | 102 | 8 | 8 | 1 | 1 |
| CorpusFilterReport |  | 0% |  | 0% | 44 | 44 | 120 | 120 | 8 | 8 | 1 | 1 |
| FilterBenchmark |  | 0% |  | 0% | 31 | 31 | 96 | 96 | 4 | 4 | 1 | 1 |
| CorpusDiversityAnalyzer |  | 0% |  | 0% | 44 | 44 | 109 | 109 | 12 | 12 | 1 | 1 |
| TrigramAblation |  | 0% |  | 0% | 20 | 20 | 89 | 89 | 6 | 6 | 1 | 1 |
| ConfusionDumper |  | 0% |  | 0% | 19 | 19 | 78 | 78 | 7 | 7 | 1 | 1 |
| ConfusionDump |  | 0% |  | 0% | 33 | 33 | 86 | 86 | 6 | 6 | 1 | 1 |
| LengthCalibrationReport |  | 0% |  | 0% | 25 | 25 | 71 | 71 | 4 | 4 | 1 | 1 |
| DiagnoseUnknownScript |  | 0% |  | 0% | 20 | 20 | 71 | 71 | 3 | 3 | 1 | 1 |
| TrainShortModel |  | 0% |  | 0% | 18 | 18 | 96 | 96 | 5 | 5 | 1 | 1 |
| KoreanFalsePositives |  | 0% |  | 0% | 25 | 25 | 74 | 74 | 5 | 5 | 1 | 1 |
| Phase2SmokeTest |  | 0% |  | 0% | 16 | 16 | 104 | 104 | 5 | 5 | 1 | 1 |
| CrossDomainEval.DetailedStats |  | 0% |  | 0% | 12 | 12 | 49 | 49 | 6 | 6 | 1 | 1 |
| CorpusReader |  | 0% |  | 0% | 23 | 23 | 62 | 62 | 6 | 6 | 1 | 1 |
| DataSplitter |  | 0% |  | 0% | 13 | 13 | 50 | 50 | 7 | 7 | 1 | 1 |
| QuickF1Eval.F1Stats |  | 0% |  | 0% | 16 | 16 | 48 | 48 | 7 | 7 | 1 | 1 |
| CompareDetectors.LinguaWrapper |  | 0% |  | 0% | 11 | 11 | 40 | 40 | 3 | 3 | 1 | 1 |
| ModelQuantizer |  | 0% |  | 0% | 7 | 7 | 22 | 22 | 2 | 2 | 1 | 1 |
| LabeledSentence | | 0% | | 0% | 5 | 5 | 7 | 7 | 4 | 4 | 1 | 1 |
| TrainLanguageModel.EvalResult | | 0% | | n/a | 1 | 1 | 9 | 9 | 1 | 1 | 1 | 1 |
| CorpusDiversityAnalyzer.LangStats | | 0% | | n/a | 1 | 1 | 8 | 8 | 1 | 1 | 1 | 1 |
| CompareDetectors.LengthEval | | 0% | | 0% | 3 | 3 | 4 | 4 | 2 | 2 | 1 | 1 |
| DataSplitter.SplitResult | | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 | 1 | 1 |
| CompareDetectors.EvalResult | | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 | 1 | 1 |
| Phase2Trainer.F1Result | | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 | 1 | 1 |
| TrainLanguageModel.LangF1 | | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 | 1 | 1 |
| CorpusFilterReport.ScoredLine | | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 | 1 | 1 |
| QuickF1Eval.F1Result | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| DuplicateChecker.ScanResult | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |