evograph — DEPRECATED
Do not select algorithm_skill: evograph for a new run. Use agent-optimize (agent mode) or
hill-climb / gepa / skillopt (deterministic) with memory_skill: wiki if you want THIS run's
weakness-graph format. This file stays so an existing evograph run dir is still readable.
Why it is deprecated
evograph advertised one distinctive capability — a collaborative weakness graph with one solver
agent per weakness, merged into a shared candidate each round. Measured against its four siblings,
that capability is not distinctive and the part that was distinctive was a defect:
- The fan-out already exists, gated properly.
agent-optimize fans out N sibling candidates
from the same parent, one diagnosed failure cluster each, every sibling in its own working copy
(a git worktree when the capability is in git), gated one at a time with a re-gate after each
accept so several fixes accumulate into one lineage honestly. That is evograph's round, minus
the flaws below. The clustering itself is phases/diagnose's job in both cases.
- Acceptance was never held out. evograph kept a merge on a raw delta over a frozen 3-task
subset of train, self-reported by the solver subagent that made the edit — no val split, no
standard error, no
Δ > k·SE. Between baseline and finalize an evograph run took no
held-out measurement at all, so the sealed test number was the first honest signal anyone saw.
Whole-round revert existed only as a one-round-late substitute for the gate it lacked; wire the
real gate and there is nothing left for it to catch.
- What remains unique is an output format, not a search strategy. The run-dir
wiki/ is
genuinely useful, but the dashboard renders the Weakness-graph tab from wiki/ presence alone,
for any algorithm that writes the format (core/cap_evolve/dashboard.py). An output contract
does not earn a second agent-mode algorithm that users must choose between — it has since moved
to skills/memory/wiki/SKILL.md, a standalone memory_skill any algorithm can select (#400,
#404), so it no longer needs evograph to stay alive.
There is no deterministic engine
There never was one, and scripts/run.py is a tombstone, not a stub: invoked deterministically it
exits 2 with an agent-mode only payload rather than faking a loop. So evograph is also the one
algorithm that could not be routed through the shared per-iteration record — see
the hill-climb skill's references/run-step.md, which owns the shared iteration mechanics
(parent selection, val gate, commit, iteration record) every other algorithm routes through. Read
it if you are reconstructing what an evograph round should have done.
Reading an existing evograph run
The run dir is authoritative. <run_dir>/wiki/ holds the weakness nodes, solution cards and
per-round results; <run_dir>/runs/round-<N>/agents/<slug>.log holds solver progress. The formats
are in references/dashboard.md — load it if you need to write or parse
that wiki. Treat any per-weakness "kept / new record" number in it as a train-subset self-report,
not a gated result; only finalize's sealed test number and any gate decision recorded in
events.jsonl are honest.
scripts/now.py is the one-clock timestamp stamper those formats require; it is correct and still
used by anything writing the wiki.
Removal is a separate decision
Deprecation is reversible; removal is not. The wiki format contract now has a real owner
(skills/memory/wiki/SKILL.md), so what's left to decide (maintainer): stop dashboard.py
inferring algorithm = "evograph" from wiki/ presence alone (any memory_skill: wiki run now
writes it too), then delete this directory.
References
- skills/memory/wiki/SKILL.md — the wiki format contract's current
home: weakness-node/solution-card schemas, generalized for any algorithm via
memory_skill: wiki.
- references/dashboard.md — the same file formats, kept here for reading
an existing evograph run dir's branch/round-revert specifics the generalized skill dropped.
- references/clustering.md — weakness-node schema and the
affected_tasks freeze rule, kept for reading historical run dirs.
- references/graph.md — solution-card schema, branch layout, whole-round
revert, kept for the same reason.
1---2name: evograph3description: Deprecated agent-mode algorithm (evo-graph port): a weakness-graph search that dispatched one solver agent per failure cluster and reverted a whole round on regression. Do not start new runs with it — its per-weakness fan-out is already `agent-optimize`'s sibling fan-out, done behind the honest val significance gate that evograph never applied, and everything else it did (failure clustering, rejected-edit memory, budget-aware fan-out, free-text stop condition) lives in `agent-optimize` + `phases/diagnose`. Use when reading or repairing an existing evograph run dir, or when writing the run-dir `wiki/` format the dashboard's Weakness-graph tab reads — and to see what to select instead: `agent-optimize` for agent-mode search, `hill-climb`, `gepa`, or `skillopt` for a deterministic loop.4---56# evograph — DEPRECATED78**Do not select `algorithm_skill: evograph` for a new run.** Use `agent-optimize` (agent mode) or9`hill-climb` / `gepa` / `skillopt` (deterministic) with `memory_skill: wiki` if you want THIS run's10weakness-graph format. This file stays so an existing evograph run dir is still readable.1112## Why it is deprecated1314evograph advertised one distinctive capability — a collaborative weakness graph with one solver15agent per weakness, merged into a shared candidate each round. Measured against its four siblings,16that capability is not distinctive and the part that *was* distinctive was a defect:1718- **The fan-out already exists, gated properly.** `agent-optimize` fans out N sibling candidates19 from the same parent, one diagnosed failure cluster each, every sibling in its own working copy20 (a git worktree when the capability is in git), gated **one at a time with a re-gate after each21 accept** so several fixes accumulate into one lineage honestly. That is evograph's round, minus22 the flaws below. The clustering itself is `phases/diagnose`'s job in both cases.23- **Acceptance was never held out.** evograph kept a merge on a raw delta over a frozen 3-task24 subset of *train*, self-reported by the solver subagent that made the edit — no val split, no25 standard error, no `Δ > k·SE`. Between `baseline` and `finalize` an evograph run took no26 held-out measurement at all, so the sealed test number was the first honest signal anyone saw.27 Whole-round revert existed only as a one-round-late substitute for the gate it lacked; wire the28 real gate and there is nothing left for it to catch.29- **What remains unique is an output format, not a search strategy.** The run-dir `wiki/` is30 genuinely useful, but the dashboard renders the Weakness-graph tab from `wiki/` presence alone,31 for any algorithm that writes the format (`core/cap_evolve/dashboard.py`). An output contract32 does not earn a second agent-mode algorithm that users must choose between — it has since moved33 to `skills/memory/wiki/SKILL.md`, a standalone `memory_skill` any algorithm can select (#400,34 #404), so it no longer needs evograph to stay alive.3536## There is no deterministic engine3738There never was one, and `scripts/run.py` is a tombstone, not a stub: invoked deterministically it39exits 2 with an `agent-mode only` payload rather than faking a loop. So evograph is also the one40algorithm that could not be routed through the shared per-iteration record — see41the `hill-climb` skill's `references/run-step.md`, which owns the shared iteration mechanics42(parent selection, val gate, commit, iteration record) every other algorithm routes through. Read43it if you are reconstructing what an evograph round *should* have done.4445## Reading an existing evograph run4647The run dir is authoritative. `<run_dir>/wiki/` holds the weakness nodes, solution cards and48per-round results; `<run_dir>/runs/round-<N>/agents/<slug>.log` holds solver progress. The formats49are in [references/dashboard.md](references/dashboard.md) — load it if you need to write or parse50that wiki. Treat any per-weakness "kept / new record" number in it as a train-subset self-report,51not a gated result; only `finalize`'s sealed test number and any `gate` decision recorded in52`events.jsonl` are honest.5354`scripts/now.py` is the one-clock timestamp stamper those formats require; it is correct and still55used by anything writing the wiki.5657## Removal is a separate decision5859Deprecation is reversible; removal is not. The wiki format contract now has a real owner60(`skills/memory/wiki/SKILL.md`), so what's left to decide (maintainer): stop `dashboard.py`61inferring `algorithm = "evograph"` from `wiki/` presence alone (any `memory_skill: wiki` run now62writes it too), then delete this directory.6364## References65- [skills/memory/wiki/SKILL.md](../../memory/wiki/SKILL.md) — the wiki format contract's current66 home: weakness-node/solution-card schemas, generalized for any algorithm via `memory_skill: wiki`.67- [references/dashboard.md](references/dashboard.md) — the same file formats, kept here for reading68 an existing evograph run dir's branch/round-revert specifics the generalized skill dropped.69- [references/clustering.md](references/clustering.md) — weakness-node schema and the70 `affected_tasks` freeze rule, kept for reading historical run dirs.71- [references/graph.md](references/graph.md) — solution-card schema, branch layout, whole-round72 revert, kept for the same reason.