Skip to content

dgm

DGM’s archive rule, as a HarnessGrad method.

The method returns one edited harness per round. It never sees a score for the harness it is producing — the platform measures every candidate on the same study set and records the result in curve.jsonl.

Scores, rounds and per-split comparisons are on the ALFWorld benchmark page — one table for every method, so the same number cannot say two different things in two places.

This method’s rounds on the Hub — each round’s harness, the edit that produced it, and its per-task trajectories: open the directory.

4 deliberate difference(s), recorded in methods/dgm/method.json:

  • The diagnostic prompt carries no gold patch, no private test patch and no test log.
  • One invocation can submit multiple children via editor.report_many: each child samples a parent from the same archive history and chooses that parent’s target, then children are generated sequentially and submitted as a batch. No rejection means no post-measurement score-based rejection or rollback to an earlier incumbent via incumbent_round.
  • HG_DGM_CHILDREN has default 3, whereas upstream --selfimprove_size has default 2 (DGM_outer.py:224). This is an existing port configuration choice and a default batch-size deviation, not the upstream default.
  • noise_leeway remains configurable via HG_DGM_NOISE_LEEWAY, with default 0.1 matching upstream --eval_noise (DGM_outer.py:238).

methods/dgm/run.py and its rule test in tests/quality/. python3 tools/method_lint.py prints one line per method.