Funnel 1 selected 86 repositories in a pilot screening. Funnel 2 has mined their issues: 12,629 collected and 1,094 kept by the automatic filter. Sampling and labelling, which decide which issues become evidence for RQ1–RQ3, come next. In both funnels, each bar is what survives the criterion on its left, and each box on the right is what that criterion removed or added.
Preliminary. The repository screening (E7) and the issue labels on this page come from a pilot run by two LLM-operated rater roles, not from the human round, and may not be cited in the paper. In funnel 2, collection and filtering are measured; sampling, κ and labels have not run yet, so those hatched numbers are projections.
scripts/msr/. The hand-off from funnel 1 to funnel 2 has happened: the 86 selected repositories were mined in an isolated run, kept apart from the committed 11-repository corpus in data/msr/. Solid boxes are measured, the dashed blue box is a projection, and dashed amber boxes are the next steps.Sources: repository_selection.md (2026-10-05) for A1–A6 and the two pilot screening sheets for E7 (local dry-run files, not committed). The gates run in the order the script applies them; A5 and A4 cost API calls, so they run last, on the fewest candidates.
GET /search/repositories over name, description and topics. Each query targets a declared axis.| Cohen's κ | M1 inference | M2 device path | M3 cost reports | Inclusion |
|---|---|---|---|---|
| Checkpoint, rows 1–30 | 1.00 | 0.67 | 0.47 | 0.67 |
| Full sheet, 172 rows | 0.717 | 0.827 | 0.779 | 0.731 |
--repos.mine_issues.py --mode both → 12,629 issues| Stars ≥ | Pass A6 | Pass A1–A6 | Original 12 kept |
|---|---|---|---|
| 100 | 661 | 184 | 12 |
| 200 | 508 | 172 | 11 |
| 500 | 315 | 151 | 11 |
A fivefold change in the threshold (100 → 500 stars) moves the approved pool by 33 repositories (184 → 151). Of the original 12, only lmstudio-bug-tracker depends on where the line sits.
11 of 12 make it through E7. lmstudio-ai/lmstudio-bug-tracker fails A6, so it never reaches screening, although it supplied 297 raw issues to the earlier corpus.
ROCm/ROCm passes, under the name GitHub now resolves: ROCm/legacy-rocm-build. The old name returned HTTP 422 to every issue query. The new name yielded 304 issues in the 86-repository run.
The 86 selected repositories were mined from 2026-10-07 22:57 to 2026-10-08 18:14 (19 h 17 min): 26,058 queries, 26,210 requests and 633 rate-limit waits, with no crash and every network retry recovered. The run produced 12,193 unique issues. Five llama.cpp queries had hit the API's 1,000-result cap; on 2026-10-09 they were re-collected by date bisection (118 requests, no window left over the cap), adding 277 issues. The same day, the 303 queries of localai-org/vllm.cpp, rejected during the run because the repository had been renamed, were re-run under its new name, adding 159 issues. The corpus now holds 12,629 unique issues from 84 of the 86 repositories, created between 2016-08-17 and 2026-10-08. Mining and filtering below are measured; sampling and labelling have not started.
The same design as the earlier 12-repository round: Q1–Q3 plus the full keyword grid, the v2 filter, a 60-issue stratified sample and two blind raters. Mining and filtering are measured. Sampling and labelling have not run yet, so the hatched rows after the filter are projections.
throttl returned nothing in all 1,290 of its queries (thermal: 178 with results). GitHub search does not prefix-match, so the grid ran on 19 working resource terms.localai-org/vllm.cpp, formerly mudler/vllm.cpp: renamed during the run, so its 303 queries were rejected (HTTP 422); re-run under the new name on 2026-10-09, they took it from 11 issues (primary sweep only) to 170.<details> and pasted logs.issues_raw.jsonl.| Repositories | Count | Raw issues | Kept by v2 | Kept % |
|---|---|---|---|---|
| From the original 12 | 11 | 7,973 | 617 | 7.7 |
| New to the study | 75 | 4,656 | 477 | 10.2 |
| Total | 86 | 12,629 | 1,094 | 8.7 |
84 repositories returned issues; crosswk/SayIt and lukaszliniewicz/Pandrator returned none. 54 have at least one issue past the filter. The projections held: at 14:08 the page expected ≈ 11,700 raw (range 11,400–12,300) and ≈ 1,020 kept; the run ended at 12,193 and 1,075, before date bisection added 277 raw and 11 kept issues and the localai-org/vllm.cpp re-query added 159 raw and 8 kept.
| 12 ad-hoc repos | 86 selected repos | |
|---|---|---|
| Queries | 3,600 | 26,058 + 303 |
| Raw issues | 7,889 | 12,629 |
| Kept by v2 filter | 620 (7.9%) | 1,094 (8.7%) |
| Sampled | 60 | 60 |
| κ (LLM pilot) | 0.795 | ≈ 0.60–0.80 |
| RELATED / disagree / not | 22 / 6 / 32 | ≈ 24 / 9 / 27 |
The 75 new repositories retain more of their issues than the original 11 (10.2% vs. 7.7%) and supply most of the growth over the earlier corpus. The original 11 still hold 63% of the raw corpus and 56% of the kept set.
| Repository | Raw issues | Kept by v2 | Kept % |
|---|---|---|---|
| ggml-org/llama.cpp | 3,906 | 342 | 8.8 |
| ollama/ollama | 1,763 | 129 | 7.3 |
| unslothai/unsloth | 639 | 39 | 6.1 |
| pytorch/executorch | 435 | 18 | 4.1 |
| mlc-ai/mlc-llm | 434 | 44 | 10.1 |
| microsoft/onnxruntime | 380 | 30 | 7.9 |
| oobabooga/textgen | 370 | 9 | 2.4 |
| google-ai-edge/mediapipe | 325 | 5 | 1.5 |
| ROCm/legacy-rocm-build | 304 | 13 | 4.3 |
| lablup/mlxcel | 293 | 74 | 25.3 |
| jundot/omlx | 291 | 89 | 30.6 |
| kvcache-ai/ktransformers | 236 | 11 | 4.7 |
| lemonade-sdk/lemonade | 180 | 14 | 7.8 |
| localai-org/vllm.cpp | 170 | 10 | 5.9 |
| Blaizzy/mlx-vlm | 143 | 21 | 14.7 |
| ggml-org/whisper.cpp | 134 | 5 | 3.7 |
| city96/ComfyUI-GGUF | 133 | 0 | 0.0 |
| google-ai-edge/LiteRT-LM | 132 | 16 | 12.1 |
| mozilla-ai/llamafile | 128 | 4 | 3.1 |
| alibaba/MNN | 120 | 7 | 5.8 |
| xorbitsai/inference | 120 | 3 | 2.5 |
| ml-explore/mlx | 111 | 20 | 18.0 |
| google-ai-edge/LiteRT | 105 | 9 | 8.6 |
| raullenchai/Rapid-MLX | 104 | 38 | 36.5 |
| qualcomm/GenieX | 88 | 11 | 12.5 |
| maziyarpanahi/openmed | 87 | 3 | 3.4 |
| apple/coremltools | 76 | 2 | 2.6 |
| gufo-org/gufo | 71 | 6 | 8.5 |
| Samsung/ONE | 69 | 0 | 0.0 |
| containers/ramalama | 67 | 0 | 0.0 |
| microsoft/BitNet | 66 | 1 | 1.5 |
| NVIDIA/TensorRT-Edge-LLM | 63 | 18 | 28.6 |
| DenisovAV/flutter_edge_ai | 58 | 8 | 13.8 |
| ddalcu/mlx-serve | 55 | 20 | 36.4 |
| kkokosa/dotLLM | 49 | 3 | 6.1 |
| withcatai/node-llama-cpp | 49 | 11 | 22.4 |
| warpfront/hipfire | 47 | 4 | 8.5 |
| UbiquitousLearning/mllm | 43 | 1 | 2.3 |
| off-grid-ai/OGAM | 41 | 3 | 7.3 |
| waybarrios/vllm-mlx | 41 | 14 | 34.1 |
| RunanywhereAI/runanywhere-sdks | 40 | 5 | 12.5 |
| Luce-Org/lucebox | 37 | 4 | 10.8 |
| jegly/Box | 32 | 1 | 3.1 |
| software-mansion/react-native-executorch | 31 | 4 | 12.9 |
| 1038lab/ComfyUI-QwenVL | 30 | 0 | 0.0 |
| uxlfoundation/oneDNN | 30 | 2 | 6.7 |
| xororz/local-dream | 30 | 0 | 0.0 |
| Mobile-Artificial-Intelligence/maid | 28 | 0 | 0.0 |
| cactus-compute/cactus | 28 | 5 | 17.9 |
| jjang-ai/vmlx | 27 | 5 | 18.5 |
| Michael-A-Kuykendall/shimmy | 25 | 0 | 0.0 |
| argmaxinc/argmax-oss-swift | 25 | 2 | 8.0 |
| OpenNMT/CTranslate2 | 22 | 0 | 0.0 |
| mlc-ai/web-llm | 22 | 1 | 4.5 |
| turboderp-org/exllamav3 | 22 | 2 | 9.1 |
| mybigday/llama.rn | 20 | 0 | 0.0 |
| ngxson/wllama | 20 | 0 | 0.0 |
| tetherto/qvac | 19 | 2 | 10.5 |
| PurpleDoubleD/locally-uncensored | 17 | 1 | 5.9 |
| deeeed/audiolab | 17 | 1 | 5.9 |
| Muesli-HQ/muesli | 16 | 0 | 0.0 |
| nntrainer/nntrainer | 15 | 0 | 0.0 |
| shubham0204/SmolChat-Android | 15 | 1 | 6.7 |
| lyogavin/airllm | 13 | 0 | 0.0 |
| nobodywho-ooo/nobodywho | 13 | 0 | 0.0 |
| AtomicBot-ai/Atomic-Chat | 12 | 1 | 8.3 |
| Nehanth/pooled | 12 | 0 | 0.0 |
| drumih/turbo-fieldfare | 11 | 0 | 0.0 |
| jjang-ai/mlxstudio | 9 | 0 | 0.0 |
| gokayfem/ComfyUI_VLM_nodes | 7 | 0 | 0.0 |
| hybridgroup/yzma | 7 | 1 | 14.3 |
| weicj/vLLM-2080Ti-Definitive | 7 | 0 | 0.0 |
| woheller69/whisperIME | 7 | 0 | 0.0 |
| Capsize-Games/airunner | 6 | 0 | 0.0 |
| Trans-N-ai/swama | 5 | 1 | 20.0 |
| sarim2000/pennywiseai-tracker | 5 | 0 | 0.0 |
| AtomicBot-ai/atomic-agent | 4 | 0 | 0.0 |
| abdulmominsakib/localmind | 4 | 0 | 0.0 |
| pnnbao97/VieNeu-TTS | 3 | 0 | 0.0 |
| techjarves/Portable-Local-Studio | 3 | 0 | 0.0 |
| Eric-Terminal/ETOS-LLM-Studio | 2 | 0 | 0.0 |
| callstackincubator/ai | 2 | 0 | 0.0 |
| mindspore-ai/mindspore | 2 | 0 | 0.0 |
| QwenAudio/Fun-ASR | 1 | 0 | 0.0 |
| crosswk/SayIt | 0 | 0 | — |
| lukaszliniewicz/Pandrator | 0 | 0 | — |