Conversation
…description evolution Phase 1 (skill evolution) was non-functional against the installed dspy 3.3.1: - dspy.GEPA(max_steps=...) — param renamed upstream to auto/max_full_evals/ max_metric_calls; also never wired optimizer_model into a reflection_lm - skill_fitness_metric only accepted 3 args; GEPA requires the 5-arg (gold, pred, trace, pred_name, pred_trace) signature — wired it to the existing but unused LLMJudge instead of the crude keyword-overlap heuristic - constraint validation ran against the skill body (frontmatter stripped), so skill_structure could never pass — now validates the reassembled file - most severe: SkillModule stored skill_text as a plain attribute while GEPA only mutates predictor instructions, so the exported "evolved" skill was always byte-identical to baseline despite a real score improvement. Skill text is now the predictor's instructions directly, so it's live-read off the mutated signature. - external_importers' Hermes session reader crashed on any non-UTF8 file under ~/.hermes/sessions/ Verified end to end: github-code-review +22.7% (synthetic), +2.1% (sessiondb, mining real Claude Code/Hermes usage); systematic-debugging -5.8% (Gemini) — a genuine regression, GEPA over-compressed and lost substance. Phase 2 (tool description evolution) didn't exist upstream — built evolution/tools/tool_module.py + evolve_tool_descriptions.py mirroring the Phase 1 pattern: all target tool descriptions optimized together in one router instructions block (cross-tool competition, not independent mutation) using marker-delimited sections that survive GEPA rewrites. First real run (read_file/write_file/search_files/terminal, Grok 4.3) hit 100% baseline accuracy immediately — no learning signal, dataset too easy; needs harder confusable cases to be a meaningful test.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Validation
Note: upstream merge permissions are not available to ideas24h, so this PR is published for maintainer merge.