How abdulbosidcoder/farmer works
Farmer is a Kaggriculture agent-training system: parameterized agents play self-play tournaments, receive fitness scores, and evolve across generations. The documented workflow promotes each generation’s champion to avlod/, admits it to avlod/best/ only after a gate match, and carries an elite/mutated population forward. The graph follows README-described behavior; trainer internals were not sampled, so uncertain implementation-level links are omitted.
Main entry points: evolve.py Evolution controller · common.py Game utilities · population.json Candidate population · main.py Base agent template
Components 13
Training loop
- Evolution controller
trainer/evolve.py - Game utilities
trainer/common.py - Candidate population
avlod/population.json - Fitness scoring
trainer/evolve.py - Selection and mutation
trainer/evolve.py
Agent strategies
- Base agent template
agents/base/main.py - V8 benchmark agent
agents/v8/main.py
Evolution artifacts
- Generation champion
avlod - Best gated agent
avlod/best/main.py - Progress history
avlod/history.csv
Game runtime
- Kaggriculture engine
Other components
- Trainer operator
- Starter opponent
Connections 13
- Trainer operator → Evolution controller: starts training
- Evolution controller → Candidate population: loads or resumes
- Evolution controller → Game utilities: runs matches
- Game utilities → Kaggriculture engine: plays games
- Evolution controller → Base agent template: uses template
- Evolution controller → V8 benchmark agent: benchmarks against
- Evolution controller → Starter opponent: optionally challenges
- Evolution controller → Fitness scoring: scores results
- Fitness scoring → Selection and mutation: ranks candidates
- Selection and mutation → Candidate population: forms next generation
- Evolution controller → Generation champion: saves champion
- Evolution controller → Best gated agent: gate-promotes winner
- Evolution controller → Progress history: records progress