How much of F-Droid is LLM generated?
TL;DR Highlight
Checked 102 F-Droid app updates for LLM traces and sorted them into three tiers
Who Should Read
A developer who wants to know whether an open-source dependency or app was written by an LLM before adopting it
Core Mechanics
- LLM code can't be reliably detected
- The author admits text alone carries too little information for accurate detection.
- So he judged by visible signs in READMEs, commits, and repo structure.
- 102 apps sorted into three tiers
- 'Mostly AI' means he expects over 50% of the code to be LLM-written.
- 'Mostly human' means under 50%, and 'No signs of AI' means nothing suspicious or a strict LLM policy.
- Judgments rest on visible signs
- He looked at Claude co-author commits, agent config files, and accepted agent PRs.
- AI-made icons, emoji-heavy READMEs, planning .md files, and a 10k+ LOC init commit also counted.
- Agent infrastructure means automatic Mostly AI
- He believes AI can't be used responsibly from inside a coding harness, so he applied this rule.
- Scope is the 102 apps updated on Sept 12, 2026
- He ignored app history and only looked at recent commits.
Community Reactions
- Opinion that 70% looks overcounted
- Commenters said weak signals like large init commits may have triggered Mostly AI labels.
- Another said sampling by latest update favors vibe-coded apps, which release more often.
- Reports of misclassified apps
- One commenter saw almost no AI signs in Yubico Authenticator.
- Another said PipePipe's commits look reasonable and asked for the reasoning behind the verdict.
- Pushback on whether it matters
- Some argued that if an app works, the code's origin doesn't matter.
- Others noted many projects predate 2022 and can't be called AI-generated.
- Hands-on experience
- One commenter built a sub-1500-line Rust init system with a local LLM and tested syscall values against kernel sources.
- Another said they stopped hand-writing code in 2026 because the LLM writes better code than they do.
How to Apply
- Skim the last 20 commits of a dependency
- Before adopting it, search the GitHub commit list for Co-authored-by: Claude and similar lines.
- Check the repo root for agent files like CLAUDE.md or AGENTS.md.
- Add an AI-policy item to your dependency checklist
- Record the project's LLM policy, tests, and review process.
- Judge by review and tests rather than rejecting on AI traces alone.
- Disclose AI use in your own repo
- Write one README paragraph on the scope of AI use and the review process.
- The post shows an AI disclosure made judging a project easy.
Try It
# Run in Claude Code or a shell: quick LLM-trace check of a dependency repo (simplified version of the post's criteria)
# Usage: bash check.sh owner/repo
REPO="$1"
git clone --depth 50 "https://github.com/$REPO" /tmp/check && cd /tmp/check
echo "== Claude/Copilot co-authored commits (last 50) =="
git log -50 --format=%B | grep -ciE "co-authored-by:.*(claude|copilot|codex)"
echo "== Agent config files =="
ls CLAUDE.md AGENTS.md .claude .cursor .cursorrules 2>/dev/null
echo "== Next: look for AI disclosure in the README =="
grep -niE "(AI|LLM|claude|copilot)" README* | headTerminology
Related Papers
The Judge Can Debias Itself: Awareness and Self-Debiasing for Reliable LLM-as-a-Judge
Warning an LLM judge about bias or letting it self-critique improved 20 of 21 model–bias combinations.
90% of US working hours are spent on tasks not covered well by AI benchmarks
Mapping 29 benchmarks to job tasks shows 90% of US working hours lack good coverage
Postgres 19 delayed after AI reviewers find more bugs than humans can fix
LLM code review surfaced so many bugs that Postgres 19 slipped to November and 8-10 features were reverted
Show HN: Gemini 4 Argon plays StarCraft
LLMs wrote StarCraft bots in one hour; GPT-6 Astra scored highest.
A Plausible Explanation Is Enough to Mislead Multimodal Judges
Adding plausible explanations to fixed answers cut MLLM judges' wrong-answer rejection by 12.7–13.8 points.
Neural networks are clean
Looking at neurons directly shows most have one main job, challenging superposition.