Run the Skill Organism evolution engine overnight for continuous improvement.
# Run 10 generations across all 27 skills (default)
python skill-organism/enterprise_runner.py --overnight
# Custom generation count
python skill-organism/enterprise_runner.py --overnight --generations 20
# Single skill evolution
python skill-organism/enterprise_runner.py --skill security-audit --generations 5- ARENA.md defines the fitness function, mutation strategies, and experiment budget for each skill
- enterprise_runner.py orchestrates the evolution cycle with:
- File integrity verification (SHA-256 checksums)
- Atomic registry updates with backup/rollback
- Health gate (aborts if >30% skills are critical)
- EvalBudget context manager (30s per skill per generation)
- eval_judge.py scores each mutation on 5 dimensions
- Git-per-experiment branches isolate mutations; only improvements merge
- evolution_log.jsonl captures every event for the dashboard
The overnight runner uses asyncio.Semaphore(4) for concurrent skill evolution.
Each generation processes up to 4 skills simultaneously.
While the overnight run executes:
# Watch the evolution log
tail -f skill-organism/evolution_log.jsonl | python -m json.tool
# Open the dashboard
open dashboards/evolution_dashboard.htmlEach skill evaluation is capped at eval_budget_seconds (default: 30s) from its ARENA.md.
The total overnight budget is approximately: generations × skills × budget_seconds.
For 10 generations × 27 skills × 30s = ~135 minutes of evaluation time.
- Lockfile prevents concurrent evolution cycles
- Pre-flight and post-flight integrity checks on the skill registry
- Automatic rollback if the registry becomes corrupted
- Signal handlers for graceful SIGTERM/SIGINT shutdown
When ARENA.md has mindspider_feed_enabled: true, the evolution loop will:
- Check
datasets/mindspider/today_topics.jsonfor live data - Fall back to synthetic data if unavailable
- Log trilogy integration status in each evolution event