Propose a single focused hypothesis for the current evolution iteration. Use at the start of each iteration to select what to improve. Triggers on: propose, suggest improvement, generate hypothesis, evolution propose.
Generate one focused hypothesis for the current Wiggum engine evolution iteration.
hypothesis.md in the iteration directoryiteration.json with hypothesis metadataiteration.json (required) — contains iteration number, baseline version, and artifact pathshypothesis.md, implementation.md, benchmark.md, and decision.md files from earlier iterationssummary.md and session.env if availableRead Prior Artifacts — Review all completed iteration directories to understand what has already been tried, what was accepted, what was rejected and why.
Identify an Opportunity — Based on prior results, find one focused area for improvement. Good hypotheses target:
Write hypothesis.md — The hypothesis file must include:
Update iteration.json — Set the state to "proposed" and add a hypothesis object with:
summary — the one-sentence descriptionreasoning — why this should helptargetMetrics — list of metrics to track (e.g., "speed_perft_nodes_per_second", "bench_score")buildsOn — iteration numbers this builds on, or empty array if independentStop Signal — If no valid hypothesis can be formed (prior iterations exhausted all viable ideas, or the engine is believed to be at a local maximum), write hypothesis.md explaining why, update iteration.json with "no_hypothesis" as the state, and inform the orchestrator.
The hypothesis should follow this structure in hypothesis.md:
# Iteration N Hypothesis
## Proposed Change
One clear sentence describing what will change.
## Why This Helps
Brief explanation of the mechanism — why should this improve speed, accuracy, or search efficiency?
## Target Metrics
- Metric 1: expected direction (e.g., "nodes/sec should increase by >2%")
- Metric 2: expected direction
## Related Work
- References to prior iterations that informed this hypothesis OR "None — this is the first proposal"
After this skill runs, the following must be true:
hypothesis.md exists in the iteration directory with a valid hypothesisiteration.json has been updated with state "proposed" and hypothesis metadataiteration.json has state "no_hypothesis" with explanation.claude/evolution/CLAUDE.mdscripts/evolution-loop.shscripts/benchmark-version.sh