Context
Generation 0 of the outer loop ran with --benchmark featurebench (copied from docs) instead of a proper forecastbench benchmark config. Sub-CEOs received no task instruction and picked random backlog items, making topology comparison meaningless.
remote-factory PR akashgit/remote-factory#1332 adds multi-benchmark support with TOML configs, pluggable evaluators, and a built-in forecastbench.toml. That PR is now merged.
Work
-
Update remote-factory/ — pull the latest remote-factory to pick up #1332
-
Create project-local benchmark config at .factory/benchmarks/forecastbench.toml matching our actual gate setup:
[meta]
name = "forecastbench"
description = "ForecastBench — Brier Index gate with graded pytest ladder"
[test]
format = "pytest"
command = "uv run pytest gate/ -q"
timeout = 600
[instances]
format = "directory"
[seed_workflow]
name = ""
[scoring]
method = "partial_credit"
-
Re-run calibrate with the correct benchmark:
factory outer-loop calibrate ~/projects/work/forecastbench \
--benchmark forecastbench \
--population-size 3 \
--budget 9
The test command and format should auto-resolve from the TOML.
-
Evaluate and compare against generation 0 results
Known limitation
InnerLoop.step() still doesn't pass --focus to sub-CEOs — tracked at akashgit/remote-factory#1338. Until that lands, sub-CEOs will still pick work from the backlog rather than being directed to improve the Brier Index. A workaround is to trim the backlog to only contain the target task before running evaluate.
Triage: open PRs from generation 0
Context
Generation 0 of the outer loop ran with
--benchmark featurebench(copied from docs) instead of a proper forecastbench benchmark config. Sub-CEOs received no task instruction and picked random backlog items, making topology comparison meaningless.remote-factory PR akashgit/remote-factory#1332 adds multi-benchmark support with TOML configs, pluggable evaluators, and a built-in
forecastbench.toml. That PR is now merged.Work
Update
remote-factory/— pull the latest remote-factory to pick up #1332Create project-local benchmark config at
.factory/benchmarks/forecastbench.tomlmatching our actual gate setup:Re-run calibrate with the correct benchmark:
factory outer-loop calibrate ~/projects/work/forecastbench \ --benchmark forecastbench \ --population-size 3 \ --budget 9The test command and format should auto-resolve from the TOML.
Evaluate and compare against generation 0 results
Known limitation
InnerLoop.step()still doesn't pass--focusto sub-CEOs — tracked at akashgit/remote-factory#1338. Until that lands, sub-CEOs will still pick work from the backlog rather than being directed to improve the Brier Index. A workaround is to trim the backlog to only contain the target task before running evaluate.Triage: open PRs from generation 0