Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Evolve → run round-trip

Loop: episodes → evolve → archive → seed run → write-back fitness

Overview

Flock closes the loop between topology evolution and production runs:

  1. flock evolve — mutates harness topology from episode corpus; writes .flock/topology_archive.json
  2. flock run --seed-archive — seeds topology/coordination from nearest archive entry; logs genome_id + genome_seed event
  3. Write-back — after a successful run, merges episode fitness into the archive entry (by genome_id)

Write-back is enabled with --write-back or automatically when --seed-archive is used. Pass --no-write-back to disable the automatic path.

Quick reproduce

EVOLVE_FIX="tests/fixtures/evolve-episodes"
mkdir -p .flock/episodes
cp "$EVOLVE_FIX"/*.json .flock/episodes/

flock evolve --episodes 10 --workspace .flock/episodes
flock run --goal "reach target" --plugin gridworld --seed-archive --json

Expected in episode JSON:

  • genome_id — seeded from archive
  • fitness — plugin-grounded success score
  • events[] containing genome_seed and (when write-back applies) archive_write_back

Write-back semantics

  • Trigger: GoalStatus::Satisfied and both genome_id + fitness present
  • Merge: TopologyArchive::write_back_fitness updates matching entry by id; re-sorts by success score
  • Archive path: --archive (default .flock/topology_archive.json)

JSON events

With --json, archive write-back emits a typed archive_write_back FlockEvent line before episode_end.