[{"data":1,"prerenderedAt":2993},["ShallowReactive",2],{"navigation_docs":3,"trending-day-2026-11-04":249,"page-views-\u002Ftrending\u002F2026-11-04":2990,"trending-week-null":2992},[4,29,104,124,194],{"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,99],{"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,"path":101,"stem":102,"icon":103},"Boundaries","\u002Fguides\u002Fboundaries","2.guides\u002F14.boundaries","i-lucide-fence",{"title":105,"icon":6,"path":106,"stem":107,"children":108,"page":6},"Concepts","\u002Fconcepts","3.concepts",[109,114,119],{"title":110,"path":111,"stem":112,"icon":113},"Types of code clones","\u002Fconcepts\u002Fclone-types","3.concepts\u002F1.clone-types","i-lucide-copy",{"title":115,"path":116,"stem":117,"icon":118},"How detection works","\u002Fconcepts\u002Fhow-detection-works","3.concepts\u002F2.how-detection-works","i-lucide-scan-search",{"title":120,"path":121,"stem":122,"icon":123},"The health score","\u002Fconcepts\u002Fhealth-score","3.concepts\u002F3.health-score","i-lucide-heart-pulse",{"title":125,"icon":6,"path":126,"stem":127,"children":128,"page":6},"Reference","\u002Freference","4.reference",[129,134,139,144,181,186,190],{"title":130,"path":131,"stem":132,"icon":133},"CLI options","\u002Freference\u002Fcli","4.reference\u002F1.cli","i-lucide-terminal",{"title":135,"path":136,"stem":137,"icon":138},"The config file","\u002Freference\u002Fconfig-file","4.reference\u002F2.config-file","i-lucide-settings",{"title":140,"path":141,"stem":142,"icon":143},"Exit codes","\u002Freference\u002Fexit-codes","4.reference\u002F3.exit-codes","i-lucide-log-out",{"title":145,"icon":6,"path":146,"stem":147,"children":148},"Reporters","\u002Freference\u002Freporters","4.reference\u002F4.reporters\u002Findex",[149,151,156,161,166,171,176],{"title":145,"path":146,"stem":147,"icon":150},"i-lucide-file-chart-column",{"title":152,"path":153,"stem":154,"icon":155},"HTML reporter","\u002Freference\u002Freporters\u002Fhtml","4.reference\u002F4.reporters\u002F2.html","i-lucide-file-code",{"title":157,"path":158,"stem":159,"icon":160},"JSON reporter","\u002Freference\u002Freporters\u002Fjson","4.reference\u002F4.reporters\u002F3.json","i-lucide-braces",{"title":162,"path":163,"stem":164,"icon":165},"Badge reporter","\u002Freference\u002Freporters\u002Fbadge","4.reference\u002F4.reporters\u002F4.badge","i-lucide-award",{"title":167,"path":168,"stem":169,"icon":170},"SARIF reporter","\u002Freference\u002Freporters\u002Fsarif","4.reference\u002F4.reporters\u002F5.sarif","i-lucide-shield-check",{"title":172,"path":173,"stem":174,"icon":175},"CodeClimate reporter","\u002Freference\u002Freporters\u002Fcodeclimate","4.reference\u002F4.reporters\u002F6.codeclimate","i-lucide-flag-triangle-right",{"title":177,"path":178,"stem":179,"icon":180},"OpenMetrics reporter","\u002Freference\u002Freporters\u002Fopenmetrics","4.reference\u002F4.reporters\u002F7.openmetrics","i-lucide-activity",{"title":182,"path":183,"stem":184,"icon":185},"Supported formats","\u002Freference\u002Fsupported-formats","4.reference\u002F5.supported-formats","i-lucide-languages",{"title":187,"path":188,"stem":189,"icon":38},"GitHub Action","\u002Freference\u002Fgithub-action","4.reference\u002F6.github-action",{"title":191,"path":192,"stem":193,"icon":68},"Rust crates","\u002Freference\u002Frust-crates","4.reference\u002F7.rust-crates",{"title":195,"icon":6,"path":196,"stem":197,"children":198,"page":6},"Project","\u002Fproject","5.project",[199,204,209,214,239,244],{"title":200,"path":201,"stem":202,"icon":203},"Changelog","\u002Fproject\u002Fchangelog","5.project\u002F1.changelog","i-lucide-scroll-text",{"title":205,"path":206,"stem":207,"icon":208},"Migrating from v4 to v5","\u002Fproject\u002Fmigration","5.project\u002F2.migration","i-lucide-arrow-right-left",{"title":210,"path":211,"stem":212,"icon":213},"jscpd v4 (TypeScript)","\u002Fproject\u002Fv4","5.project\u002F3.v4","i-simple-icons-typescript",{"title":215,"icon":6,"path":216,"stem":217,"children":218},"Benchmarks","\u002Fproject\u002Fbenchmarks","5.project\u002F4.benchmarks\u002Findex",[219,221,226,230,235],{"title":215,"path":216,"stem":217,"icon":220},"i-lucide-gauge",{"title":222,"path":223,"stem":224,"icon":225},"Detection Speed","\u002Fproject\u002Fbenchmarks\u002Fdetection-speed","5.project\u002F4.benchmarks\u002F2.detection-speed","i-lucide-zap",{"title":227,"path":228,"stem":229,"icon":58},"Multi-Format Detection","\u002Fproject\u002Fbenchmarks\u002Fcross-format","5.project\u002F4.benchmarks\u002F3.cross-format",{"title":231,"path":232,"stem":233,"icon":234},"AI Token Efficiency","\u002Fproject\u002Fbenchmarks\u002Fai-token-efficiency","5.project\u002F4.benchmarks\u002F4.ai-token-efficiency","i-lucide-sparkles",{"title":236,"path":237,"stem":238,"icon":93},"Embedding Models","\u002Fproject\u002Fbenchmarks\u002Fembedding-models","5.project\u002F4.benchmarks\u002F5.embedding-models",{"title":240,"path":241,"stem":242,"icon":243},"Research","\u002Fproject\u002Fresearch","5.project\u002F5.research","i-lucide-graduation-cap",{"title":245,"path":246,"stem":247,"icon":248},"Articles","\u002Fproject\u002Farticles","5.project\u002F6.articles","i-lucide-newspaper",{"date":250,"generatedAt":251,"source":252,"jscpdVersion":253,"summary":254,"repos":325},"2026-11-04","2026-11-04T05:21:37.925Z","github-trending-daily","5.4.2",{"repos":255,"sources":256,"lines":257,"tokens":258,"clones":259,"duplicatedLines":260,"duplicatedTokens":261,"percentage":262,"percentageTokens":263,"avgPercentage":264,"medianPercentage":265,"mostDuplicated":266,"cleanest":270,"mostClones":274,"codeRepos":278,"codeSources":279,"codeLines":280,"codeClones":281,"codeDuplicatedLines":282,"codePercentage":283,"codeMedianPercentage":284,"codeMostDuplicated":285,"codeCleanest":289,"generatedFiles":292,"avgHealth":293,"healthiest":294,"leastHealthy":297,"languages":301},7,6052,1528969,15862745,9464,160712,1462394,10.51,9.22,10.4,7.25,{"name":267,"clones":268,"percentage":269},"shiyu-coder\u002FKronos",108,35.54,{"name":271,"clones":272,"percentage":273},"Usagi-org\u002Fai-goofish-monitor",40,1.54,{"name":275,"clones":276,"percentage":277},"JustVugg\u002Fcolibri",4713,10.21,4,3544,842172,3342,34733,4.12,2.65,{"name":286,"clones":287,"percentage":288},"vercel-labs\u002Fagent-desktop",2026,5.64,{"name":271,"clones":290,"percentage":291},20,1,8,60.3,{"name":271,"score":295,"grade":296},78.8,"B",{"name":298,"score":299,"grade":300},"max-sixty\u002Fworktrunk",43.4,"D",[302,309,316,320],{"language":303,"repos":304,"clones":305,"lines":306,"duplicatedLines":307,"percentage":308},"Python",3,168,123258,29855,24.22,{"language":310,"repos":311,"clones":312,"lines":313,"duplicatedLines":314,"percentage":315},"Rust",2,4579,846355,74018,8.75,{"language":317,"repos":291,"clones":276,"lines":318,"duplicatedLines":319,"percentage":277},"C",555901,56779,{"language":321,"repos":291,"clones":278,"lines":322,"duplicatedLines":323,"percentage":324},"TypeScript",3455,60,1.74,[326,956,1407,1969,2217,2342,2650],{"name":286,"url":327,"description":328,"language":310,"stars":329,"starsToday":330,"defaultBranch":331,"headSha":332,"durationMs":333,"total":334,"formats":342,"topClones":406,"code":589,"health":831,"complexity":864,"deadCode":916},"https:\u002F\u002Fgithub.com\u002Fvercel-labs\u002Fagent-desktop","Computer use CLI for AI agents",13244,3791,"main","6660fbac768dc7e7332837b90ed465684859afa3",3330,{"sources":335,"lines":336,"tokens":337,"clones":338,"duplicatedLines":339,"duplicatedTokens":340,"percentage":265,"percentageTokens":341},3382,508817,3723982,2502,36884,209698,5.63,[343,350,357,364,371,378,383,389,396,401],{"format":344,"sources":345,"lines":346,"clones":347,"duplicatedLines":348,"percentage":349},"rust",2603,368249,1701,18862,5.12,{"format":351,"sources":352,"lines":353,"clones":354,"duplicatedLines":355,"percentage":356},"powershell",139,44842,415,4901,10.93,{"format":358,"sources":359,"lines":360,"clones":361,"duplicatedLines":362,"percentage":363},"json",156,29054,284,11646,40.08,{"format":365,"sources":366,"lines":367,"clones":368,"duplicatedLines":369,"percentage":370},"python",164,22419,27,261,1.16,{"format":372,"sources":373,"lines":374,"clones":375,"duplicatedLines":376,"percentage":377},"yaml",29,2868,26,509,17.75,{"format":379,"sources":368,"lines":380,"clones":290,"duplicatedLines":381,"percentage":382},"csharp",7621,292,3.83,{"format":384,"sources":292,"lines":385,"clones":386,"duplicatedLines":387,"percentage":388},"markup",643,10,240,37.33,{"format":390,"sources":391,"lines":392,"clones":393,"duplicatedLines":394,"percentage":395},"javascript",32,5718,9,96,1.68,{"format":397,"sources":311,"lines":398,"clones":255,"duplicatedLines":399,"percentage":400},"c-header",2318,51,2.2,{"format":402,"sources":292,"lines":403,"clones":311,"duplicatedLines":404,"percentage":405},"c",929,15,1.61,[407,429,455,475,484,492,500,522,552,575],{"format":358,"lines":408,"tokens":409,"copies":311,"first":410,"others":414,"excerpt":417},1360,3724,{"name":411,"start":412,"end":413},"probes\u002Fwindows\u002F15-vocabulary\u002Fcaptures\u002Fuia-vocabulary-wpf-ci.json",56,1415,[415],{"name":416,"start":412,"end":413},"probes\u002Fwindows\u002F15-vocabulary\u002Fcaptures\u002Fuia-vocabulary-wpf-devbox.json",{"lines":418,"total":408},[419,420,421,422,423,424,425,426,427,428],"                                    \"read_median_micros\":  3978,","                                    \"repeats\":  7,","                                    \"successful_reads\":  3482","                                },","                   \"note\":  \"min is the least noise-sensitive estimator; the spread is reported so a claim can be checked against it\",","                   \"warmed_up\":  true","               },","\"cached_labeled_by\":  {","                          \"cached_nodes\":  81,","                          \"labelled_nodes\":  2,",{"format":384,"lines":430,"tokens":431,"copies":278,"first":432,"others":436,"excerpt":443},53,981,{"name":433,"start":434,"end":435},".agents\u002Fskills\u002Farchitecture-diagram\u002Freferences\u002Ftemplate.html",6,58,[437,439,441],{"name":438,"start":434,"end":435},"apps\u002Fdocs\u002Fpublic\u002Fdesktop\u002Fdiagrams\u002Farchitecture\u002Findex.html",{"name":440,"start":434,"end":435},"apps\u002Fdocs\u002Fpublic\u002Fdesktop\u002Fdiagrams\u002Fref-resolution\u002Findex.html",{"name":442,"start":434,"end":435},"apps\u002Fdocs\u002Fpublic\u002Fdesktop\u002Fdiagrams\u002Fsnapshot-loop\u002Findex.html",{"lines":444,"total":430},[445,446,447,448,449,450,451,452,453,454],"\u003Ctitle>Diagram name\u003C\u002Ftitle>","\u003Cscript>","  var t = new URLSearchParams(location.search).get(\"theme\");","  if (t === \"light\" || t === \"dark\") document.documentElement.setAttribute(\"data-theme\", t);","  if (window.self === window.top) document.documentElement.setAttribute(\"data-top\", \"\");","\u003C\u002Fscript>","\u003Cstyle>","  :root {","    color-scheme: dark;","    --bg: #000; --panel: #0a0a0a; --node: #111; --border: #5c5c5c;",{"format":358,"lines":456,"tokens":457,"copies":311,"first":458,"others":460,"excerpt":463},748,2421,{"name":459,"start":291,"end":456},"probes\u002Fwindows\u002F19-semantic-actions\u002Fcaptures\u002Fsemantic-set-ci.json",[461],{"name":462,"start":291,"end":456},"probes\u002Fwindows\u002F19-semantic-actions\u002Fcaptures\u002Fsemantic-set-devbox.json",{"lines":464,"total":456},[465,466,467,468,469,470,471,472,473,474],"{","    \"winforms\":  {","                     \"ExpandCollapse\":  {","                                            \"automation_id_digest\":  \"fe622ad1c908a3ce\",","                                            \"call\":  {","                                                         \"before\":  {","                                                                        \"ok\":  true,","                                                                        \"state\":  \"Collapsed\"","                                                                    },","                                                         \"collapse\":  {",{"format":358,"lines":476,"tokens":477,"copies":311,"first":478,"others":481},642,1746,{"name":479,"start":412,"end":480},"probes\u002Fwindows\u002F15-vocabulary\u002Fcaptures\u002Fuia-vocabulary-ci.json",697,[482],{"name":483,"start":412,"end":480},"probes\u002Fwindows\u002F15-vocabulary\u002Fcaptures\u002Fuia-vocabulary-devbox.json",{"format":358,"lines":485,"tokens":486,"copies":311,"first":487,"others":489},293,931,{"name":488,"start":291,"end":485},"probes\u002Fwindows\u002F19-semantic-actions\u002Fcaptures\u002Fsemantic-failure-ci.json",[490],{"name":491,"start":291,"end":485},"probes\u002Fwindows\u002F19-semantic-actions\u002Fcaptures\u002Fsemantic-failure-devbox.json",{"format":358,"lines":493,"tokens":494,"copies":311,"first":495,"others":497},304,857,{"name":496,"start":291,"end":493},"probes\u002Fwindows\u002F19-semantic-actions\u002Fcaptures\u002Fsemantic-combo-ci.json",[498],{"name":499,"start":291,"end":493},"probes\u002Fwindows\u002F19-semantic-actions\u002Fcaptures\u002Fsemantic-combo-devbox.json",{"format":344,"lines":404,"tokens":501,"copies":386,"first":502,"others":504},87,{"name":503,"start":291,"end":404},"crates\u002Fcore\u002Fsrc\u002Fcommands\u002Fcheck.rs",[505,507,509,512,514,516,518,520],{"name":506,"start":291,"end":404},"crates\u002Fcore\u002Fsrc\u002Fcommands\u002Fclear.rs",{"name":508,"start":291,"end":404},"crates\u002Fcore\u002Fsrc\u002Fcommands\u002Fclick.rs",{"name":510,"start":291,"end":511},"crates\u002Fcore\u002Fsrc\u002Fcommands\u002Fcollapse.rs",18,{"name":513,"start":291,"end":404},"crates\u002Fcore\u002Fsrc\u002Fcommands\u002Fexpand.rs",{"name":515,"start":291,"end":511},"crates\u002Fcore\u002Fsrc\u002Fcommands\u002Ffocus.rs",{"name":517,"start":291,"end":511},"crates\u002Fcore\u002Fsrc\u002Fcommands\u002Fscroll_to.rs",{"name":519,"start":291,"end":404},"crates\u002Fcore\u002Fsrc\u002Fcommands\u002Ftoggle.rs",{"name":521,"start":291,"end":511},"crates\u002Fcore\u002Fsrc\u002Fcommands\u002Ftriple_click.rs",{"format":351,"lines":523,"tokens":524,"copies":255,"first":525,"others":529},16,114,{"name":526,"start":527,"end":528},"probes\u002Fwindows\u002F14-ci-capability\u002Fprobe.ps1",50,65,[530,534,538,542,545,548],{"name":531,"start":532,"end":533},"probes\u002Fwindows\u002F15-vocabulary\u002Fprobe.ps1",55,70,{"name":535,"start":536,"end":537},"probes\u002Fwindows\u002F16-observation\u002Fprobe.ps1",62,77,{"name":539,"start":540,"end":541},"probes\u002Fwindows\u002F17-resolution\u002Fprobe.ps1",59,74,{"name":543,"start":544,"end":536},"probes\u002Fwindows\u002F18-actionability\u002Fprobe.ps1",47,{"name":546,"start":430,"end":547},"probes\u002Fwindows\u002F20-input-synthesis\u002Fprobe.ps1",68,{"name":549,"start":550,"end":551},"probes\u002Fwindows\u002F21-system-lifecycle\u002Fmeasure-cost.ps1",30,45,{"format":351,"lines":553,"tokens":554,"copies":255,"first":555,"others":558},11,104,{"name":556,"start":368,"end":557},"probes\u002Fwindows\u002F22-capture-clipboard\u002Fmeasure-cost.ps1",37,[559,561,564,567,569,573],{"name":560,"start":430,"end":528},"probes\u002Fwindows\u002F22-capture-clipboard\u002Fprobe.ps1",{"name":562,"start":563,"end":412},"probes\u002Fwindows\u002F23-signals-menus\u002Fmeasure-cost.ps1",44,{"name":565,"start":547,"end":566},"probes\u002Fwindows\u002F23-signals-menus\u002Fprobe-root-classify.ps1",80,{"name":568,"start":435,"end":533},"probes\u002Fwindows\u002F23-signals-menus\u002Fprobe.ps1",{"name":570,"start":571,"end":572},"probes\u002Fwindows\u002F24-fixture-e2e\u002F01-fixture-toolchain.ps1",85,97,{"name":574,"start":536,"end":541},"probes\u002Fwindows\u002F25-packaging\u002F01-archive-and-download-tools.ps1",{"format":358,"lines":576,"tokens":577,"copies":304,"first":578,"others":582},111,307,{"name":579,"start":580,"end":581},"probes\u002Fwindows\u002F16-observation\u002Fcaptures\u002Fobservation-chromium-devbox.json",82,192,[583,586],{"name":579,"start":584,"end":585},92,202,{"name":579,"start":587,"end":588},212,322,{"sources":590,"lines":591,"tokens":592,"clones":287,"duplicatedLines":593,"duplicatedTokens":594,"percentage":288,"percentageTokens":595,"formats":596,"topClones":629,"generated":828},2677,408104,2842991,23021,154951,5.45,[597,603,608,611,612,616,620,623,626],{"format":344,"sources":598,"lines":599,"clones":600,"duplicatedLines":601,"percentage":602},2511,354233,1617,18084,5.11,{"format":351,"sources":604,"lines":605,"clones":606,"duplicatedLines":312,"percentage":607},86,35249,380,12.99,{"format":379,"sources":292,"lines":609,"clones":290,"duplicatedLines":381,"percentage":610},5471,5.34,{"format":397,"sources":311,"lines":398,"clones":255,"duplicatedLines":399,"percentage":400},{"format":402,"sources":613,"lines":614,"clones":311,"duplicatedLines":404,"percentage":615},5,95,15.79,{"format":390,"sources":617,"lines":618,"clones":619,"duplicatedLines":619,"percentage":619},17,3013,0,{"format":621,"sources":375,"lines":622,"clones":619,"duplicatedLines":619,"percentage":619},"bash",2771,{"format":365,"sources":624,"lines":625,"clones":619,"duplicatedLines":619,"percentage":619},13,2528,{"format":627,"sources":393,"lines":628,"clones":619,"duplicatedLines":619,"percentage":619},"objectivec",2426,[630,653,674,701,731,755,773,790,809,819],{"format":344,"lines":404,"tokens":501,"copies":386,"first":631,"others":632,"excerpt":641},{"name":503,"start":291,"end":404},[633,634,635,636,637,638,639,640],{"name":506,"start":291,"end":404},{"name":508,"start":291,"end":404},{"name":510,"start":291,"end":511},{"name":513,"start":291,"end":404},{"name":515,"start":291,"end":511},{"name":517,"start":291,"end":511},{"name":519,"start":291,"end":404},{"name":521,"start":291,"end":511},{"lines":642,"total":404},[643,644,645,646,647,648,649,650,651,652],"use crate::{","    AppError,","    actions::action::Action,","    adapter::PlatformAdapter,","    commands::helpers::{RefArgs, execute_ref_action_with_context},","    context::CommandContext,","};","use serde_json::Value;","","pub fn execute(",{"format":351,"lines":523,"tokens":524,"copies":255,"first":654,"others":655,"excerpt":662},{"name":526,"start":527,"end":528},[656,657,658,659,660,661],{"name":531,"start":532,"end":533},{"name":535,"start":536,"end":537},{"name":539,"start":540,"end":541},{"name":543,"start":544,"end":536},{"name":546,"start":430,"end":547},{"name":549,"start":550,"end":551},{"lines":663,"total":523},[664,665,666,667,668,669,670,671,672,673],"function Write-CapabilityCapture {","    param(","        [Parameter(Mandatory = $true)][string]$Name,","        [Parameter(Mandatory = $true)][AllowEmptyString()][string]$Content","    )","    $redacted = Protect-ProbeText -Text $Content","    $path = Join-Path $script:CaptureDir $Name","    $utf8NoBom = New-Object System.Text.UTF8Encoding $false","    [IO.File]::WriteAllText($path, $redacted, $utf8NoBom)","    if (-not (Test-CaptureRedaction -Path $path)) {",{"format":351,"lines":553,"tokens":554,"copies":255,"first":675,"others":676,"excerpt":683,"excerptSecond":690},{"name":556,"start":368,"end":557},[677,678,679,680,681,682],{"name":560,"start":430,"end":528},{"name":562,"start":563,"end":412},{"name":565,"start":547,"end":566},{"name":568,"start":435,"end":533},{"name":570,"start":571,"end":572},{"name":574,"start":536,"end":541},{"lines":684,"total":553},[669,670,671,672,685,686,687,688,689,651],"    $normalized = Get-NormalizedCapture -Text $redacted","    [IO.File]::WriteAllText(($path + '.normalized'), $normalized, $utf8NoBom)","    if (-not (Test-CaptureRedaction -Path $path)) { throw \"redaction residue in $path\" }","    return $path","}",{"lines":691,"total":624},[692,693,694,695,696,697,698,699,689,700],"$redacted = Protect-ProbeText -Text $Content","$path = Join-Path $script:CaptureDir $Name","$utf8NoBom = New-Object System.Text.UTF8Encoding $false","[IO.File]::WriteAllText($path, $redacted, $utf8NoBom)","$normalized = Get-NormalizedCapture -Text $redacted","[IO.File]::WriteAllText(($path + '.normalized'), $normalized, $utf8NoBom)","if (-not (Test-CaptureRedaction -Path $path)) {","    throw \"redaction residue in $path\"","return $path",{"format":344,"lines":404,"tokens":501,"copies":292,"first":702,"others":706},{"name":703,"start":704,"end":705},"crates\u002Fcore\u002Fsrc\u002Fcommands\u002Fwait_resolution_tests.rs",109,123,[707,711,715,717,721,724,728],{"name":708,"start":709,"end":710},"crates\u002Fcore\u002Fsrc\u002Fref_action\u002Fref_action_exactly_once_tests.rs",200,214,{"name":712,"start":713,"end":714},"crates\u002Fcore\u002Fsrc\u002Fref_action\u002Fref_action_tests.rs",201,215,{"name":716,"start":523,"end":550},"crates\u002Fcore\u002Fsrc\u002Fref_action\u002Fref_action_wait_app_not_found_tests.rs",{"name":718,"start":719,"end":720},"crates\u002Fcore\u002Fsrc\u002Fref_action\u002Fref_action_wait_process_state_tests.rs",19,33,{"name":722,"start":290,"end":723},"crates\u002Fcore\u002Fsrc\u002Fref_action\u002Fref_action_wait_success_tests.rs",34,{"name":725,"start":726,"end":727},"crates\u002Fcore\u002Fsrc\u002Fref_action\u002Fref_action_wait_tests.rs",127,141,{"name":729,"start":730,"end":527},"crates\u002Fcore\u002Fsrc\u002Ftrace\u002Ftrace_artifacts_tests.rs",36,{"format":344,"lines":732,"tokens":733,"copies":386,"first":734,"others":736},12,67,{"name":716,"start":735,"end":614},84,[737,739,742,744,746,747,749,752],{"name":716,"start":705,"end":738},134,{"name":716,"start":740,"end":741},199,210,{"name":743,"start":604,"end":572},"crates\u002Fcore\u002Fsrc\u002Fref_action\u002Fref_action_wait_lease_tests.rs",{"name":718,"start":501,"end":745},98,{"name":722,"start":541,"end":571},{"name":725,"start":536,"end":748},73,{"name":725,"start":750,"end":751},101,112,{"name":725,"start":753,"end":754},318,329,{"format":351,"lines":511,"tokens":756,"copies":613,"first":757,"others":759},150,{"name":570,"start":758,"end":614},78,[760,762,766,770],{"name":761,"start":501,"end":554},"probes\u002Fwindows\u002F24-fixture-e2e\u002F04-explorer-below-fold.ps1",{"name":763,"start":764,"end":765},"probes\u002Fwindows\u002F24-fixture-e2e\u002F06-cell-role-provider.ps1",76,93,{"name":767,"start":768,"end":769},"probes\u002Fwindows\u002F24-fixture-e2e\u002F09-cell-role-stock-dgv.ps1",64,81,{"name":771,"start":435,"end":772},"probes\u002Fwindows\u002F24-fixture-e2e\u002F10-hosted-modern-capture.ps1",75,{"format":351,"lines":393,"tokens":774,"copies":255,"first":775,"others":776},91,{"name":526,"start":527,"end":435},[777,779,781,784,786,788],{"name":560,"start":778,"end":412},48,{"name":562,"start":780,"end":544},39,{"name":565,"start":782,"end":783},63,71,{"name":568,"start":430,"end":785},61,{"name":570,"start":566,"end":787},88,{"name":574,"start":789,"end":528},57,{"format":344,"lines":791,"tokens":769,"copies":255,"first":792,"others":796},14,{"name":793,"start":794,"end":795},"crates\u002Fcore\u002Fsrc\u002Fref_action\u002Fpresentation_lease_tests.rs",22,35,[797,799,801,804,805,807],{"name":798,"start":272,"end":430},"crates\u002Fcore\u002Fsrc\u002Fref_action\u002Fpresentation_shared_cursor_tests.rs",{"name":712,"start":268,"end":800},121,{"name":712,"start":802,"end":803},154,167,{"name":722,"start":785,"end":541},{"name":729,"start":501,"end":806},100,{"name":729,"start":808,"end":366},151,{"format":351,"lines":810,"tokens":811,"copies":311,"first":812,"others":816},66,482,{"name":813,"start":814,"end":815},"probes\u002Fwindows\u002Fscratch\u002Frun-input-dogfood.ps1",241,306,[817],{"name":818,"start":774,"end":359},"probes\u002Fwindows\u002Fscratch\u002Frun-lifecycle-dogfood.ps1",{"format":351,"lines":290,"tokens":808,"copies":278,"first":820,"others":821},{"name":570,"start":758,"end":572},[822,824,826],{"name":823,"start":758,"end":572},"probes\u002Fwindows\u002F24-fixture-e2e\u002F05-hwnd-wrap-churn.ps1",{"name":825,"start":541,"end":787},"probes\u002Fwindows\u002F24-fixture-e2e\u002F07-split-integrity-effects.ps1",{"name":827,"start":501,"end":750},"probes\u002Fwindows\u002F24-fixture-e2e\u002F08-chromium-content.ps1",{"files":291,"minified":619,"sample":829},[830],"scripts\u002Fcheck-rust-file-size.sh",{"score":832,"grade":317,"size":833,"dimensions":837},68.8,{"lines":834,"files":835,"class":836},462756,3064,"L",[838,851,859],{"id":839,"source":840,"value":841,"adjusted":841,"lines":842,"halfLife":843,"formats":844,"excluded":848,"weight":291,"score":528},"duplication","jscpd",5.3,24489,8.5,[344,351,365,379,621,390,627,397,845,402,846,847],"swift","tsx","typescript",[384,849,850],"text","data",{"id":852,"source":840,"value":853,"adjusted":400,"lines":854,"halfLife":855,"coverage":856,"weight":857,"score":858},"dead-code",2.1,608,7.5,6.2,0.062,81.8,{"id":860,"source":840,"value":861,"adjusted":861,"lines":862,"halfLife":527,"weight":291,"score":863},"complexity",23.7,109672,72,{"total":865,"mean":866,"files":867},63610,20.8,[868,873,878,883,888,893,897,902,907,911],{"path":869,"complexity":870,"lines":871,"bytes":872},"probes\u002Fwindows\u002F26-shell-surfaces\u002Fshell-probe.cs",454,2051,105414,{"path":874,"complexity":875,"lines":876,"bytes":877},"probes\u002Fwindows\u002Fscratch\u002Frun-capture-clipboard-dogfood.ps1",269,1029,51809,{"path":879,"complexity":880,"lines":881,"bytes":882},"probes\u002Fwindows\u002Fcommon.ps1",253,1115,56786,{"path":884,"complexity":885,"lines":886,"bytes":887},"probes\u002Fwindows\u002Fscratch\u002Frun-semantic-dogfood.ps1",250,945,47306,{"path":889,"complexity":890,"lines":891,"bytes":892},"probes\u002Fwindows\u002F08-uia3-com.cs",242,1440,70503,{"path":894,"complexity":714,"lines":895,"bytes":896},"probes\u002Fwindows\u002Fscratch\u002Frun-actionability-dogfood.ps1",894,46012,{"path":898,"complexity":899,"lines":900,"bytes":901},"scripts\u002Fcheck_architecture.py",204,663,33369,{"path":903,"complexity":904,"lines":905,"bytes":906},"tests\u002Fe2e-linux\u002Fscenarios\u002Fref_contract.py",198,369,20263,{"path":813,"complexity":908,"lines":909,"bytes":910},195,1106,50448,{"path":912,"complexity":913,"lines":914,"bytes":915},"probes\u002Fwindows\u002F01-tree-dump.ps1",181,773,44621,{"percentage":917,"findings":553,"files":918,"byCategory":919,"largest":926},2.11,228,[920,922,924],{"category":921,"count":613},"unused-file",{"category":923,"count":278},"unused-export",{"category":925,"count":311},"unused-import",[927,930,933,936,938,940,943,947,949,952],{"category":921,"path":928,"name":651,"line":291,"lines":929},"crates\u002Fcore\u002Fsrc\u002Ftrace\u002Ftrace_read\u002Fviewer.js",347,{"category":921,"path":931,"name":651,"line":291,"lines":932},"src\u002Fvisual_debug\u002Fviewer.js",161,{"category":921,"path":934,"name":651,"line":291,"lines":935},"crates\u002Flinux\u002Fsrc\u002Fsystem\u002Fclose\u002Fclose_live\u002Fowners.py",49,{"category":921,"path":937,"name":651,"line":291,"lines":720},"src\u002Fvisual_debug\u002Fviewer_filter.js",{"category":921,"path":939,"name":651,"line":291,"lines":434},"apps\u002Fdocs\u002Flib\u002Futils.ts",{"category":923,"path":941,"name":942,"line":553,"lines":304},"apps\u002Fdocs\u002Flib\u002Fgeistdocs\u002Fi18n.ts","i18nProvider",{"category":925,"path":944,"name":945,"line":946,"lines":304},"scripts\u002Flinux-live-gate.py","CLI_WAYLAND",21,{"category":925,"path":944,"name":948,"line":946,"lines":304},"CURSOR_WAYLAND",{"category":923,"path":950,"name":951,"line":373,"lines":291},"apps\u002Fdocs\u002Flib\u002Fgeistdocs\u002Fsite-url.ts","isSiteUrlConfigured",{"category":923,"path":953,"name":954,"line":955,"lines":291},"apps\u002Fdocs\u002Flib\u002Fgeistdocs\u002Fsource.ts","getPageImage",23,{"name":298,"url":957,"description":958,"language":310,"stars":959,"starsToday":960,"defaultBranch":331,"headSha":961,"durationMs":962,"total":963,"formats":971,"topClones":1014,"code":1126,"health":1319,"complexity":1341,"deadCode":1393},"https:\u002F\u002Fgithub.com\u002Fmax-sixty\u002Fworktrunk","Worktrunk is a CLI for Git worktree management, designed for parallel AI agent workflows",10613,438,"ea28955826ad6b9e58857caebb3fcb717b1222b5",2001,{"sources":964,"lines":965,"tokens":966,"clones":967,"duplicatedLines":968,"duplicatedTokens":969,"percentage":553,"percentageTokens":970},587,337538,2066243,2077,37134,266178,12.88,[972,978,984,990,994,997,1003,1006,1008,1011],{"format":344,"sources":973,"lines":974,"clones":975,"duplicatedLines":976,"percentage":977},297,282468,1804,19049,6.74,{"format":979,"sources":772,"lines":980,"clones":981,"duplicatedLines":982,"percentage":983},"markdown",27530,137,12090,43.92,{"format":849,"sources":985,"lines":986,"clones":987,"duplicatedLines":988,"percentage":989},43,3316,42,2319,69.93,{"format":358,"sources":368,"lines":991,"clones":557,"duplicatedLines":992,"percentage":993},6558,2072,31.59,{"format":372,"sources":550,"lines":995,"clones":617,"duplicatedLines":387,"percentage":996},3505,6.85,{"format":998,"sources":999,"lines":1000,"clones":791,"duplicatedLines":1001,"percentage":1002},"toml",28,2659,1006,37.83,{"format":621,"sources":550,"lines":1004,"clones":624,"duplicatedLines":387,"percentage":1005},949,25.29,{"format":390,"sources":404,"lines":1007,"clones":434,"duplicatedLines":412,"percentage":405},3477,{"format":846,"sources":311,"lines":1009,"clones":278,"duplicatedLines":391,"percentage":1010},1010,3.17,{"format":365,"sources":255,"lines":1012,"clones":291,"duplicatedLines":255,"percentage":1013},3501,0.2,[1015,1031,1046,1066,1074,1082,1088,1096,1106,1114],{"format":979,"lines":1016,"tokens":1017,"copies":311,"first":1018,"others":1020,"excerpt":1023},1538,7415,{"name":1019,"start":291,"end":1016},"plugins\u002Fworktrunk\u002Fskills\u002Fworktrunk\u002Freference\u002Fconfig.md",[1021],{"name":1022,"start":291,"end":1016},"skills\u002Fworktrunk\u002Freference\u002Fconfig.md",{"lines":1024,"total":1016},[1025,651,1026,651,1027,651,1028,651,1029,1030],"# wt config","Manage user & project configs. Includes shell integration, hooks, and saved state.","## Examples","Install shell integration (required for directory switching):","```console","$ wt config shell install",{"format":979,"lines":1032,"tokens":1033,"copies":311,"first":1034,"others":1036,"excerpt":1039},581,6152,{"name":1035,"start":291,"end":1032},"plugins\u002Fworktrunk\u002Fskills\u002Fworktrunk\u002Freference\u002Flist.md",[1037],{"name":1038,"start":291,"end":1032},"skills\u002Fworktrunk\u002Freference\u002Flist.md",{"lines":1040,"total":1032},[1041,651,1042,651,1043,651,1044,651,1045,651],"# wt list","List worktrees and their status.","Shows uncommitted changes, divergence from the default branch and remote, and optional CI status and LLM summaries.","The table renders progressively: branch names, paths, and commit hashes appear immediately, then status, divergence, and other columns fill in as background gi…","## Full mode",{"format":849,"lines":1047,"tokens":1048,"copies":304,"first":1049,"others":1052,"excerpt":1058},1027,2289,{"name":1050,"start":523,"end":1051},"docs\u002Fsrc\u002Fcontent\u002Fdocs\u002Fstep.md",1042,[1053,1056],{"name":1054,"start":386,"end":1055},"plugins\u002Fworktrunk\u002Fskills\u002Fworktrunk\u002Freference\u002Fstep.md",1030,{"name":1057,"start":386,"end":1055},"skills\u002Fworktrunk\u002Freference\u002Fstep.md",{"lines":1059,"total":1047},[1060,1061,1062,1063,1064,651,1065,651,1029,1060],"$ wt step commit","◎ Generating commit message and committing changes... (2 files, +26)","  feat(validation): add input validation utilities","✓ Committed changes @ a1b2c3d","```","Manual merge workflow with review between steps:",{"format":979,"lines":1067,"tokens":1068,"copies":311,"first":1069,"others":1071},301,4278,{"name":1070,"start":291,"end":1067},"plugins\u002Fworktrunk\u002Fskills\u002Fworktrunk\u002Freference\u002Ffaq.md",[1072],{"name":1073,"start":291,"end":1067},"skills\u002Fworktrunk\u002Freference\u002Ffaq.md",{"format":979,"lines":1075,"tokens":1076,"copies":311,"first":1077,"others":1079},365,4008,{"name":1078,"start":291,"end":1075},"plugins\u002Fworktrunk\u002Fskills\u002Fworktrunk\u002Freference\u002Fhook.md",[1080],{"name":1081,"start":291,"end":1075},"skills\u002Fworktrunk\u002Freference\u002Fhook.md",{"format":979,"lines":1083,"tokens":1084,"copies":311,"first":1085,"others":1086},1015,3901,{"name":1054,"start":291,"end":1083},[1087],{"name":1057,"start":291,"end":1083},{"format":979,"lines":1089,"tokens":1090,"copies":311,"first":1091,"others":1093},327,3855,{"name":1092,"start":291,"end":1089},"plugins\u002Fworktrunk\u002Fskills\u002Fwt-switch-create\u002Frationale.md",[1094],{"name":1095,"start":291,"end":1089},"skills\u002Fwt-switch-create\u002Frationale.md",{"format":849,"lines":1097,"tokens":1098,"copies":304,"first":1099,"others":1102},1546,1871,{"name":1100,"start":523,"end":1101},"docs\u002Fsrc\u002Fcontent\u002Fdocs\u002Fconfig.md",1561,[1103,1105],{"name":1019,"start":386,"end":1104},1553,{"name":1022,"start":386,"end":1104},{"format":979,"lines":1107,"tokens":1108,"copies":311,"first":1109,"others":1111},534,2812,{"name":1110,"start":291,"end":1107},"plugins\u002Fworktrunk\u002Fskills\u002Fworktrunk\u002Freference\u002Ftips-patterns.md",[1112],{"name":1113,"start":291,"end":1107},"skills\u002Fworktrunk\u002Freference\u002Ftips-patterns.md",{"format":849,"lines":973,"tokens":1115,"copies":304,"first":1116,"others":1120},1298,{"name":1117,"start":1118,"end":1119},"docs\u002Fsrc\u002Fcontent\u002Fdocs\u002Fswitch.md",24,320,[1121,1124],{"name":1122,"start":386,"end":1123},"plugins\u002Fworktrunk\u002Fskills\u002Fworktrunk\u002Freference\u002Fswitch.md",290,{"name":1125,"start":386,"end":1123},"skills\u002Fworktrunk\u002Freference\u002Fswitch.md",{"sources":1127,"lines":1128,"tokens":1129,"clones":1130,"duplicatedLines":1131,"duplicatedTokens":1132,"percentage":1133,"percentageTokens":1134,"formats":1135,"topClones":1147,"generated":1316},226,168373,883252,328,3120,23353,1.85,2.64,[1136,1139,1141,1142,1144,1146],{"format":344,"sources":710,"lines":1137,"clones":1130,"duplicatedLines":1131,"percentage":1138},166757,1.87,{"format":846,"sources":291,"lines":1140,"clones":619,"duplicatedLines":619,"percentage":619},657,{"format":847,"sources":278,"lines":870,"clones":619,"duplicatedLines":619,"percentage":619},{"format":621,"sources":613,"lines":1143,"clones":619,"duplicatedLines":619,"percentage":619},355,{"format":351,"sources":291,"lines":1145,"clones":619,"duplicatedLines":619,"percentage":619},103,{"format":365,"sources":291,"lines":544,"clones":619,"duplicatedLines":619,"percentage":619},[1148,1184,1217,1239,1246,1261,1273,1282,1291,1302],{"format":344,"lines":255,"tokens":1149,"copies":292,"first":1150,"others":1154,"excerpt":1175},94,{"name":1151,"start":1152,"end":1153},"src\u002Fgit\u002Frepository\u002Fsha_cache.rs",401,407,[1155,1158,1161,1164,1167,1170,1172],{"name":1151,"start":1156,"end":1157},441,447,{"name":1151,"start":1159,"end":1160},556,562,{"name":1151,"start":1162,"end":1163},666,672,{"name":1151,"start":1165,"end":1166},701,707,{"name":1151,"start":1168,"end":1169},739,745,{"name":1151,"start":914,"end":1171},779,{"name":1151,"start":1173,"end":1174},881,887,{"lines":1176,"total":255},[1177,1178,1179,1180,1181,1182,1183],"let dir = cache::cache_dir(&repo, KIND_MERGE_TREE_CONFLICTS);","let entries: Vec\u003C_> = fs::read_dir(&dir)","    .unwrap()","    .filter_map(|e| e.ok())","    .filter(|e| e.file_name().to_str().is_some_and(|s| s.ends_with(\".json\")))","    .collect();","assert_eq!(entries.len(), 1, \"exactly one cache entry expected\");",{"format":344,"lines":791,"tokens":1145,"copies":613,"first":1185,"others":1189,"excerpt":1202,"excerptSecond":1213},{"name":1186,"start":1187,"end":1188},"src\u002Fcommands\u002Fpicker\u002Fmod.rs",2896,2909,[1190,1193,1196,1199],{"name":1186,"start":1191,"end":1192},3195,3207,{"name":1186,"start":1194,"end":1195},3975,3987,{"name":1186,"start":1197,"end":1198},4170,4182,{"name":1186,"start":1200,"end":1201},4265,4277,{"lines":1203,"total":791},[1204,1205,1206,1207,1208,651,1209,1210,1211,1212],"fn test_do_removal_removes_worktree_and_branch() {","    let test = worktrunk::testing::TestRepo::with_initial_commit();","    let repo = worktrunk::git::Repository::at(test.path()).unwrap();","    let wt_dir = tempfile::tempdir().unwrap();","    let wt_path = wt_dir.path().join(\"feature\");","    repo.run_command(&[","        \"worktree\",","        \"add\",","        \"-b\",",{"lines":1214,"total":624},[1215,1205,1206,1207,1208,1209,1210,1211,1212,1216],"fn test_do_removal_skips_unapproved_pre_remove_hook() {","        \"feature\",",{"format":344,"lines":624,"tokens":1218,"copies":311,"first":1219,"others":1223,"excerpt":1227},266,{"name":1220,"start":1221,"end":1222},"src\u002Fcli\u002Fmod.rs",2432,2444,[1224],{"name":1220,"start":1225,"end":1226},2486,2498,{"lines":1228,"total":624},[1229,1230,1231,1232,1233,1234,1235,1236,1237,1238],"- Match recent commit style (conventional commits if used)","- Describe the change, not the intent or benefit","\u003C\u002Fstyle>","{% if user_guidance %}","\u003Cuser-guidance>","{{ user_guidance }}","\u003C\u002Fuser-guidance>","{% endif %}{% if project_guidance %}","\u003Cproject-guidance>","{{ project_guidance }}",{"format":344,"lines":553,"tokens":1240,"copies":311,"first":1241,"others":1243},263,{"name":1220,"start":1242,"end":1221},2422,[1244],{"name":1220,"start":1245,"end":1225},2476,{"format":344,"lines":292,"tokens":580,"copies":278,"first":1247,"others":1251},{"name":1248,"start":1249,"end":1250},"src\u002Fgit\u002Frepository\u002Fref_snapshot.rs",1073,1080,[1252,1255,1258],{"name":1248,"start":1253,"end":1254},1180,1187,{"name":1248,"start":1256,"end":1257},1209,1216,{"name":1248,"start":1259,"end":1260},1301,1308,{"format":344,"lines":386,"tokens":1262,"copies":304,"first":1263,"others":1266},115,{"name":1248,"start":1264,"end":1265},579,588,[1267,1270],{"name":1248,"start":1268,"end":1269},636,645,{"name":1248,"start":1271,"end":1272},705,714,{"format":344,"lines":434,"tokens":1274,"copies":311,"first":1275,"others":1279},205,{"name":1276,"start":1277,"end":1278},"src\u002Fstyling\u002Fmod.rs",653,658,[1280],{"name":1276,"start":1281,"end":480},692,{"format":344,"lines":550,"tokens":904,"copies":311,"first":1283,"others":1287},{"name":1284,"start":1285,"end":1286},"src\u002Fstyling\u002Fformat.rs",712,741,[1288],{"name":1284,"start":1289,"end":1290},768,797,{"format":344,"lines":553,"tokens":614,"copies":304,"first":1292,"others":1295},{"name":1186,"start":1293,"end":1294},4092,4102,[1296,1299],{"name":1186,"start":1297,"end":1298},4184,4194,{"name":1186,"start":1300,"end":1301},4279,4289,{"format":344,"lines":255,"tokens":540,"copies":278,"first":1303,"others":1306},{"name":1248,"start":1304,"end":1305},1253,1259,[1307,1310,1313],{"name":1248,"start":1308,"end":1309},1305,1311,{"name":1248,"start":1311,"end":1312},1351,1357,{"name":1248,"start":1314,"end":1315},1383,1389,{"files":291,"minified":619,"sample":1317},[1318],"src\u002Fdocs.rs",{"score":299,"grade":300,"size":1320,"dimensions":1323,"skipped":1338},{"lines":1321,"files":1322,"class":836},291979,341,[1324,1334],{"id":839,"source":840,"value":1325,"adjusted":1326,"lines":1327,"halfLife":843,"formats":1328,"excluded":1332,"weight":291,"score":1333},6.6,6.5,19144,[344,365,390,846,621,847,1329,1330,351,1331],"nix","astro","batch",[384,849,850],58.7,{"id":860,"source":840,"value":1335,"adjusted":580,"lines":1336,"halfLife":527,"weight":291,"score":1337},82.4,240647,32.1,[1339],{"id":852,"reason":1340},"the languages dead code reads are under 5% of the code",{"total":1342,"mean":1343,"files":1344},23915,70.1,[1345,1350,1355,1360,1364,1369,1374,1379,1384,1389],{"path":1346,"complexity":1347,"lines":1348,"bytes":1349},"src\u002Fconfig\u002Fdeprecation.rs",486,5650,217035,{"path":1351,"complexity":1352,"lines":1353,"bytes":1354},"tests\u002Fintegration_tests\u002Fswitch.rs",468,9779,349102,{"path":1356,"complexity":1357,"lines":1358,"bytes":1359},"src\u002Fshell_exec.rs",445,4214,173432,{"path":1361,"complexity":354,"lines":1362,"bytes":1363},"tests\u002Fintegration_tests\u002Fconfig_show.rs",8025,305063,{"path":1365,"complexity":1366,"lines":1367,"bytes":1368},"src\u002Fcommands\u002Fconfig\u002Fstate.rs",399,1877,70115,{"path":1370,"complexity":1371,"lines":1372,"bytes":1373},"tests\u002Fintegration_tests\u002Freadme_sync.rs",349,3047,118443,{"path":1375,"complexity":1376,"lines":1377,"bytes":1378},"src\u002Fcommands\u002Fconfig\u002Fshow.rs",338,1829,66342,{"path":1380,"complexity":1381,"lines":1382,"bytes":1383},"tests\u002Fintegration_tests\u002Fremove.rs",337,6761,241541,{"path":1385,"complexity":1386,"lines":1387,"bytes":1388},"src\u002Fgit\u002Ferror.rs",326,3353,132638,{"path":1390,"complexity":588,"lines":1391,"bytes":1392},"tests\u002Fintegration_tests\u002Fshell_wrapper.rs",4607,178039,{"percentage":1394,"findings":278,"files":557,"byCategory":1395,"largest":1397},11.31,[1396],{"category":921,"count":278},[1398,1400,1403,1405],{"category":921,"path":1399,"name":651,"line":291,"lines":1140},"plugins\u002Fworktrunk\u002Fhooks\u002Fregister.tsx",{"category":921,"path":1401,"name":651,"line":291,"lines":1402},"dev\u002Fopencode-plugin.ts",254,{"category":921,"path":1404,"name":651,"line":291,"lines":985},"dev\u002Fpi-extension.ts",{"category":921,"path":1406,"name":651,"line":291,"lines":272},"dev\u002Fomp-hook.ts",{"name":275,"url":1408,"description":1409,"language":317,"stars":1410,"starsToday":1411,"defaultBranch":331,"headSha":1412,"durationMs":1413,"total":1414,"formats":1419,"topClones":1469,"code":1687,"health":1861,"complexity":1885,"deadCode":1935},"https:\u002F\u002Fgithub.com\u002FJustVugg\u002Fcolibri","A hierarchical inference engine for frontier MoE models: hot experts on the GPU (CUDA, Vulkan), warm ones in RAM, cold ones streamed from NVMe. Written in C, runs on the hardware you already own.",47363,802,"0a5504a1dc64f86fcd0fe7db298b0448c730e7e6",5576,{"sources":1415,"lines":318,"tokens":1416,"clones":276,"duplicatedLines":319,"duplicatedTokens":1417,"percentage":277,"percentageTokens":1418},1591,9467912,881921,9.31,[1420,1427,1433,1439,1444,1449,1454,1458,1462,1466],{"format":1421,"sources":1422,"lines":1423,"clones":1424,"duplicatedLines":1425,"percentage":1426},"txt",130,52000,2663,29374,56.49,{"format":402,"sources":1428,"lines":1429,"clones":1430,"duplicatedLines":1431,"percentage":1432},356,158326,884,14303,9.03,{"format":365,"sources":1434,"lines":1435,"clones":1436,"duplicatedLines":1437,"percentage":1438},485,158244,519,5444,3.44,{"format":397,"sources":932,"lines":1440,"clones":1441,"duplicatedLines":1442,"percentage":1443},87463,286,2236,2.56,{"format":1445,"sources":536,"lines":1446,"clones":738,"duplicatedLines":1447,"percentage":1448},"glsl",11277,1573,13.95,{"format":358,"sources":1450,"lines":1451,"clones":768,"duplicatedLines":1452,"percentage":1453},107,21281,1708,8.03,{"format":621,"sources":787,"lines":1455,"clones":563,"duplicatedLines":1456,"percentage":1457},11511,472,4.1,{"format":627,"sources":304,"lines":1459,"clones":720,"duplicatedLines":1460,"percentage":1461},4033,252,6.25,{"format":384,"sources":255,"lines":1463,"clones":720,"duplicatedLines":1464,"percentage":1465},3346,690,20.62,{"format":372,"sources":292,"lines":1467,"clones":946,"duplicatedLines":709,"percentage":1468},3251,6.15,[1470,1501,1525,1557,1585,1593,1610,1632,1642,1665],{"format":402,"lines":1471,"tokens":1472,"copies":292,"first":1473,"others":1476,"excerpt":1491},612,9404,{"name":1474,"start":810,"end":1475},"docs\u002Fexperiments\u002Fqwen36-cuda-chain-coalesce-2026-10-25\u002Fbench.c",677,[1477,1479,1481,1483,1485,1487,1489],{"name":1478,"start":810,"end":1475},"docs\u002Fexperiments\u002Fqwen36-cuda-host-pool-follow-2026-10-26\u002Fbench.c",{"name":1480,"start":810,"end":1475},"docs\u002Fexperiments\u002Fqwen36-cuda-lmhead-device-2026-10-27\u002Fbench.c",{"name":1482,"start":810,"end":1475},"docs\u002Fexperiments\u002Fqwen36-cuda-mtp-pick-2026-10-25\u002Fbench.c",{"name":1484,"start":810,"end":1475},"docs\u002Fexperiments\u002Fqwen36-cuda-promote-brake-history-2026-10-26\u002Fbench.c",{"name":1486,"start":810,"end":1475},"docs\u002Fexperiments\u002Fqwen36-mtp-draft-list-2026-10-26\u002Fbench.c",{"name":1488,"start":810,"end":1475},"docs\u002Fexperiments\u002Fqwen36-mtp-fixed-depth-2026-10-25\u002Fbench.c",{"name":1490,"start":810,"end":1475},"docs\u002Fexperiments\u002Fqwen36-tier-spread-2026-10-27\u002Fbench.c",{"lines":1492,"total":1471},[1493,1494,1495,1496,689,651,1497,1498,1499,1500],"static uint64_t bench_fnv(uint64_t h, const void *data, size_t n) {","    const unsigned char *p = (const unsigned char *)data;","    for (size_t i = 0; i \u003C n; i++) h = (h ^ p[i]) * 0x100000001b3ull;","    return h;","typedef struct {","    const char *model, *tokenizer, *text, *lengths, *session, *steps, *nll, *words;","    int gen, photo, teacher, pause, tokens_only;","} BenchOpts;",{"format":402,"lines":533,"tokens":1502,"copies":393,"first":1503,"others":1505,"excerpt":1514},4793,{"name":1504,"start":291,"end":533},"docs\u002Fexperiments\u002Fcuda-attn-one-pass-sm75-2026-10-28\u002Fbench.c",[1506,1507,1508,1509,1510,1511,1512,1513],{"name":1474,"start":291,"end":533},{"name":1478,"start":291,"end":533},{"name":1480,"start":291,"end":533},{"name":1482,"start":291,"end":533},{"name":1484,"start":291,"end":533},{"name":1486,"start":291,"end":533},{"name":1488,"start":291,"end":533},{"name":1490,"start":291,"end":533},{"lines":1515,"total":533},[1516,1517,1518,1519,1520,1521,1522,1523,1524,1520],"\u002F* qwen36-bench: how fast the Qwen3.6 engine reads a prompt and generates, measured the way antirez's"," * ds4-bench does (ds4, MIT). One process, one version of the engine, compiled in and used as is. The"," * `bench` driver beside this file builds it, runs two versions in alternating order and reads the CSV;"," * README.md gives the CSV contract every engine's harness follows."," *"," *   qwen36-bench --model \u003Cdir> --text \u003Cfile> [--lengths 64,512] [--gen 32] [--photo] [--teacher]"," *                [--steps \u003Cfile>] [--nll \u003Cfile>] [--words \u003Cfile>] [--pause \u003Cs>]"," *   qwen36-bench --model \u003Cdir> --session \u003Cfile> [--steps \u003Cfile>] [--nll \u003Cfile>] [--pause \u003Cs>]"," *                [--tokens-only]",{"format":1421,"lines":553,"tokens":387,"copies":1526,"first":1527,"others":1529,"excerpt":1546},118,{"name":1528,"start":550,"end":272},"docs\u002Fexperiments\u002Fqwen36-cuda-chain-coalesce-2026-10-25\u002Faccelerated.txt",[1530,1532,1533,1535,1537,1540,1542,1544],{"name":1531,"start":550,"end":272},"docs\u002Fexperiments\u002Fqwen36-cuda-lmhead-device-2026-10-27\u002Fl4-accelerated.txt",{"name":1531,"start":580,"end":584},{"name":1531,"start":738,"end":1534},144,{"name":1531,"start":1536,"end":908},185,{"name":1531,"start":1538,"end":1539},236,246,{"name":1531,"start":1541,"end":973},287,{"name":1531,"start":1543,"end":1371},339,{"name":1531,"start":1545,"end":1152},391,{"lines":1547,"total":553},[1548,1549,1550,1551,1549,1552,1553,1554,1555,1556],"===== warmup.err (sha256 dd820ccfaca45ce3f4fd08bae58d0452dc1277720d7737926c5445c844006724)","[tok] loaded 248044 pieces (max id 248069) from \u002Fcontent\u002Fq36mtp\u002Ftokenizer.json","[OMP] qwen36: 6 physical-core threads instead of 12 logical CPUs; SMT can halve decode throughput on some CPUs (#718); set OMP_NUM_THREADS=\u003Cn> to override","== qwen36 Phase-2 engine | cache=256\u002Flayer bits=4 ctx=8192 pilot=0 wide=1 hot=0 smooth=0.30 conf=0.92 ==","[meta] loaded: q_heads=16 kv_heads=2 head_dim=256 q_head_dim=512 k_head_dim=256 v_head_dim=256 o_in=4096 rotary_dim=64 n_experts=256 topk=8 inter=512 shared_in…","[meta] DeltaNet: vheads=32 kheads=16 kdim=128 vdim=128 convk=4 conv_dim=8192","[qwen36] embedding: rows read in place from the checkpoint, COLI_EMBED_MMAP=0 builds the f32 table","[dense-i8] 291 matrices quantized during load, 7.2 GB f32 freed","[qwen36] group-scaled experts: gs=64",{"format":1421,"lines":553,"tokens":1558,"copies":1559,"first":1560,"others":1564},132,158,{"name":1561,"start":1562,"end":1563},"docs\u002Fexperiments\u002Fqwen36-tier-spread-2026-10-27\u002Fqwen38.txt",126,136,[1565,1566,1569,1572,1574,1577,1579,1582],{"name":1561,"start":727,"end":808},{"name":1561,"start":1567,"end":1568},255,265,{"name":1561,"start":1570,"end":1571},558,568,{"name":1561,"start":1278,"end":1573},668,{"name":1561,"start":1575,"end":1576},781,791,{"name":1561,"start":1578,"end":1174},877,{"name":1561,"start":1580,"end":1581},1162,1172,{"name":1561,"start":1583,"end":1584},1262,1272,{"format":1421,"lines":1586,"tokens":1587,"copies":311,"first":1588,"others":1590},1352,20434,{"name":1589,"start":291,"end":1586},"docs\u002Fexperiments\u002Fqwen36-mtp-draft-list-2026-10-26\u002Fcode.txt",[1591],{"name":1592,"start":291,"end":1586},"docs\u002Fexperiments\u002Fqwen36-mtp-fixed-depth-2026-10-25\u002Fcode.txt",{"format":1421,"lines":523,"tokens":908,"copies":787,"first":1594,"others":1595},{"name":1561,"start":1562,"end":727},[1596,1597,1599,1600,1602,1604,1606,1608],{"name":1561,"start":387,"end":1567},{"name":1561,"start":1598,"end":1570},543,{"name":1561,"start":385,"end":1278},{"name":1561,"start":1601,"end":1575},766,{"name":1561,"start":1603,"end":1578},862,{"name":1561,"start":1605,"end":1580},1147,{"name":1561,"start":1607,"end":1583},1247,{"name":1609,"start":544,"end":536},"docs\u002Fexperiments\u002Fqwen38-chain-prompt-rows-2026-10-26\u002Flogits.txt",{"format":1421,"lines":791,"tokens":1611,"copies":528,"first":1612,"others":1614},222,{"name":1613,"start":730,"end":935},"docs\u002Fexperiments\u002Fqwen36-cuda-chain-coalesce-2026-10-25\u002Fnormal.txt",[1615,1616,1619,1620,1621,1623,1626,1629],{"name":1531,"start":557,"end":527},{"name":1531,"start":1617,"end":1618},89,102,{"name":1531,"start":727,"end":802},{"name":1531,"start":581,"end":1274},{"name":1531,"start":1622,"end":577},294,{"name":1531,"start":1624,"end":1625},346,359,{"name":1531,"start":1627,"end":1628},398,411,{"name":1531,"start":1630,"end":1631},449,462,{"format":402,"lines":1633,"tokens":1634,"copies":304,"first":1635,"others":1637},340,6856,{"name":1636,"start":291,"end":1633},"docs\u002Fexperiments\u002Fqwen36-canonical-dense-2026-10-07\u002Fbench.c",[1638,1640],{"name":1639,"start":291,"end":1633},"docs\u002Fexperiments\u002Fqwen36-embedding-in-place-2026-10-07\u002Fbench.c",{"name":1641,"start":291,"end":1633},"docs\u002Fexperiments\u002Fqwen36-neon-repack-2026-10-08\u002Fbench.c",{"format":1421,"lines":292,"tokens":756,"copies":785,"first":1643,"others":1645},{"name":1644,"start":399,"end":435},"docs\u002Fexperiments\u002Fcuda-attn-one-pass-sm75-2026-10-28\u002Fbase.txt",[1646,1647,1648,1651,1655,1656,1659,1662],{"name":1644,"start":394,"end":1145},{"name":1644,"start":588,"end":754},{"name":1644,"start":1649,"end":1650},368,375,{"name":1652,"start":1653,"end":1654},"docs\u002Fexperiments\u002Fcuda-attn-one-pass-sm75-2026-10-28\u002Flater-prompts.txt",162,169,{"name":1528,"start":527,"end":789},{"name":1528,"start":1657,"end":1658},99,106,{"name":1528,"start":1660,"end":1661},148,155,{"name":1528,"start":1663,"end":1664},196,203,{"format":1421,"lines":386,"tokens":1666,"copies":563,"first":1667,"others":1669},157,{"name":1528,"start":1668,"end":527},41,[1670,1673,1675,1678,1679,1681,1683,1684],{"name":1531,"start":1671,"end":1672},247,256,{"name":1674,"start":272,"end":935},"docs\u002Fexperiments\u002Fqwen36-cuda-lmhead-device-2026-10-27\u002Fl4-normal.txt",{"name":1676,"start":1677,"end":1657},"docs\u002Fexperiments\u002Fqwen36-cuda-mtp-pick-2026-10-25\u002Fmtp-1-draft.txt",90,{"name":1676,"start":352,"end":1660},{"name":1676,"start":1680,"end":1663},187,{"name":1676,"start":1538,"end":1682},245,{"name":1676,"start":361,"end":485},{"name":1676,"start":1685,"end":1686},333,342,{"sources":1688,"lines":1689,"tokens":1690,"clones":1691,"duplicatedLines":1692,"duplicatedTokens":1693,"percentage":1694,"percentageTokens":1695,"formats":1696,"topClones":1726,"generated":1853},413,242093,4814028,968,8356,113739,3.45,2.36,[1697,1702,1708,1713,1716,1719,1720,1721,1724],{"format":402,"sources":730,"lines":1698,"clones":1699,"duplicatedLines":1700,"percentage":1701},91938,492,4257,4.63,{"format":397,"sources":1703,"lines":1704,"clones":1705,"duplicatedLines":1706,"percentage":1707},153,64857,278,2177,3.36,{"format":365,"sources":1709,"lines":1710,"clones":1711,"duplicatedLines":1712,"percentage":400},183,78434,173,1729,{"format":627,"sources":291,"lines":1714,"clones":794,"duplicatedLines":803,"percentage":1715},2578,6.48,{"format":846,"sources":404,"lines":1717,"clones":311,"duplicatedLines":617,"percentage":1718},1965,0.87,{"format":621,"sources":624,"lines":1171,"clones":291,"duplicatedLines":393,"percentage":370},{"format":847,"sources":386,"lines":1605,"clones":619,"duplicatedLines":619,"percentage":619},{"format":1722,"sources":291,"lines":1723,"clones":619,"duplicatedLines":619,"percentage":619},"cpp",249,{"format":351,"sources":291,"lines":1725,"clones":619,"duplicatedLines":619,"percentage":619},146,[1727,1753,1773,1791,1801,1808,1817,1826,1836,1845],{"format":402,"lines":255,"tokens":1728,"copies":304,"first":1729,"others":1733,"excerpt":1741,"excerptSecond":1750},450,{"name":1730,"start":1731,"end":1732},"c\u002Fcolibri.c",14714,14720,[1734,1738],{"name":1735,"start":1736,"end":1737},"c\u002Folmoe.c",3381,3387,{"name":1735,"start":1739,"end":1740},3475,3481,{"lines":1742,"total":255},[1743,1744,1745,1746,1747,1748,1749],"\u002F* static, not a stack local: the PILOT prefetch worker is detached and"," * loops forever, and it keeps this address in the global pilot_m. A stack"," * Model dies when main returns while that thread is still dereferencing"," * it -- ASan: stack-use-after-return, READ of size 8, in a worker thread,"," * with the run's tokens already correct (#1262). Static storage outlives"," * every thread, so the pointer the worker holds stays valid. *\u002F","static Model m; double t0=now_s(); model_init(&m,snap,cap,ebits,dbits);",{"lines":1751,"total":255},[1743,1744,1745,1746,1747,1748,1752],"    static Model m; model_init(&m, snap, cap, bits);",{"format":402,"lines":723,"tokens":1285,"copies":311,"first":1754,"others":1757,"excerpt":1761},{"name":1755,"start":1756,"end":1123},"c\u002Fqwen36.c",257,[1758],{"name":1759,"start":1760,"end":740},"c\u002Fqwen38.c",166,{"lines":1762,"total":723},[1763,1764,1765,1766,1767,1768,1769,1770,1771,1772],"static int utf8_decode(const char *s,int i,int n,int *adv){","    if(!s||i\u003C0||i>=n){if(adv)*adv=0;return 0xfffd;}","    unsigned char c=(unsigned char)s[i]; int cp,a;","    if(c\u003C0x80){cp=c;a=1;}","    else if((c>>5)==6){cp=c&0x1F;a=2;}","    else if((c>>4)==14){cp=c&0x0F;a=3;}","    else if((c>>3)==30){cp=c&0x07;a=4;}","    else {cp=c;a=1;}","    for(int k=1;k\u003Ca;k++){","        if(i+k>=n||((unsigned char)s[i+k]&0xC0)!=0x80){if(adv)*adv=1;return c;}",{"format":402,"lines":511,"tokens":1774,"copies":311,"first":1775,"others":1777,"excerpt":1781},655,{"name":1755,"start":1289,"end":1776},785,[1778],{"name":1759,"start":1779,"end":1780},567,584,{"lines":1782,"total":511},[1783,689,651,1784,1785,1786,1787,1788,1789,1790],"    return 0;","\u002F* Decode token ids to text using g_tok, writing to stdout. Handles Qwen's"," * byte-representation markers (Ġ=space, Ċ=newline, ▁=space) and \u003C0xXX> byte"," * fallback. Only active when a tokenizer was loaded. *\u002F","\u002F* ---- streaming \u002F incremental decode support ---- *\u002F","static int    g_stream = 0;            \u002F* 1 = emit tokens as they are generated *\u002F","static unsigned char g_sbuf[16];       \u002F* carries a partial UTF-8 char across tokens *\u002F","static int    g_sbn = 0;",{"format":402,"lines":946,"tokens":1792,"copies":311,"first":1793,"others":1797},625,{"name":1794,"start":1795,"end":1796},"c\u002Fglm53.c",5379,5399,[1798],{"name":1755,"start":1799,"end":1800},4628,4648,{"format":397,"lines":393,"tokens":1802,"copies":311,"first":1803,"others":1805},603,{"name":1804,"start":613,"end":624},"c\u002Fqwen38_chain.h",[1806],{"name":1807,"start":613,"end":624},"c\u002Fqwen38_cuda_chain.h",{"format":402,"lines":393,"tokens":1809,"copies":311,"first":1810,"others":1813},602,{"name":1755,"start":1811,"end":1812},8208,8216,[1814],{"name":1759,"start":1815,"end":1816},1882,1890,{"format":397,"lines":375,"tokens":1264,"copies":311,"first":1818,"others":1822},{"name":1819,"start":1820,"end":1821},"c\u002Fqwen36_chain.h",351,376,[1823],{"name":1824,"start":1630,"end":1825},"c\u002Fqwen36_cuda_chain.h",474,{"format":402,"lines":719,"tokens":1827,"copies":311,"first":1828,"others":1831},576,{"name":1794,"start":1829,"end":1830},5380,5398,[1832],{"name":1833,"start":1834,"end":1835},"c\u002Fkimi_k3.c",1887,1905,{"format":402,"lines":386,"tokens":1827,"copies":311,"first":1837,"others":1841},{"name":1838,"start":1839,"end":1840},"c\u002Finkling.c",3264,3273,[1842],{"name":1735,"start":1843,"end":1844},3540,3549,{"format":402,"lines":393,"tokens":1846,"copies":311,"first":1847,"others":1849},574,{"name":1838,"start":1848,"end":1840},3265,[1850],{"name":1833,"start":1851,"end":1852},4706,4714,{"files":434,"minified":619,"sample":1854},[1855,1856,1857,1858,1859,1860],"c\u002Fggml_grids.h","c\u002Fgliner_unicode.h","c\u002Fqwen38_nfc_tables.h","c\u002Ftok_unicode_deepseek.h","c\u002Ftok_unicode.h","c\u002Fvk_igpu_threshold.h",{"score":1862,"grade":300,"size":1863,"dimensions":1866},53.2,{"lines":1864,"files":1865,"class":836},439964,1144,[1867,1874,1880],{"id":839,"source":840,"value":1868,"adjusted":1868,"lines":1869,"halfLife":843,"formats":1870,"excluded":1873,"weight":291,"score":768},5.5,24146,[402,365,397,1445,621,627,847,1871,846,1331,1722,1329,351,390,1872],"makefile","docker",[384,849,850],{"id":852,"source":840,"value":1875,"adjusted":1875,"lines":1876,"halfLife":855,"coverage":1877,"weight":1878,"score":1879},1.2,1981,37.3,0.373,89.2,{"id":860,"source":840,"value":1881,"adjusted":1882,"lines":1883,"halfLife":527,"weight":291,"score":1884},73.2,72.9,321970,36.4,{"total":1886,"mean":1887,"files":1888},111697,97.6,[1889,1893,1897,1902,1907,1912,1917,1921,1926,1930],{"path":1730,"complexity":1890,"lines":1891,"bytes":1892},6249,15826,923653,{"path":1755,"complexity":1894,"lines":1895,"bytes":1896},4531,10698,599565,{"path":1898,"complexity":1899,"lines":1900,"bytes":1901},"c\u002Fbackend_vulkan.c",3396,7887,468568,{"path":1903,"complexity":1904,"lines":1905,"bytes":1906},"c\u002Fqwen38_core.h",2649,6252,347843,{"path":1908,"complexity":1909,"lines":1910,"bytes":1911},"c\u002Fvk_chain.c",2499,3829,224137,{"path":1913,"complexity":1914,"lines":1915,"bytes":1916},"c\u002Ftests\u002Ftest_vk_chain.c",2157,4539,305946,{"path":1833,"complexity":1918,"lines":1919,"bytes":1920},2012,5463,283878,{"path":1922,"complexity":1923,"lines":1924,"bytes":1925},"c\u002Fdeepseek_v41.c",1997,6526,348996,{"path":1759,"complexity":1927,"lines":1928,"bytes":1929},1960,4219,219035,{"path":1931,"complexity":1932,"lines":1933,"bytes":1934},"c\u002Fvk_tier.c",1873,3360,188178,{"percentage":1936,"findings":1937,"files":1938,"byCategory":1939,"largest":1944},1.21,31,531,[1940,1941,1943],{"category":921,"count":624},{"category":1942,"count":304},"unused-symbol",{"category":925,"count":404},[1945,1948,1951,1954,1957,1959,1961,1963,1965,1967],{"category":921,"path":1946,"name":651,"line":291,"lines":1947},"c\u002Ftools\u002Frans_format.py",577,{"category":921,"path":1949,"name":651,"line":291,"lines":1950},"c\u002Ftools\u002Fefficiency.py",461,{"category":921,"path":1952,"name":651,"line":291,"lines":1953},"c\u002Ftools\u002Fqwen36_tensor_kinds.py",160,{"category":921,"path":1955,"name":651,"line":291,"lines":1956},"c\u002Ftools\u002Fengine_evidence.py",140,{"category":921,"path":1958,"name":651,"line":291,"lines":981},"c\u002Ftools\u002Fglm_fp8_emit.py",{"category":921,"path":1960,"name":651,"line":291,"lines":750},"c\u002Ftools\u002Fmake_lora_adapter.py",{"category":921,"path":1962,"name":651,"line":291,"lines":745},"c\u002Ftools\u002Fmake_train_oracle.py",{"category":921,"path":1964,"name":651,"line":291,"lines":533},"c\u002Ftools\u002Fmake_olmoe_real_oracle.py",{"category":921,"path":1966,"name":651,"line":291,"lines":412},"c\u002Ftools\u002Fgen_unicode.py",{"category":921,"path":1968,"name":651,"line":291,"lines":430},"c\u002Ftools\u002Fqwenimage_fit_preview.py",{"name":1970,"url":1971,"description":1972,"language":303,"stars":1973,"starsToday":1165,"defaultBranch":1974,"headSha":1975,"durationMs":1976,"total":1977,"formats":1984,"topClones":1998,"code":2076,"health":2140,"complexity":2159,"deadCode":2201},"p-e-w\u002Fheretic","https:\u002F\u002Fgithub.com\u002Fp-e-w\u002Fheretic","Training-free language model modification: Remove censorship, suppress slop, reduce sycophancy, and more",38940,"master","f4cf5354032419178584e7c52af6de6c138de856",974,{"sources":1978,"lines":1979,"tokens":1980,"clones":290,"duplicatedLines":1981,"duplicatedTokens":1982,"percentage":1868,"percentageTokens":1983},46,9898,41049,544,1730,4.21,[1985,1989,1993,1995,1996,1997],{"format":998,"sources":523,"lines":1986,"clones":404,"duplicatedLines":1987,"percentage":1988},1590,465,29.25,{"format":365,"sources":955,"lines":1990,"clones":613,"duplicatedLines":1991,"percentage":1992},7730,79,1.02,{"format":979,"sources":278,"lines":1994,"clones":619,"duplicatedLines":619,"percentage":619},500,{"format":372,"sources":291,"lines":323,"clones":619,"duplicatedLines":619,"percentage":619},{"format":621,"sources":291,"lines":386,"clones":619,"duplicatedLines":619,"percentage":619},{"format":849,"sources":291,"lines":292,"clones":619,"duplicatedLines":619,"percentage":619},[1999,2017,2027,2040,2047,2052,2058,2062,2066,2070],{"format":998,"lines":2000,"tokens":1703,"copies":304,"first":2001,"others":2003,"excerpt":2008},54,{"name":2002,"start":255,"end":323},"tests\u002Fgemma-4e\u002Fconfig.toml",[2004,2006],{"name":2005,"start":255,"end":323},"tests\u002Fmistral-3\u002Fconfig.toml",{"name":2007,"start":255,"end":323},"tests\u002Fqwen3.5-moe\u002Fconfig.toml",{"lines":2009,"total":2000},[2010,2011,651,2012,2013,651,2014,2015,2016,651],"seed = 12345","print_debug_information = true","batch_size = 2","max_response_length = 10","modifiers = [","    { plugin = \"heretic.modifiers.abliteration.Abliteration\" },","]",{"format":998,"lines":563,"tokens":2018,"copies":304,"first":2019,"others":2020,"excerpt":2025},119,{"name":2002,"start":255,"end":527},[2021,2023],{"name":2022,"start":255,"end":527},"tests\u002Fminicpm5\u002Fconfig.toml",{"name":2024,"start":255,"end":527},"tests\u002Fqwen2.5\u002Fconfig.toml",{"lines":2026,"total":563},[2010,2011,651,2012,2013,651,2014,2015,2016,651],{"format":998,"lines":557,"tokens":1657,"copies":311,"first":2028,"others":2029,"excerpt":2032},{"name":2002,"start":791,"end":527},[2030],{"name":2031,"start":404,"end":399},"tests\u002Fseed-oss\u002Fconfig.toml",{"lines":2033,"total":557},[2015,2016,651,2034,2035,651,2036,2037,2038,2039],"n_trials = 2","n_startup_trials = 1","export_strategy = \"merge\"","checkpoint_action = \"restart\"","trial_index = 0","model_action = \"save\"",{"format":998,"lines":730,"tokens":745,"copies":311,"first":2041,"others":2043},{"name":2042,"start":791,"end":935},"tests\u002Fdeepseek-v4-ara\u002Fconfig.toml",[2044],{"name":2045,"start":617,"end":2046},"tests\u002Fdeepseek-v4\u002Fconfig.toml",52,{"format":998,"lines":723,"tokens":394,"copies":311,"first":2048,"others":2049},{"name":2002,"start":617,"end":527},[2050],{"name":2051,"start":624,"end":1978},"tests\u002Fgpt-oss\u002Fconfig.toml",{"format":998,"lines":255,"tokens":584,"copies":311,"first":2053,"others":2056},{"name":2054,"start":2018,"end":2055},"config.nosyco.toml",125,[2057],{"name":2054,"start":1956,"end":1725},{"format":998,"lines":550,"tokens":501,"copies":311,"first":2059,"others":2060},{"name":2042,"start":290,"end":935},[2061],{"name":2002,"start":946,"end":527},{"format":998,"lines":368,"tokens":735,"copies":311,"first":2063,"others":2064},{"name":2042,"start":720,"end":540},[2065],{"name":2051,"start":550,"end":412},{"format":998,"lines":368,"tokens":735,"copies":311,"first":2067,"others":2068},{"name":2045,"start":730,"end":536},[2069],{"name":2002,"start":723,"end":323},{"format":365,"lines":794,"tokens":1991,"copies":311,"first":2071,"others":2073},{"name":2072,"start":2018,"end":1956},"src\u002Fheretic\u002Fconfig.py",[2074],{"name":2072,"start":932,"end":2075},182,{"sources":617,"lines":2077,"tokens":2078,"clones":278,"duplicatedLines":2079,"duplicatedTokens":2080,"percentage":2081,"percentageTokens":2082,"formats":2083,"topClones":2085,"generated":2138},7085,28622,69,272,0.97,0.95,[2084],{"format":365,"sources":617,"lines":2077,"clones":278,"duplicatedLines":2079,"percentage":2081},[2086,2100,2118,2132],{"format":365,"lines":794,"tokens":1991,"copies":311,"first":2087,"others":2088,"excerpt":2090},{"name":2072,"start":2018,"end":1956},[2089],{"name":2072,"start":932,"end":2075},{"lines":2091,"total":794},[2092,2093,651,2094,2095,2096,2097,2098,651,2099],"    ),",")","@field_validator(\"instance_name\")","@classmethod","def validate_instance_name(cls, value: str | None) -> str | None:","    if value is None:","        return value","    if not value.strip():",{"format":365,"lines":523,"tokens":533,"copies":311,"first":2101,"others":2104,"excerpt":2109},{"name":2102,"start":359,"end":2103},"src\u002Fheretic\u002Fmodifiers\u002Fabliteration.py",171,[2105],{"name":2106,"start":2107,"end":2108},"src\u002Fheretic\u002Fmodifiers\u002Fara.py",174,189,{"lines":2110,"total":523},[2111,2112,651,2113,2114,2115,668,2116,2117,651],"def init(self, ctx: Context) -> None:","    model = ctx.get_model()","    print()","    print(","        f\"Loading good prompts from [bold]{format_dataset_specification(self.settings.good_prompts)}[\u002F]...\"","    good_prompts = ctx.load_prompts(self.settings.good_prompts)","    print(f\"* [bold]{len(good_prompts)}[\u002F] prompts loaded\")",{"format":365,"lines":511,"tokens":768,"copies":311,"first":2119,"others":2120,"excerpt":2122},{"name":2102,"start":758,"end":614},[2121],{"name":2106,"start":2046,"end":2079},{"lines":2123,"total":511},[2124,2125,2126,2127,2128,2129,2130,2131,668,651],"class Settings(BaseModel):","    good_prompts: DatasetSpecification = Field(","        default=SingleDatasetSpecification(","            dataset=\"mlabonne\u002Fharmless_alpaca\",","            split=\"train[:400]\",","            column=\"text\",","        ),","        description=\"Dataset of prompts that tend to produce desirable responses.\",",{"format":365,"lines":624,"tokens":540,"copies":311,"first":2133,"others":2135},{"name":2134,"start":1660,"end":1953},"src\u002Fheretic\u002Fscorers\u002Fbert_classifier.py",[2136],{"name":2137,"start":394,"end":268},"src\u002Fheretic\u002Fscorers\u002Fkeyword_rate.py",{"files":619,"minified":619,"sample":2139},[],{"score":2141,"grade":300,"size":2142,"dimensions":2144},47.5,{"lines":1990,"files":955,"class":2143},"S",[2145,2150,2155],{"id":839,"source":840,"value":291,"adjusted":2146,"lines":1991,"halfLife":843,"formats":2147,"excluded":2148,"weight":291,"score":2149},1.5,[365],[849,850],88.3,{"id":852,"source":840,"value":2151,"adjusted":2152,"lines":2153,"halfLife":855,"weight":291,"score":2154},19.2,15.9,1481,23.1,{"id":860,"source":840,"value":430,"adjusted":2156,"lines":2157,"halfLife":527,"weight":291,"score":2158},46.4,4100,52.5,{"total":2160,"mean":2161,"files":2162},899,39.1,[2163,2168,2172,2176,2180,2183,2187,2190,2194,2197],{"path":2164,"complexity":2165,"lines":2166,"bytes":2167},"src\u002Fheretic\u002Fmain.py",197,1485,65364,{"path":2169,"complexity":1562,"lines":2170,"bytes":2171},"src\u002Fheretic\u002Fmodel.py",978,39102,{"path":2173,"complexity":751,"lines":2174,"bytes":2175},"src\u002Fheretic\u002Futils.py",794,26969,{"path":2177,"complexity":501,"lines":2178,"bytes":2179},"src\u002Fheretic\u002Fsystem.py",478,15825,{"path":2181,"complexity":768,"lines":1075,"bytes":2182},"src\u002Fheretic\u002Fplugin.py",13126,{"path":2184,"complexity":551,"lines":2185,"bytes":2186},"src\u002Fheretic\u002Freproduce.py",385,11953,{"path":2102,"complexity":723,"lines":2188,"bytes":2189},466,19765,{"path":2191,"complexity":391,"lines":2192,"bytes":2193},"src\u002Fheretic\u002Fevaluator.py",230,8042,{"path":2195,"complexity":999,"lines":714,"bytes":2196},"tests\u002Ftest_config.py",7974,{"path":2106,"complexity":2198,"lines":2199,"bytes":2200},25,396,16012,{"percentage":2202,"findings":255,"files":375,"byCategory":2203,"largest":2205},19.16,[2204],{"category":921,"count":255},[2206,2207,2208,2210,2211,2213,2215],{"category":921,"path":2102,"name":651,"line":291,"lines":2188},{"category":921,"path":2106,"name":651,"line":291,"lines":2199},{"category":921,"path":2134,"name":651,"line":291,"lines":2209},271,{"category":921,"path":2137,"name":651,"line":291,"lines":1666},{"category":921,"path":2212,"name":651,"line":291,"lines":537},"src\u002Fheretic\u002Fscorers\u002Fkl_divergence.py",{"category":921,"path":2214,"name":651,"line":291,"lines":541},"src\u002Fheretic\u002Fscorers\u002Fbenchmark_score.py",{"category":921,"path":2216,"name":651,"line":291,"lines":272},"src\u002Fheretic\u002Fprogress.py",{"name":2218,"url":2219,"description":651,"language":321,"stars":2220,"starsToday":774,"defaultBranch":331,"headSha":2221,"durationMs":2222,"total":2223,"formats":2227,"topClones":2239,"code":2279,"health":2287,"complexity":2304,"deadCode":2339},"spotify\u002Fportal-ai-plugins","https:\u002F\u002Fgithub.com\u002Fspotify\u002Fportal-ai-plugins",3086,"aa252eb21df5bbf32b0beb45f84a2c03341ccad8",956,{"sources":2046,"lines":322,"tokens":2224,"clones":278,"duplicatedLines":323,"duplicatedTokens":2225,"percentage":324,"percentageTokens":2226},31912,654,2.05,[2228,2231,2233,2234,2236,2237,2238],{"format":979,"sources":523,"lines":2229,"clones":278,"duplicatedLines":323,"percentage":2230},1248,4.81,{"format":621,"sources":511,"lines":2232,"clones":619,"duplicatedLines":619,"percentage":619},944,{"format":847,"sources":304,"lines":1281,"clones":619,"duplicatedLines":619,"percentage":619},{"format":358,"sources":386,"lines":2235,"clones":619,"duplicatedLines":619,"percentage":619},529,{"format":849,"sources":291,"lines":375,"clones":619,"duplicatedLines":619,"percentage":619},{"format":384,"sources":311,"lines":732,"clones":619,"duplicatedLines":619,"percentage":619},{"format":372,"sources":311,"lines":278,"clones":619,"duplicatedLines":619,"percentage":619},[2240,2257,2264,2274],{"format":979,"lines":719,"tokens":2241,"copies":311,"first":2242,"others":2244,"excerpt":2247},186,{"name":2243,"start":511,"end":730},"skills\u002Ffleetshift-check-shift\u002FSKILL.md",[2245],{"name":2246,"start":511,"end":730},"skills\u002Ffleetshift-troubleshoot-shift\u002FSKILL.md",{"lines":2248,"total":719},[2249,651,2250,651,2251,2252,2253,2254,2255,2256],"  closed).","## Prerequisites","- The Portal CLI is authenticated: `npx @spotify\u002Fportal-cli auth show`.","  If it isn't, ask the user to run `npx @spotify\u002Fportal-cli auth login`.","  If `auth list` shows more than one Portal instance, confirm which one","  with the user and pass `--instance \u003Cname>` on every call.","- If a Portal MCP server is connected instead, the same actions are","  available as `fleetshift_\u003Caction>` tools (for example",{"format":979,"lines":404,"tokens":1711,"copies":311,"first":2258,"others":2259,"excerpt":2262},{"name":2243,"start":511,"end":391},[2260],{"name":2261,"start":791,"end":999},"skills\u002Ffleetshift-create-prs\u002FSKILL.md",{"lines":2263,"total":404},[2249,651,2250,651,2251,2252,2253,2254,2255,2256],{"format":979,"lines":624,"tokens":2265,"copies":311,"first":2266,"others":2267,"excerpt":2270},172,{"name":2243,"start":290,"end":391},[2268],{"name":2269,"start":946,"end":720},"skills\u002Ffleetshift-create-shift\u002FSKILL.md",{"lines":2271,"total":624},[2250,651,2251,2252,2253,2254,2255,2256,2272,2273],"  `fleetshift_list-shifts`). They take the same input, but have no","  `--dry-run`, so the confirmation steps below matter even more.",{"format":979,"lines":624,"tokens":705,"copies":311,"first":2275,"others":2276},{"name":2261,"start":791,"end":375},[2277],{"name":2278,"start":547,"end":566},"skills\u002Ffleetshift-run-shift\u002FSKILL.md",{"sources":255,"lines":2280,"tokens":2281,"clones":619,"duplicatedLines":619,"duplicatedTokens":619,"percentage":619,"percentageTokens":619,"formats":2282,"topClones":2284,"generated":2285},834,3574,[2283],{"format":621,"sources":255,"lines":2280,"clones":619,"duplicatedLines":619,"percentage":619},[],{"files":619,"minified":619,"sample":2286},[],{"score":2288,"grade":296,"size":2289,"dimensions":2291},76.5,{"lines":2290,"files":386,"class":2143},1526,[2292,2296,2301],{"id":839,"source":840,"value":619,"adjusted":311,"lines":619,"halfLife":843,"formats":2293,"excluded":2294,"weight":291,"score":2295},[621,847],[384,849,850],85.1,{"id":852,"source":840,"value":619,"adjusted":2297,"lines":619,"halfLife":855,"coverage":2298,"weight":2299,"score":2300},2.3,45.3,0.453,80.8,{"id":860,"source":840,"value":2302,"adjusted":2303,"lines":1809,"halfLife":527,"weight":291,"score":733},39.4,28.9,{"total":2305,"mean":2306,"files":2307},432,43.2,[2308,2311,2315,2318,2321,2324,2327,2330,2333,2336],{"path":2309,"complexity":381,"lines":1809,"bytes":2310},"plugins\u002Fshunt\u002Fevals\u002Ffixtures\u002Fwebsocket-handler.ts",48024,{"path":2312,"complexity":795,"lines":2313,"bytes":2314},"plugins\u002Fshunt\u002Fevals\u002Frun.sh",321,11076,{"path":2316,"complexity":368,"lines":359,"bytes":2317},"plugins\u002Fshunt\u002Fevals\u002Ftransport-evals.sh",6154,{"path":2319,"complexity":290,"lines":1760,"bytes":2320},"plugins\u002Fshunt\u002Fscripts\u002Flib\u002Faika.sh",6322,{"path":2322,"complexity":624,"lines":435,"bytes":2323},"plugins\u002Fshunt\u002Fscripts\u002Fbulk-read",1554,{"path":2325,"complexity":732,"lines":272,"bytes":2326},"plugins\u002Fshunt\u002Fhooks\u002Fcheck-bash-read",1596,{"path":2328,"complexity":553,"lines":323,"bytes":2329},"plugins\u002Fshunt\u002Fscripts\u002Fcode-write",1647,{"path":2331,"complexity":393,"lines":532,"bytes":2332},"plugins\u002Fshunt\u002Fevals\u002Ffixtures\u002Forder-service.test.ts",1669,{"path":2334,"complexity":292,"lines":720,"bytes":2335},"plugins\u002Fshunt\u002Fhooks\u002Fcheck-file-size",1264,{"path":2337,"complexity":613,"lines":795,"bytes":2338},"plugins\u002Fshunt\u002Fevals\u002Ffixtures\u002Fuser-service.ts",1051,{"percentage":619,"findings":619,"files":304,"byCategory":2340,"largest":2341},[],[],{"name":271,"url":2343,"description":2344,"language":303,"stars":2345,"starsToday":918,"defaultBranch":1974,"headSha":2346,"durationMs":2347,"total":2348,"formats":2355,"topClones":2382,"code":2476,"health":2559,"complexity":2580,"deadCode":2621},"https:\u002F\u002Fgithub.com\u002FUsagi-org\u002Fai-goofish-monitor","基于 Playwright 和AI实现的闲鱼多任务实时\u002F定时监控与智能分析系统，配备了功能完善的后台管理UI。帮助用户从闲鱼海量商品中，找到心仪产品。",16699,"77f8d75869acd65f9dba72731b95c7c49ea67bdf",1409,{"sources":2349,"lines":2350,"tokens":2351,"clones":272,"duplicatedLines":2352,"duplicatedTokens":2353,"percentage":273,"percentageTokens":2354},317,32284,178930,498,2831,1.58,[2356,2360,2363,2366,2368,2370,2373,2376,2378,2379],{"format":365,"sources":1145,"lines":2357,"clones":999,"duplicatedLines":2358,"percentage":2359},15171,377,2.49,{"format":847,"sources":501,"lines":2361,"clones":613,"duplicatedLines":430,"percentage":2362},6020,0.88,{"format":2364,"sources":1937,"lines":2365,"clones":304,"duplicatedLines":1118,"percentage":291},"html",2408,{"format":372,"sources":304,"lines":1611,"clones":311,"duplicatedLines":1118,"percentage":2367},10.81,{"format":979,"sources":292,"lines":1004,"clones":291,"duplicatedLines":255,"percentage":2369},0.74,{"format":621,"sources":434,"lines":2371,"clones":291,"duplicatedLines":624,"percentage":2372},648,2.01,{"format":2374,"sources":2000,"lines":2375,"clones":619,"duplicatedLines":619,"percentage":619},"vue",5645,{"format":390,"sources":304,"lines":2377,"clones":619,"duplicatedLines":619,"percentage":619},459,{"format":358,"sources":393,"lines":880,"clones":619,"duplicatedLines":619,"percentage":619},{"format":2380,"sources":304,"lines":2381,"clones":619,"duplicatedLines":619,"percentage":619},"css",175,[2383,2398,2414,2434,2440,2448,2454,2459,2465,2471],{"format":365,"lines":391,"tokens":1660,"copies":311,"first":2384,"others":2386,"excerpt":2390},{"name":2385,"start":1709,"end":710},"src\u002Fdomain\u002Fmodels\u002Ftask.py",[2387],{"name":2385,"start":2388,"end":2389},251,282,{"lines":2391,"total":391},[2392,2095,2393,2394,651,2395,2095,2396,2397,651],"@model_validator(mode=\"before\")","def normalize_legacy_keyword_payload(cls, values):","    return _normalize_payload_keywords(values)","@field_validator(\"min_price\", \"max_price\", mode=\"before\")","def convert_price_to_str(cls, value):","    return _normalize_price_value(value)",{"format":365,"lines":255,"tokens":768,"copies":304,"first":2399,"others":2401,"excerpt":2405},{"name":2385,"start":2055,"end":2400},131,[2402,2403],{"name":2385,"start":2381,"end":913},{"name":2385,"start":815,"end":2404},312,{"lines":2406,"total":255},[2407,2408,2409,2410,2411,2412,2413],"account_state_file: Optional[str] = None","account_strategy: Literal[\"auto\", \"fixed\", \"rotate\"] = \"auto\"","free_shipping: bool = True","new_publish_option: Optional[str] = None","region: Optional[str] = None","decision_mode: Literal[\"ai\", \"keyword\"] = \"ai\"","keyword_rules: List[str] = Field(default_factory=list)",{"format":365,"lines":386,"tokens":323,"copies":304,"first":2415,"others":2417,"excerpt":2422,"excerptSecond":2431},{"name":2416,"start":412,"end":528},"tests\u002Funit\u002Ftest_ai_handler_analysis.py",[2418,2420],{"name":2416,"start":750,"end":2419},110,{"name":2416,"start":2421,"end":1538},227,{"lines":2423,"total":386},[668,651,2424,2425,2426,2427,651,2428,2429,2430],"monkeypatch.setattr(ai_handler, \"client\", _build_fake_client(fake_create))","monkeypatch.setattr(ai_handler, \"MODEL_NAME\", \"fake-model\")","monkeypatch.setattr(ai_handler, \"ENABLE_RESPONSE_FORMAT\", True)","monkeypatch.setattr(app_config, \"ENABLE_RESPONSE_FORMAT\", True)","result = asyncio.run(","    ai_handler.get_ai_analysis(","        {\"商品信息\": {\"商品ID\": \"2\", \"商品标题\": \"测试商品2\"}},",{"lines":2432,"total":386},[668,651,2424,2425,2426,2427,651,2428,2429,2433],"        {\"商品信息\": {\"商品ID\": \"3\", \"商品标题\": \"测试商品3\"}},",{"format":621,"lines":624,"tokens":2018,"copies":311,"first":2435,"others":2437},{"name":2436,"start":1563,"end":1660},"start.sh",[2438],{"name":2436,"start":713,"end":2439},213,{"format":365,"lines":511,"tokens":1526,"copies":311,"first":2441,"others":2445},{"name":2442,"start":2443,"end":2444},"src\u002Finfrastructure\u002Fpersistence\u002Fsqlite_bootstrap.py",264,281,[2446],{"name":2447,"start":730,"end":430},"src\u002Fservices\u002Fprice_history_service.py",{"format":365,"lines":617,"tokens":576,"copies":311,"first":2449,"others":2451},{"name":2385,"start":2450,"end":1611},206,[2452],{"name":2385,"start":1686,"end":2453},358,{"format":365,"lines":290,"tokens":704,"copies":311,"first":2455,"others":2457},{"name":2385,"start":2456,"end":908},176,[2458],{"name":2385,"start":577,"end":1386},{"format":847,"lines":719,"tokens":614,"copies":311,"first":2460,"others":2462},{"name":2461,"start":311,"end":290},"web-ui\u002Fsrc\u002Fcomponents\u002Fui\u002Fdialog\u002FDialogContent.vue",[2463],{"name":2464,"start":311,"end":290},"web-ui\u002Fsrc\u002Fcomponents\u002Fui\u002Fdialog\u002FDialogScrollContent.vue",{"format":365,"lines":617,"tokens":735,"copies":311,"first":2466,"others":2468},{"name":2467,"start":705,"end":352},"tests\u002Funit\u002Ftest_ai_client.py",[2469],{"name":2416,"start":1562,"end":2470},143,{"format":365,"lines":794,"tokens":580,"copies":311,"first":2472,"others":2473},{"name":2416,"start":1617,"end":2419},[2474],{"name":2416,"start":2475,"end":1274},184,{"sources":918,"lines":2477,"tokens":2478,"clones":290,"duplicatedLines":1538,"duplicatedTokens":2479,"percentage":291,"percentageTokens":2480,"formats":2481,"topClones":2494,"generated":2557},23602,134575,1582,1.18,[2482,2485,2487,2488,2491,2492,2493],{"format":365,"sources":789,"lines":2483,"clones":553,"duplicatedLines":1725,"percentage":2484},9919,1.47,{"format":847,"sources":1991,"lines":2486,"clones":613,"duplicatedLines":430,"percentage":370},4556,{"format":2364,"sources":1937,"lines":2365,"clones":304,"duplicatedLines":1118,"percentage":291},{"format":621,"sources":311,"lines":2489,"clones":291,"duplicatedLines":624,"percentage":2490},570,2.28,{"format":2374,"sources":2000,"lines":2375,"clones":619,"duplicatedLines":619,"percentage":619},{"format":390,"sources":304,"lines":2377,"clones":619,"duplicatedLines":619,"percentage":619},{"format":2380,"sources":311,"lines":551,"clones":619,"duplicatedLines":619,"percentage":619},[2495,2501,2508,2524,2528,2532,2536,2540,2545,2550],{"format":365,"lines":391,"tokens":1660,"copies":311,"first":2496,"others":2497,"excerpt":2499},{"name":2385,"start":1709,"end":710},[2498],{"name":2385,"start":2388,"end":2389},{"lines":2500,"total":391},[2392,2095,2393,2394,651,2395,2095,2396,2397,651],{"format":365,"lines":255,"tokens":768,"copies":304,"first":2502,"others":2503,"excerpt":2506},{"name":2385,"start":2055,"end":2400},[2504,2505],{"name":2385,"start":2381,"end":913},{"name":2385,"start":815,"end":2404},{"lines":2507,"total":255},[2407,2408,2409,2410,2411,2412,2413],{"format":621,"lines":624,"tokens":2018,"copies":311,"first":2509,"others":2510,"excerpt":2512},{"name":2436,"start":1563,"end":1660},[2511],{"name":2436,"start":713,"end":2439},{"lines":2513,"total":624},[2514,2515,2516,2517,2518,2519,2520,2521,2522,2523],"Linux (Debian\u002FUbuntu) 解决办法:","1) 安装 Python 与 pip:","   sudo apt-get update","   sudo apt-get install -y python3 python3-pip python3-venv","2) 安装 Node.js 与 npm (LTS):","   curl -fsSL https:\u002F\u002Fdeb.nodesource.com\u002Fsetup_lts.x | sudo -E bash -","   sudo apt-get install -y nodejs","3) 安装 Playwright:","   python3 -m pip install playwright","   python3 -m playwright install chromium",{"format":365,"lines":511,"tokens":1526,"copies":311,"first":2525,"others":2526},{"name":2442,"start":2443,"end":2444},[2527],{"name":2447,"start":730,"end":430},{"format":365,"lines":617,"tokens":576,"copies":311,"first":2529,"others":2530},{"name":2385,"start":2450,"end":1611},[2531],{"name":2385,"start":1686,"end":2453},{"format":365,"lines":290,"tokens":704,"copies":311,"first":2533,"others":2534},{"name":2385,"start":2456,"end":908},[2535],{"name":2385,"start":577,"end":1386},{"format":847,"lines":719,"tokens":614,"copies":311,"first":2537,"others":2538},{"name":2461,"start":311,"end":290},[2539],{"name":2464,"start":311,"end":290},{"format":365,"lines":393,"tokens":769,"copies":311,"first":2541,"others":2542},{"name":2442,"start":1663,"end":899},[2543],{"name":2544,"start":803,"end":2381},"src\u002Fservices\u002Fresult_storage_service.py",{"format":365,"lines":393,"tokens":537,"copies":311,"first":2546,"others":2547},{"name":2442,"start":918,"end":1538},[2548],{"name":2447,"start":2549,"end":981},129,{"format":365,"lines":791,"tokens":783,"copies":311,"first":2551,"others":2555},{"name":2552,"start":2553,"end":2554},"src\u002Fapi\u002Froutes\u002Flogs.py",177,190,[2556],{"name":2552,"start":2554,"end":1664},{"files":619,"minified":619,"sample":2558},[],{"score":295,"grade":296,"size":2560,"dimensions":2563},{"lines":2561,"files":713,"class":2562},25674,"M",[2564,2571,2575],{"id":839,"source":840,"value":2565,"adjusted":2566,"lines":2567,"halfLife":843,"formats":2568,"excluded":2570,"weight":291,"score":604},1.7,1.9,443,[365,2374,847,621,390,1872,2569],"nginx",[384,849,850],{"id":852,"source":840,"value":853,"adjusted":400,"lines":2572,"halfLife":855,"coverage":2573,"weight":2574,"score":858},536,99.4,0.994,{"id":860,"source":840,"value":2576,"adjusted":2577,"lines":2578,"halfLife":527,"weight":291,"score":2579},26.6,26.1,6817,69.6,{"total":1933,"mean":2581,"files":2582},16.7,[2583,2588,2592,2596,2600,2605,2609,2611,2614,2618],{"path":2584,"complexity":2585,"lines":2586,"bytes":2587},"src\u002Fscraper.py",220,1344,59767,{"path":2447,"complexity":2589,"lines":2590,"bytes":2591},105,404,13873,{"path":2593,"complexity":572,"lines":2594,"bytes":2595},"src\u002Fai_handler.py",479,18295,{"path":2597,"complexity":735,"lines":2598,"bytes":2599},"src\u002Fservices\u002Fnotification_config_service.py",425,15244,{"path":2601,"complexity":2602,"lines":2603,"bytes":2604},"src\u002Ffailure_guard.py",83,357,10788,{"path":2606,"complexity":758,"lines":2607,"bytes":2608},"web-ui\u002Fsrc\u002Fcomposables\u002FuseResults.ts",316,8949,{"path":2385,"complexity":537,"lines":2453,"bytes":2610},11960,{"path":2544,"complexity":537,"lines":2612,"bytes":2613},475,15480,{"path":2615,"complexity":528,"lines":2616,"bytes":2617},"src\u002Fservices\u002Fdashboard_payloads.py",296,9840,{"path":2619,"complexity":782,"lines":2585,"bytes":2620},"spider_v2.py",9406,{"percentage":853,"findings":511,"files":2622,"byCategory":2623,"largest":2628},244,[2624,2625,2626,2627],{"category":921,"count":278},{"category":923,"count":311},{"category":1942,"count":291},{"category":925,"count":553},[2629,2631,2633,2635,2637,2639,2641,2644,2646,2648],{"category":921,"path":2630,"name":651,"line":291,"lines":1067},"chrome-extension\u002Fbackground.js",{"category":921,"path":2632,"name":651,"line":291,"lines":863},"src\u002Finfrastructure\u002Fpersistence\u002Fjson_task_repository.py",{"category":921,"path":2634,"name":651,"line":291,"lines":782},"chrome-extension\u002Fpopup.js",{"category":1942,"path":2615,"name":2636,"line":2549,"lines":1668},"_collect_record_metrics",{"category":921,"path":2638,"name":651,"line":291,"lines":1668},"web-ui\u002Fsrc\u002Fcomponents\u002FHelloWorld.vue",{"category":923,"path":2447,"name":2640,"line":373,"lines":613},"build_price_history_path",{"category":925,"path":2642,"name":2643,"line":1118,"lines":311},"src\u002Fapi\u002Froutes\u002Fsettings.py","is_responses_api_unsupported_error",{"category":925,"path":2593,"name":2645,"line":386,"lines":291},"parse_qsl",{"category":925,"path":2593,"name":2647,"line":386,"lines":291},"urlencode",{"category":925,"path":2593,"name":2649,"line":386,"lines":291},"urlparse",{"name":267,"url":2651,"description":2652,"language":303,"stars":2653,"starsToday":2654,"defaultBranch":1974,"headSha":2655,"durationMs":2656,"total":2657,"formats":2663,"topClones":2683,"code":2802,"health":2906,"complexity":2926,"deadCode":2963},"https:\u002F\u002Fgithub.com\u002Fshiyu-coder\u002FKronos","Kronos: A Foundation Model for the Language of Financial Markets",46597,503,"67b630e67f6a18c9e9be918d9b4337c960db1e9a",965,{"sources":537,"lines":2658,"tokens":2659,"clones":268,"duplicatedLines":2660,"duplicatedTokens":2661,"percentage":269,"percentageTokens":2662},81076,352717,28813,99382,28.18,[2664,2668,2672,2675,2678,2680,2681,2682],{"format":365,"sources":373,"lines":2665,"clones":768,"duplicatedLines":2666,"percentage":2667},11209,1521,13.57,{"format":358,"sources":723,"lines":2669,"clones":985,"duplicatedLines":2670,"percentage":2671},65258,27285,41.81,{"format":979,"sources":278,"lines":2673,"clones":291,"duplicatedLines":255,"percentage":2674},694,1.01,{"format":2676,"sources":304,"lines":2677,"clones":619,"duplicatedLines":619,"percentage":619},"csv",2519,{"format":384,"sources":291,"lines":2679,"clones":619,"duplicatedLines":619,"percentage":619},1238,{"format":621,"sources":278,"lines":758,"clones":619,"duplicatedLines":619,"percentage":619},{"format":372,"sources":291,"lines":783,"clones":619,"duplicatedLines":619,"percentage":619},{"format":849,"sources":291,"lines":393,"clones":619,"duplicatedLines":619,"percentage":619},[2684,2716,2738,2760,2767,2772,2781,2787,2792,2797],{"format":358,"lines":2685,"tokens":2686,"copies":255,"first":2687,"others":2691,"excerpt":2704},1088,3618,{"name":2688,"start":2689,"end":2690},"webui\u002Fprediction_results\u002Fprediction_20250826_175135.json",1127,2214,[2692,2694,2696,2698,2700,2702],{"name":2693,"start":2689,"end":2690},"webui\u002Fprediction_results\u002Fprediction_20250826_175909.json",{"name":2695,"start":2689,"end":2690},"webui\u002Fprediction_results\u002Fprediction_20250826_180632.json",{"name":2697,"start":2689,"end":2690},"webui\u002Fprediction_results\u002Fprediction_20250826_180745.json",{"name":2699,"start":2689,"end":2690},"webui\u002Fprediction_results\u002Fprediction_20250826_180806.json",{"name":2701,"start":2689,"end":2690},"webui\u002Fprediction_results\u002Fprediction_20250826_181012.json",{"name":2703,"start":2689,"end":2690},"webui\u002Fprediction_results\u002Fprediction_20250826_181139.json",{"lines":2705,"total":2685},[2706,2707,2708,2709,2710,2711,2712,2713,2714,2715],"  }","],","\"actual_data\": [","  {","    \"timestamp\": \"2025-08-14T10:35:00\",","    \"open\": 123397.21,","    \"high\": 123588.0,","    \"low\": 123397.2,","    \"close\": 123479.47,","    \"volume\": 47.38644,",{"format":358,"lines":2685,"tokens":2686,"copies":434,"first":2717,"others":2719,"excerpt":2730},{"name":2718,"start":2689,"end":2690},"webui\u002Fprediction_results\u002Fprediction_20250826_181240.json",[2720,2722,2724,2726,2728],{"name":2721,"start":2689,"end":2690},"webui\u002Fprediction_results\u002Fprediction_20250826_181434.json",{"name":2723,"start":2689,"end":2690},"webui\u002Fprediction_results\u002Fprediction_20250826_181513.json",{"name":2725,"start":2689,"end":2690},"webui\u002Fprediction_results\u002Fprediction_20250826_181612.json",{"name":2727,"start":2689,"end":2690},"webui\u002Fprediction_results\u002Fprediction_20250826_181648.json",{"name":2729,"start":2689,"end":2690},"webui\u002Fprediction_results\u002Fprediction_20250826_181800.json",{"lines":2731,"total":2685},[2706,2707,2708,2709,2732,2733,2734,2735,2736,2737],"    \"timestamp\": \"2025-08-15T15:45:00\",","    \"open\": 118810.01,","    \"high\": 118842.0,","    \"low\": 118770.0,","    \"close\": 118807.72,","    \"volume\": 27.15622,",{"format":358,"lines":2739,"tokens":2740,"copies":304,"first":2741,"others":2744,"excerpt":2749},2207,7455,{"name":2742,"start":720,"end":2743},"webui\u002Fprediction_results\u002Fprediction_20250826_170831.json",2239,[2745,2747],{"name":2746,"start":720,"end":2743},"webui\u002Fprediction_results\u002Fprediction_20250826_171720.json",{"name":2748,"start":720,"end":2743},"webui\u002Fprediction_results\u002Fprediction_20250826_171913.json",{"lines":2750,"total":2739},[2751,2752,2753,2754,2755,2706,2756,2757,2758,2759],"    \"max\": 357.3","  },","  \"close\": {","    \"min\": 342.2,","    \"max\": 357.7","},","\"last_values\": {","  \"open\": 347.2,","  \"high\": 347.4,",{"format":358,"lines":2739,"tokens":2761,"copies":311,"first":2762,"others":2764},7335,{"name":2763,"start":720,"end":2743},"webui\u002Fprediction_results\u002Fprediction_20250826_174410.json",[2765],{"name":2766,"start":720,"end":2743},"webui\u002Fprediction_results\u002Fprediction_20250826_174809.json",{"format":358,"lines":2739,"tokens":2761,"copies":311,"first":2768,"others":2769},{"name":2693,"start":720,"end":2743},[2770],{"name":2771,"start":720,"end":2743},"webui\u002Fprediction_results\u002Fprediction_20250826_180308.json",{"format":358,"lines":2773,"tokens":2774,"copies":311,"first":2775,"others":2778},1091,3627,{"name":2776,"start":2777,"end":2690},"webui\u002Fprediction_results\u002Fprediction_20250826_172740.json",1124,[2779],{"name":2780,"start":2777,"end":2690},"webui\u002Fprediction_results\u002Fprediction_20250826_173322.json",{"format":358,"lines":2685,"tokens":2686,"copies":311,"first":2782,"others":2784},{"name":2783,"start":2689,"end":2690},"webui\u002Fprediction_results\u002Fprediction_20250826_163800.json",[2785],{"name":2786,"start":2689,"end":2690},"webui\u002Fprediction_results\u002Fprediction_20250826_164030.json",{"format":358,"lines":2685,"tokens":2686,"copies":311,"first":2788,"others":2790},{"name":2789,"start":2689,"end":2690},"webui\u002Fprediction_results\u002Fprediction_20250826_164422.json",[2791],{"name":2742,"start":2689,"end":2690},{"format":358,"lines":2685,"tokens":2686,"copies":311,"first":2793,"others":2795},{"name":2794,"start":2689,"end":2690},"webui\u002Fprediction_results\u002Fprediction_20250826_172153.json",[2796],{"name":2776,"start":2689,"end":2690},{"format":358,"lines":2685,"tokens":2686,"copies":311,"first":2798,"others":2800},{"name":2799,"start":2689,"end":2690},"webui\u002Fprediction_results\u002Fprediction_20250826_173455.json",[2801],{"name":2763,"start":2689,"end":2690},{"sources":404,"lines":2803,"tokens":2804,"clones":368,"duplicatedLines":2805,"duplicatedTokens":2806,"percentage":2807,"percentageTokens":2808,"formats":2809,"topClones":2814,"generated":2904},4552,30182,372,2609,8.17,8.64,[2810,2813],{"format":365,"sources":791,"lines":2811,"clones":368,"duplicatedLines":2805,"percentage":2812},4512,8.24,{"format":621,"sources":291,"lines":272,"clones":619,"duplicatedLines":619,"percentage":619},[2815,2832,2849,2860,2869,2875,2884,2888,2893,2898],{"format":365,"lines":1668,"tokens":1538,"copies":311,"first":2816,"others":2819,"excerpt":2822},{"name":2817,"start":740,"end":2818},"finetune_csv\u002Ffinetune_base_model.py",239,[2820],{"name":2821,"start":576,"end":808},"finetune_csv\u002Ffinetune_tokenizer.py",{"lines":2823,"total":1668},[2824,2825,2826,2827,2828,2829,2830,2831,2093,651],"    data_type='val',","    lookback_window=config.lookback_window,","    predict_window=config.predict_window,","    clip=config.clip,","    seed=config.seed + 1,","    train_ratio=config.train_ratio,","    val_ratio=config.val_ratio,","    test_ratio=config.test_ratio",{"format":365,"lines":1118,"tokens":2421,"copies":311,"first":2833,"others":2835,"excerpt":2837},{"name":2834,"start":787,"end":576},"finetune_csv\u002Ftrain_sequential.py",[2836],{"name":2834,"start":2107,"end":2165},{"lines":2838,"total":1118},[2839,2840,2841,2842,2843,2844,2845,2846,2847,2848],"    print(\"pre_trained_tokenizer=False, randomly initializing Tokenizer architecture\")","import json","cfg_path = os.path.join(self.config.pretrained_tokenizer_path, 'config.json')","with open(cfg_path, 'r') as f:","    arch = json.load(f)","tokenizer = KronosTokenizer(","    d_in=arch.get('d_in', 6),","    d_model=arch.get('d_model', 256),","    n_heads=arch.get('n_heads', 4),","    ff_dim=arch.get('ff_dim', 512),",{"format":365,"lines":794,"tokens":741,"copies":311,"first":2850,"others":2853,"excerpt":2855},{"name":2821,"start":2851,"end":2852},311,332,[2854],{"name":2834,"start":1677,"end":576},{"lines":2856,"total":794},[2857,2842,2843,2844,2845,2846,2847,2848,2858,2859],"cfg_path = os.path.join(config.pretrained_tokenizer_path, 'config.json')","    n_enc_layers=arch.get('n_enc_layers', 4),","    n_dec_layers=arch.get('n_dec_layers', 4),",{"format":365,"lines":955,"tokens":2861,"copies":311,"first":2862,"others":2865},135,{"name":2863,"start":2864,"end":741},"finetune\u002Ftrain_predictor.py",188,[2866],{"name":2867,"start":1127,"end":2868},"finetune\u002Ftrain_tokenizer.py",248,{"format":365,"lines":791,"tokens":1562,"copies":311,"first":2870,"others":2871},{"name":2817,"start":2598,"end":960},[2872],{"name":2834,"start":2873,"end":2874},211,224,{"format":365,"lines":732,"tokens":2876,"copies":311,"first":2877,"others":2881},116,{"name":2878,"start":2879,"end":2880},"webui\u002Fapp.py",510,521,[2882],{"name":2878,"start":2883,"end":2572},526,{"format":365,"lines":368,"tokens":268,"copies":311,"first":2885,"others":2886},{"name":2817,"start":1725,"end":2265},[2887],{"name":2821,"start":435,"end":735},{"format":365,"lines":624,"tokens":806,"copies":311,"first":2889,"others":2891},{"name":2890,"start":2607,"end":1130},"model\u002Fmodule.py",[2892],{"name":2890,"start":2603,"end":905},{"format":365,"lines":794,"tokens":745,"copies":311,"first":2894,"others":2896},{"name":2817,"start":1371,"end":2895},370,[2897],{"name":2821,"start":1240,"end":361},{"format":365,"lines":553,"tokens":394,"copies":311,"first":2899,"others":2901},{"name":2863,"start":981,"end":2900},147,[2902],{"name":2817,"start":2903,"end":1386},315,{"files":619,"minified":619,"sample":2905},[],{"score":2907,"grade":300,"size":2908,"dimensions":2910},53.9,{"lines":2909,"files":373,"class":2562},11201,[2911,2917,2921],{"id":839,"source":840,"value":2912,"adjusted":2913,"lines":2666,"halfLife":843,"formats":2914,"excluded":2915,"weight":291,"score":2916},13.6,12.1,[365,621],[384,849,850],37.4,{"id":852,"source":840,"value":2918,"adjusted":2919,"lines":985,"halfLife":855,"coverage":806,"weight":291,"score":2920},0.4,0.8,92.9,{"id":860,"source":840,"value":2922,"adjusted":2923,"lines":2924,"halfLife":527,"weight":291,"score":2925},63.9,57.4,7160,45.1,{"total":2927,"mean":2928,"files":2929},1191,41.1,[2930,2934,2939,2942,2946,2950,2952,2954,2957,2961],{"path":2931,"complexity":2265,"lines":2932,"bytes":2933},"examples\u002Fprediction_new_GUI.py",1625,65400,{"path":2935,"complexity":2936,"lines":2937,"bytes":2938},"examples\u002Fprediction_new.py",138,1333,52593,{"path":2878,"complexity":1145,"lines":2940,"bytes":2941},708,30464,{"path":2943,"complexity":566,"lines":2944,"bytes":2945},"examples\u002Fget_date_new.py",661,24268,{"path":2947,"complexity":764,"lines":2948,"bytes":2949},"examples\u002Fget_akshare_date_2024-2025_x.py",629,22761,{"path":2890,"complexity":2079,"lines":1160,"bytes":2951},23426,{"path":2817,"complexity":540,"lines":1352,"bytes":2953},19127,{"path":2834,"complexity":540,"lines":2955,"bytes":2956},361,15358,{"path":2958,"complexity":399,"lines":2959,"bytes":2960},"examples\u002Frun_backtest_kronos.py",455,16811,{"path":2821,"complexity":527,"lines":2453,"bytes":2962},13741,{"percentage":2964,"findings":1118,"files":550,"byCategory":2965,"largest":2968},0.38,[2966,2967],{"category":923,"count":291},{"category":925,"count":955},[2969,2972,2975,2977,2979,2981,2983,2985,2987,2989],{"category":923,"path":2970,"name":2971,"line":2602,"lines":290},"finetune\u002Futils\u002Ftraining_utils.py","reduce_tensor",{"category":925,"path":2973,"name":2974,"line":291,"lines":291},"finetune\u002Fconfig.py","os",{"category":925,"path":2867,"name":2976,"line":434,"lines":291},"argparse",{"category":925,"path":2867,"name":2978,"line":255,"lines":291},"datetime",{"category":925,"path":2817,"name":2980,"line":613,"lines":291},"pickle",{"category":925,"path":2817,"name":2982,"line":386,"lines":291},"nn",{"category":925,"path":2817,"name":2984,"line":624,"lines":291},"gmtime",{"category":925,"path":2817,"name":2986,"line":624,"lines":291},"strftime",{"category":925,"path":2817,"name":2988,"line":946,"lines":291},"KronosPredictor",{"category":925,"path":2821,"name":2984,"line":553,"lines":291},{"\u002Ftrending\u002F2026-11-04":2991},{"views":311,"visits":311},null,1793861468425]