Harness-evolver harness:deploy
Use when the user is done evolving and wants to finalize, clean up, tag the result, or push the optimized agent.
install
source · Clone the upstream repo
git clone https://github.com/raphaelchristi/harness-evolver
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/raphaelchristi/harness-evolver "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/deploy" ~/.claude/skills/raphaelchristi-harness-evolver-harness-deploy && rm -rf "$T"
manifest:
skills/deploy/SKILL.mdsource content
/harness:deploy
Finalize the evolution results. In v3, the best code is already in the main branch (auto-merged during evolve). Deploy is about cleanup, tagging, and pushing.
What To Do
TOOLS="${EVOLVER_TOOLS:-$([ -d ".evolver/tools" ] && echo ".evolver/tools" || echo "$HOME/.evolver/tools")}" EVOLVER_PY="${EVOLVER_PY:-$([ -f "$HOME/.evolver/venv/bin/python" ] && echo "$HOME/.evolver/venv/bin/python" || echo "python3")}"
1. Show Results
python3 -c " import json c = json.load(open('.evolver.json')) baseline = c['history'][0]['score'] if c['history'] else 0 best = c['best_score'] improvement = best - baseline print(f'Baseline: {baseline:.3f}') print(f'Best: {best:.3f} (+{improvement:.3f}, {improvement/max(baseline,0.001)*100:.0f}% improvement)') print(f'Iterations: {c[\"iterations\"]}') print(f'Experiment: {c[\"best_experiment\"]}') "
Show git diff from before evolution started:
git log --oneline --since="$(python3 -c "import json; print(json.load(open('.evolver.json'))['created_at'][:10])")" | head -20
2. Ask What To Do (interactive)
{ "questions": [{ "question": "Evolution complete. What would you like to do?", "header": "Deploy", "multiSelect": false, "options": [ {"label": "Tag and push", "description": "Create a git tag with the score and push to remote"}, {"label": "Just review", "description": "Show the full diff of all changes made during evolution"}, {"label": "Clean up only", "description": "Remove temporary files (trace_insights.json, etc.) but don't push"}, {"label": "Promote learnings", "description": "Add proven evolution insights to CLAUDE.md (permanent knowledge)"} ] }] }
3. Execute
If "Tag and push":
VERSION=$(python3 -c "import json; c=json.load(open('.evolver.json')); print(f'evolver-v{c[\"iterations\"]}')") SCORE=$(python3 -c "import json; print(f'{json.load(open(\".evolver.json\"))[\"best_score\"]:.3f}')") git tag -a "$VERSION" -m "Evolver: score $SCORE" git push origin main --tags
If "Just review":
git diff HEAD~{iterations} HEAD
If "Clean up only":
rm -f trace_insights.json best_results.json comparison.json production_seed.md production_seed.json
If "Promote learnings":
$EVOLVER_PY $TOOLS/promote_learnings.py --memory evolution_memory.md --target CLAUDE.md --threshold 5 --dry-run
Show the dry-run output. If the user approves, run without
--dry-run.
4. Report
- What was done
- LangSmith experiment URL for the best result
- Suggest reviewing the changes before deploying to production