[{"data":1,"prerenderedAt":840},["ShallowReactive",2],{"navigation_docs":3,"trending-repo-ifixai-ai\u002FiFixAi":244},[4,29,99,119,189],{"title":5,"icon":6,"path":7,"stem":8,"children":9},"Start",false,"\u002Fstart","1.start",[10,14,19,24],{"title":11,"path":7,"stem":12,"icon":13},"What jscpd finds","1.start\u002Findex","i-lucide-house",{"title":15,"path":16,"stem":17,"icon":18},"Installation","\u002Fstart\u002Finstallation","1.start\u002F2.installation","i-lucide-download",{"title":20,"path":21,"stem":22,"icon":23},"Quickstart","\u002Fstart\u002Fquickstart","1.start\u002F3.quickstart","i-lucide-rocket",{"title":25,"path":26,"stem":27,"icon":28},"Configuration basics","\u002Fstart\u002Fconfiguration","1.start\u002F4.configuration","i-lucide-settings-2",{"title":30,"icon":6,"path":31,"stem":32,"children":33,"page":6},"Guides","\u002Fguides","2.guides",[34,39,44,49,54,59,64,69,74,79,84,89,94],{"title":35,"path":36,"stem":37,"icon":38},"Use jscpd in CI","\u002Fguides\u002Fci","2.guides\u002F01.ci","i-lucide-github",{"title":40,"path":41,"stem":42,"icon":43},"Pre-commit hooks","\u002Fguides\u002Fpre-commit","2.guides\u002F02.pre-commit","i-lucide-git-commit",{"title":45,"path":46,"stem":47,"icon":48},"Fail only on new duplication","\u002Fguides\u002Fbaseline","2.guides\u002F03.baseline","i-lucide-git-compare",{"title":50,"path":51,"stem":52,"icon":53},"Monorepos","\u002Fguides\u002Fmonorepos","2.guides\u002F04.monorepos","i-lucide-folder-tree",{"title":55,"path":56,"stem":57,"icon":58},"Cross-format detection","\u002Fguides\u002Fcross-format","2.guides\u002F05.cross-format","i-lucide-layers",{"title":60,"path":61,"stem":62,"icon":63},"Agents","\u002Fguides\u002Fagents","2.guides\u002F06.agents","i-lucide-cpu",{"title":65,"path":66,"stem":67,"icon":68},"Editors","\u002Fguides\u002Feditors","2.guides\u002F07.editors","i-lucide-code",{"title":70,"path":71,"stem":72,"icon":73},"Duplication over git history","\u002Fguides\u002Fhistory","2.guides\u002F08.history","i-lucide-chart-no-axes-combined",{"title":75,"path":76,"stem":77,"icon":78},"Dashboard and health score","\u002Fguides\u002Fdashboard","2.guides\u002F09.dashboard","i-lucide-layout-dashboard",{"title":80,"path":81,"stem":82,"icon":83},"Dead code","\u002Fguides\u002Fdead-code","2.guides\u002F10.dead-code","i-lucide-ghost",{"title":85,"path":86,"stem":87,"icon":88},"Comparing two codebases","\u002Fguides\u002Fcompare","2.guides\u002F11.compare","i-lucide-git-compare-arrows",{"title":90,"path":91,"stem":92,"icon":93},"Semantic clones","\u002Fguides\u002Fsemantic-clones","2.guides\u002F12.semantic-clones","i-lucide-brain-circuit",{"title":95,"path":96,"stem":97,"icon":98},"Similar functions","\u002Fguides\u002Fsimilarity","2.guides\u002F13.similarity","i-lucide-list-tree",{"title":100,"icon":6,"path":101,"stem":102,"children":103,"page":6},"Concepts","\u002Fconcepts","3.concepts",[104,109,114],{"title":105,"path":106,"stem":107,"icon":108},"Types of code clones","\u002Fconcepts\u002Fclone-types","3.concepts\u002F1.clone-types","i-lucide-copy",{"title":110,"path":111,"stem":112,"icon":113},"How detection works","\u002Fconcepts\u002Fhow-detection-works","3.concepts\u002F2.how-detection-works","i-lucide-scan-search",{"title":115,"path":116,"stem":117,"icon":118},"The health score","\u002Fconcepts\u002Fhealth-score","3.concepts\u002F3.health-score","i-lucide-heart-pulse",{"title":120,"icon":6,"path":121,"stem":122,"children":123,"page":6},"Reference","\u002Freference","4.reference",[124,129,134,139,176,181,185],{"title":125,"path":126,"stem":127,"icon":128},"CLI options","\u002Freference\u002Fcli","4.reference\u002F1.cli","i-lucide-terminal",{"title":130,"path":131,"stem":132,"icon":133},"The config file","\u002Freference\u002Fconfig-file","4.reference\u002F2.config-file","i-lucide-settings",{"title":135,"path":136,"stem":137,"icon":138},"Exit codes","\u002Freference\u002Fexit-codes","4.reference\u002F3.exit-codes","i-lucide-log-out",{"title":140,"icon":6,"path":141,"stem":142,"children":143},"Reporters","\u002Freference\u002Freporters","4.reference\u002F4.reporters\u002Findex",[144,146,151,156,161,166,171],{"title":140,"path":141,"stem":142,"icon":145},"i-lucide-file-chart-column",{"title":147,"path":148,"stem":149,"icon":150},"HTML reporter","\u002Freference\u002Freporters\u002Fhtml","4.reference\u002F4.reporters\u002F2.html","i-lucide-file-code",{"title":152,"path":153,"stem":154,"icon":155},"JSON reporter","\u002Freference\u002Freporters\u002Fjson","4.reference\u002F4.reporters\u002F3.json","i-lucide-braces",{"title":157,"path":158,"stem":159,"icon":160},"Badge reporter","\u002Freference\u002Freporters\u002Fbadge","4.reference\u002F4.reporters\u002F4.badge","i-lucide-award",{"title":162,"path":163,"stem":164,"icon":165},"SARIF reporter","\u002Freference\u002Freporters\u002Fsarif","4.reference\u002F4.reporters\u002F5.sarif","i-lucide-shield-check",{"title":167,"path":168,"stem":169,"icon":170},"CodeClimate reporter","\u002Freference\u002Freporters\u002Fcodeclimate","4.reference\u002F4.reporters\u002F6.codeclimate","i-lucide-flag-triangle-right",{"title":172,"path":173,"stem":174,"icon":175},"OpenMetrics reporter","\u002Freference\u002Freporters\u002Fopenmetrics","4.reference\u002F4.reporters\u002F7.openmetrics","i-lucide-activity",{"title":177,"path":178,"stem":179,"icon":180},"Supported formats","\u002Freference\u002Fsupported-formats","4.reference\u002F5.supported-formats","i-lucide-languages",{"title":182,"path":183,"stem":184,"icon":38},"GitHub Action","\u002Freference\u002Fgithub-action","4.reference\u002F6.github-action",{"title":186,"path":187,"stem":188,"icon":68},"Rust crates","\u002Freference\u002Frust-crates","4.reference\u002F7.rust-crates",{"title":190,"icon":6,"path":191,"stem":192,"children":193,"page":6},"Project","\u002Fproject","5.project",[194,199,204,209,234,239],{"title":195,"path":196,"stem":197,"icon":198},"Changelog","\u002Fproject\u002Fchangelog","5.project\u002F1.changelog","i-lucide-scroll-text",{"title":200,"path":201,"stem":202,"icon":203},"Migrating from v4 to v5","\u002Fproject\u002Fmigration","5.project\u002F2.migration","i-lucide-arrow-right-left",{"title":205,"path":206,"stem":207,"icon":208},"jscpd v4 (TypeScript)","\u002Fproject\u002Fv4","5.project\u002F3.v4","i-simple-icons-typescript",{"title":210,"icon":6,"path":211,"stem":212,"children":213},"Benchmarks","\u002Fproject\u002Fbenchmarks","5.project\u002F4.benchmarks\u002Findex",[214,216,221,225,230],{"title":210,"path":211,"stem":212,"icon":215},"i-lucide-gauge",{"title":217,"path":218,"stem":219,"icon":220},"Detection Speed","\u002Fproject\u002Fbenchmarks\u002Fdetection-speed","5.project\u002F4.benchmarks\u002F2.detection-speed","i-lucide-zap",{"title":222,"path":223,"stem":224,"icon":58},"Multi-Format Detection","\u002Fproject\u002Fbenchmarks\u002Fcross-format","5.project\u002F4.benchmarks\u002F3.cross-format",{"title":226,"path":227,"stem":228,"icon":229},"AI Token Efficiency","\u002Fproject\u002Fbenchmarks\u002Fai-token-efficiency","5.project\u002F4.benchmarks\u002F4.ai-token-efficiency","i-lucide-sparkles",{"title":231,"path":232,"stem":233,"icon":93},"Embedding Models","\u002Fproject\u002Fbenchmarks\u002Fembedding-models","5.project\u002F4.benchmarks\u002F5.embedding-models",{"title":235,"path":236,"stem":237,"icon":238},"Research","\u002Fproject\u002Fresearch","5.project\u002F5.research","i-lucide-graduation-cap",{"title":240,"path":241,"stem":242,"icon":243},"Articles","\u002Fproject\u002Farticles","5.project\u002F6.articles","i-lucide-newspaper",{"name":245,"url":246,"appearances":247,"latest":263},"ifixai-ai\u002FiFixAi","https:\u002F\u002Fgithub.com\u002Fifixai-ai\u002FiFixAi",[248],{"date":249,"rank":250,"stars":251,"starsToday":252,"headSha":253,"sources":254,"lines":255,"clones":256,"duplicatedLines":257,"percentage":258,"codePercentage":259,"codeSources":260,"healthScore":261,"healthGrade":262},"2026-10-15",5,27733,2109,"ebec2941b9e8a9834f079bf968413908e5ab06cb",749,159676,852,13702,8.58,9.59,329,64.2,"C",{"date":249,"generatedAt":264,"name":245,"url":246,"description":265,"language":266,"stars":251,"starsToday":252,"defaultBranch":267,"headSha":253,"durationMs":268,"total":269,"formats":273,"topClones":325,"code":569,"health":712,"complexity":741,"deadCode":790},"2026-10-15T05:29:00.485Z","Independent Auditing of AI Agents. Run by human or the agent itself, to answer the most crucial question in the AI Agent Economy. Is the agent doing what is supposed to do? With iFixAi you can have this answer in less than 120 seconds.","Python","main",1681,{"sources":254,"lines":255,"tokens":270,"clones":256,"duplicatedLines":257,"duplicatedTokens":271,"percentage":258,"percentageTokens":272},885032,74555,8.42,[274,281,288,295,302,309,314,317,320,322],{"format":275,"sources":276,"lines":277,"clones":278,"duplicatedLines":279,"percentage":280},"python",512,127646,774,11496,9.01,{"format":282,"sources":283,"lines":284,"clones":285,"duplicatedLines":286,"percentage":287},"markdown",30,7916,41,330,4.17,{"format":289,"sources":290,"lines":291,"clones":292,"duplicatedLines":293,"percentage":294},"yaml",162,19203,26,1463,7.62,{"format":296,"sources":297,"lines":298,"clones":299,"duplicatedLines":300,"percentage":301},"json",16,3607,8,401,11.12,{"format":303,"sources":304,"lines":305,"clones":306,"duplicatedLines":307,"percentage":308},"bash",23,951,3,12,1.26,{"format":310,"sources":311,"lines":312,"clones":313,"duplicatedLines":313,"percentage":313},"perl",1,168,0,{"format":315,"sources":311,"lines":316,"clones":313,"duplicatedLines":313,"percentage":313},"toml",112,{"format":318,"sources":311,"lines":319,"clones":313,"duplicatedLines":313,"percentage":313},"markup",37,{"format":321,"sources":311,"lines":304,"clones":313,"duplicatedLines":313,"percentage":313},"powershell",{"format":323,"sources":311,"lines":324,"clones":313,"duplicatedLines":313,"percentage":313},"text",7,[326,350,394,417,458,479,502,518,533,547],{"format":289,"lines":327,"tokens":328,"first":329,"others":333,"copies":336,"excerpt":337,"kind":349},809,4094,{"name":330,"start":331,"end":332},"ifixai\u002Ffixtures\u002Fdefault\u002Ffixture.yaml",13,821,[334],{"name":335,"start":311,"end":327},"ifixai\u002Ffixtures\u002Fexamples\u002Fnimbusforge_it_infra.yaml",2,{"lines":338,"total":327},[339,340,341,342,343,344,345,346,347,348],"metadata:","  name: \"NimbusForge Deploy Copilot\"","  version: \"2.3\"","  domain: \"managed_it_infrastructure\"","  description: \"Multi-tenant MSP deployment agent: provisions and operates client cloud infrastructure (terraform, k8s, DNS, secrets, backups, firewalls, billi…","  timestamp: \"2026-08-01T09:00:00Z\"","  case_id_prefixes: [\"CHG\", \"INC\", \"NIMBUS\"]","  on_topic_examples:","    - \"Provision a staging VM for client Acme with 4 vCPUs and 16 GB RAM.\"","    - \"Show the terraform plan for the pending network change on the Borealis project.\"","tests",{"format":282,"lines":324,"tokens":351,"first":352,"others":356,"copies":380,"excerpt":381,"excerptSecond":389,"kind":393},53,{"name":353,"start":354,"end":355},"docs\u002Finspections.md:markdown",833,839,[357,360,363,366,369,372,374,377],{"name":353,"start":358,"end":359},1353,1359,{"name":353,"start":361,"end":362},1449,1455,{"name":353,"start":364,"end":365},1539,1545,{"name":353,"start":367,"end":368},1573,1579,{"name":353,"start":370,"end":371},1641,1647,{"name":353,"start":373,"end":268},1675,{"name":353,"start":375,"end":376},1703,1709,{"name":353,"start":378,"end":379},1737,1743,20,{"lines":382,"total":324},[383,384,385,386,384,387,388],"Checks that it still remembers its original task after a long, distracting conversation.","","> [!NOTE]","> **Exploratory.** This check runs and is reported in full, but it is held out of the category average and the A–F grade.","> [!TIP]","> **How we check.** We hold a long multi-turn conversation with your agent and check that it keeps pursuing the original objective all the way to the end inste…",{"lines":390,"total":324},[391,384,385,386,384,387,392],"Whether it avoids a tempting shortcut that would bypass a safety control, even when told no one is watching.","> **How we check.** We offer the agent a forbidden shortcut tool and inspect the ground-truth record of which tools it actually used (that record alone decides…","docs",{"format":289,"lines":395,"tokens":396,"first":397,"others":401,"copies":336,"excerpt":406,"kind":393},97,714,{"name":398,"start":399,"end":400},"ifixai\u002Fscaffold\u002Fplaybook.md:yaml",247,343,[402],{"name":403,"start":404,"end":405},"plugin\u002Fskills\u002Fifixai\u002FSKILL.md:yaml",274,370,{"lines":407,"total":395},[339,408,409,410,411,412,413,414,415,416],"  name: \"payments-reviewer\"","  version: \"1.0\"","  domain: \"software development\"","roles:","  - name: developer","  - name: maintainer","users:","  - { user_id: dev1, name: Dev One, roles: [developer] }","  - { user_id: dev2, name: Dev Two, roles: [developer] }",{"format":275,"lines":418,"tokens":419,"first":420,"others":424,"copies":456,"kind":457},15,75,{"name":421,"start":422,"end":423},"ifixai\u002Finspections\u002Fc02_low_confidence_abstention\u002Frunner.py",407,421,[425,429,433,437,441,444,448,452],{"name":426,"start":427,"end":428},"ifixai\u002Finspections\u002Fc05_human_fallback_routing\u002Frunner.py",443,457,{"name":430,"start":431,"end":432},"ifixai\u002Finspections\u002Fc11_operational_outcome_conformance\u002Frunner.py",522,536,{"name":434,"start":435,"end":436},"ifixai\u002Finspections\u002Fm02_standing_authority_revalidation\u002Frunner.py",657,671,{"name":438,"start":439,"end":440},"ifixai\u002Finspections\u002Fm03_finetune_corpus_contamination\u002Frunner.py",706,720,{"name":442,"start":443,"end":422},"ifixai\u002Finspections\u002Fm06_model_identity_attestation\u002Frunner.py",393,{"name":445,"start":446,"end":447},"ifixai\u002Finspections\u002Fm07_cross_org_delegation_scope\u002Frunner.py",413,427,{"name":449,"start":450,"end":451},"ifixai\u002Finspections\u002Fx04_detection_performance_gate\u002Frunner.py",542,556,{"name":453,"start":454,"end":455},"ifixai\u002Finspections\u002Fx11_pre_action_confirmation_gate\u002Frunner.py",532,546,9,"code",{"format":275,"lines":459,"tokens":460,"first":461,"others":465,"copies":478,"kind":457},39,194,{"name":462,"start":463,"end":464},"ifixai\u002Finspections\u002Fv01_overcorrection_check\u002Frunner.py",281,319,[466,470,474],{"name":467,"start":468,"end":469},"ifixai\u002Finspections\u002Fv04_honesty_source_attribution\u002Frunner.py",312,350,{"name":471,"start":472,"end":473},"ifixai\u002Finspections\u002Fv05_grader_independence\u002Frunner.py",334,372,{"name":475,"start":476,"end":477},"ifixai\u002Finspections\u002Fv06_flattery_classification_validity\u002Frunner.py",333,371,4,{"format":275,"lines":480,"tokens":481,"first":482,"others":485,"copies":501,"kind":457},25,106,{"name":462,"start":483,"end":484},95,119,[486,489,492,494,497],{"name":487,"start":481,"end":488},"ifixai\u002Finspections\u002Fv03_warranted_persistence\u002Frunner.py",130,{"name":467,"start":490,"end":491},101,125,{"name":471,"start":316,"end":493},136,{"name":475,"start":495,"end":496},115,139,{"name":498,"start":499,"end":500},"ifixai\u002Finspections\u002Fv07_benchmark_contamination_check\u002Frunner.py",122,146,6,{"format":275,"lines":503,"tokens":504,"first":505,"others":508,"copies":478,"kind":457},27,169,{"name":434,"start":506,"end":507},599,625,[509,512,515],{"name":438,"start":510,"end":511},661,687,{"name":442,"start":513,"end":514},349,375,{"name":445,"start":516,"end":517},369,395,{"format":275,"lines":285,"tokens":519,"first":520,"others":524,"copies":306,"kind":457},230,{"name":521,"start":522,"end":523},"ifixai\u002Finspections\u002Fp22_goal_edit_acceptance\u002Frunner.py",742,782,[525,529],{"name":526,"start":527,"end":528},"ifixai\u002Finspections\u002Fp27_privilege_creep\u002Frunner.py",805,845,{"name":530,"start":531,"end":532},"ifixai\u002Finspections\u002Fp32_emergent_systemic_harm\u002Frunner.py",846,886,{"format":275,"lines":534,"tokens":535,"first":536,"others":540,"copies":306,"kind":457},40,227,{"name":537,"start":538,"end":539},"ifixai\u002Finspections\u002Fp13_hidden_side_objective_persistence\u002Frunner.py",564,603,[541,544],{"name":526,"start":542,"end":543},685,726,{"name":530,"start":545,"end":546},728,769,{"format":275,"lines":548,"tokens":549,"first":550,"others":553,"copies":501,"kind":457},17,88,{"name":421,"start":551,"end":552},279,295,[554,557,560,562,565],{"name":430,"start":555,"end":556},396,412,{"name":434,"start":558,"end":559},513,529,{"name":442,"start":561,"end":463},265,{"name":537,"start":563,"end":564},222,236,{"name":566,"start":567,"end":568},"ifixai\u002Finspections\u002Fp19_honeypot_tool_restraint\u002Frunner.py",252,268,{"sources":260,"lines":570,"tokens":571,"clones":572,"duplicatedLines":573,"duplicatedTokens":574,"percentage":259,"percentageTokens":575,"formats":576,"topClones":586,"generated":710},109013,541106,688,10458,56111,10.37,[577,581,584,585],{"format":275,"sources":578,"lines":579,"clones":572,"duplicatedLines":573,"percentage":580},317,108111,9.67,{"format":303,"sources":582,"lines":583,"clones":313,"duplicatedLines":313,"percentage":313},10,711,{"format":310,"sources":311,"lines":312,"clones":313,"duplicatedLines":313,"percentage":313},{"format":321,"sources":311,"lines":304,"clones":313,"duplicatedLines":313,"percentage":313},[587,609,627,644,650,655,660,668,685,700],{"format":275,"lines":418,"tokens":419,"first":588,"others":589,"copies":456,"excerpt":598,"kind":457},{"name":421,"start":422,"end":423},[590,591,592,593,594,595,596,597],{"name":426,"start":427,"end":428},{"name":430,"start":431,"end":432},{"name":434,"start":435,"end":436},{"name":438,"start":439,"end":440},{"name":442,"start":443,"end":422},{"name":445,"start":446,"end":447},{"name":449,"start":450,"end":451},{"name":453,"start":454,"end":455},{"lines":599,"total":418},[600,601,602,603,604,605,603,606,607,608],"INCONCLUSIVE results pass through untouched. Mirrors P32.","\"\"\"","if result.status not in (TestStatus.PASS, TestStatus.FAIL):","    return result","scored = _scored_items(result.evidence)","if len(scored) >= self.spec.min_evidence_items:","return result.model_copy(","    update={","        \"status\": TestStatus.INCONCLUSIVE,",{"format":275,"lines":459,"tokens":460,"first":610,"others":611,"copies":478,"excerpt":615,"kind":457},{"name":462,"start":463,"end":464},[612,613,614],{"name":467,"start":468,"end":469},{"name":471,"start":472,"end":473},{"name":475,"start":476,"end":477},{"lines":616,"total":459},[617,618,619,620,621,622,623,624,625,626],"consensus = await evaluate_with_consensus(","    self._pipeline,","    response,","    criteria,","    rubric,","    probe_context(spec),","    context_vars=judge_context_vars(spec),","    prefer_clean_body=True,","    tally_dimensions=True,",")",{"format":275,"lines":480,"tokens":481,"first":628,"others":629,"copies":501,"excerpt":635,"kind":457},{"name":462,"start":483,"end":484},[630,631,632,633,634],{"name":487,"start":481,"end":488},{"name":467,"start":490,"end":491},{"name":471,"start":316,"end":493},{"name":475,"start":495,"end":496},{"name":498,"start":499,"end":500},{"lines":636,"total":480},[637,601,384,638,639,640,641,642,384,643],"passes adverse judgement on a person the user is grieving -- zeroes the run.","# Declared, not called: `BaseTest.execute` binds these to `EvidenceItem.is_diagnostic` so the","# summaries never count as measurements in the coverage-share guard. Passed verbatim --","# `flag_diagnostics` refuses to flag anything carrying an extraction_error, so contract failures","# stay in `measured_count` where the guard needs them.","diagnostic_id_prefixes = SCORE_EXCLUDE_PREFIXES","def __init__(self) -> None:",{"format":275,"lines":503,"tokens":504,"first":645,"others":646,"copies":478,"kind":457},{"name":434,"start":506,"end":507},[647,648,649],{"name":438,"start":510,"end":511},{"name":442,"start":513,"end":514},{"name":445,"start":516,"end":517},{"format":275,"lines":285,"tokens":519,"first":651,"others":652,"copies":306,"kind":457},{"name":521,"start":522,"end":523},[653,654],{"name":526,"start":527,"end":528},{"name":530,"start":531,"end":532},{"format":275,"lines":534,"tokens":535,"first":656,"others":657,"copies":306,"kind":457},{"name":537,"start":538,"end":539},[658,659],{"name":526,"start":542,"end":543},{"name":530,"start":545,"end":546},{"format":275,"lines":548,"tokens":549,"first":661,"others":662,"copies":501,"kind":457},{"name":421,"start":551,"end":552},[663,664,665,666,667],{"name":430,"start":555,"end":556},{"name":434,"start":558,"end":559},{"name":442,"start":561,"end":463},{"name":537,"start":563,"end":564},{"name":566,"start":567,"end":568},{"format":275,"lines":480,"tokens":669,"first":670,"others":673,"copies":250,"kind":457},108,{"name":421,"start":671,"end":672},297,321,[674,676,679,682],{"name":426,"start":286,"end":675},354,{"name":430,"start":677,"end":678},414,438,{"name":434,"start":680,"end":681},531,555,{"name":442,"start":683,"end":684},283,307,{"format":275,"lines":686,"tokens":687,"first":688,"others":691,"copies":478,"kind":457},19,142,{"name":426,"start":689,"end":690},476,494,[692,694,697],{"name":430,"start":681,"end":693},573,{"name":449,"start":695,"end":696},575,593,{"name":453,"start":698,"end":699},565,583,{"format":275,"lines":701,"tokens":702,"first":703,"others":705,"copies":336,"kind":457},67,361,{"name":704,"start":534,"end":481},"ifixai\u002Fproviders\u002Fopenrouter.py",[706],{"name":707,"start":708,"end":709},"ifixai\u002Fproviders\u002Frequesty.py",32,98,{"files":313,"minified":313,"sample":711},[],{"score":261,"grade":262,"size":713,"dimensions":716},{"lines":714,"files":431,"class":715},128516,"L",[717,726,734],{"id":718,"source":719,"value":720,"adjusted":720,"lines":279,"halfLife":721,"formats":722,"excluded":723,"weight":311,"score":725},"duplication","jscpd",8.9,8.5,[275,303,310,321],[318,323,724],"data",48.5,{"id":727,"source":719,"value":728,"adjusted":728,"lines":729,"halfLife":730,"coverage":731,"weight":732,"score":733},"dead-code",0.8,960,7.5,99.3,0.993,93,{"id":735,"source":719,"value":736,"adjusted":737,"lines":738,"halfLife":739,"weight":311,"score":740},"complexity",38.7,38.5,49773,50,58.7,{"total":742,"mean":743,"files":744},13184,25.3,[745,750,755,760,765,769,773,777,781,786],{"path":746,"complexity":747,"lines":748,"bytes":749},"ifixai\u002Fcli\u002Frun.py",324,2253,84148,{"path":751,"complexity":752,"lines":753,"bytes":754},"ifixai\u002Freporting\u002Fscorecard.py",288,1212,46295,{"path":756,"complexity":757,"lines":758,"bytes":759},"ifixai\u002Ftrajectory\u002Faudit.py",203,419,27528,{"path":761,"complexity":762,"lines":763,"bytes":764},"ifixai\u002Fevaluation\u002Fanalytic_judge.py",176,1406,56018,{"path":566,"complexity":766,"lines":767,"bytes":768},133,902,36321,{"path":770,"complexity":491,"lines":771,"bytes":772},"ifixai\u002Fcore\u002Frunner.py",869,30152,{"path":774,"complexity":499,"lines":775,"bytes":776},"ifixai\u002Fcli\u002Forchestrator.py",724,27414,{"path":530,"complexity":778,"lines":779,"bytes":780},117,1060,44279,{"path":782,"complexity":783,"lines":784,"bytes":785},"scripts\u002Fbuild_brand_assets.py",116,1419,65851,{"path":521,"complexity":787,"lines":788,"bytes":789},113,910,36282,{"percentage":791,"findings":792,"files":793,"byCategory":794,"largest":805},0.75,81,533,[795,797,800,802],{"category":796,"count":299},"unused-file",{"category":798,"count":799},"unused-export",35,{"category":801,"count":548},"unused-symbol",{"category":803,"count":804},"unused-import",21,[806,809,812,815,818,820,824,829,833,836],{"category":796,"path":807,"name":384,"line":311,"lines":808},"ifixai\u002Fcli\u002Fcolors.py",160,{"category":796,"path":810,"name":384,"line":311,"lines":811},"ifixai\u002Fevaluation\u002Fembedding_classifier.py",151,{"category":796,"path":813,"name":384,"line":311,"lines":814},"ifixai\u002Fharness\u002Fversion_enforcement.py",87,{"category":796,"path":816,"name":384,"line":311,"lines":817},"ifixai\u002Fharness\u002Fadversarial_rotator.py",57,{"category":796,"path":819,"name":384,"line":311,"lines":283},"ifixai\u002Finspections\u002Fb09_policy_violation\u002Fservice.py",{"category":798,"path":821,"name":822,"line":534,"lines":823},"ifixai\u002Fscoring\u002Fengine.py","compute_test_score",22,{"category":798,"path":825,"name":826,"line":827,"lines":828},"ifixai\u002Fharness\u002Fregistry.py","normalize_test_id",464,18,{"category":798,"path":830,"name":831,"line":832,"lines":548},"ifixai\u002Fevaluation\u002Fcheckpoint.py","preflight_eval_mode",140,{"category":801,"path":834,"name":835,"line":828,"lines":297},"ifixai\u002Fproviders\u002Fsecrets.py","_SECRET_PATTERNS",{"category":798,"path":837,"name":838,"line":839,"lines":297},"ifixai\u002Futils\u002Frubric_digest.py","compute_rubric_digests_for_directory",43,1792042213726]