flock run
Scheduler-led goal loop with a plugin verifier. Writes episode JSON to .flock/episodes/<goal-id>.json.
Usage
flock run --goal <GOAL> [--plugin gridworld] [--rlm] [--max-steps 8]
[--audit <PATH>] [--json] [--mcp] [--model <URL_OR_NAME>]
[--genome <ID>] [--seed-archive] [--archive .flock/topology_archive.json]
[--write-back] [--no-write-back] [--mux] [--no-mux]
Key flags
| Flag | Default | Notes |
|---|---|---|
--goal | required | Natural-language goal text |
--plugin | gridworld | Verifier plugin (flock plugin list) |
--rlm | off | In-tree RLM verify/act loop |
--max-steps | 8 | Max RLM steps when --rlm |
--json | off | NDJSON flock-events on stdout |
--mcp | off | Process mcp_tools from observation payload |
--mux | off | Scheduler-led run via in-process multiplexer panes |
--seed-archive | off | Seed topology from evolve archive before run |
--write-back | auto with --seed-archive | Merge fitness into archive after success |
--mux runs via MuxHarnessHost; episode JSON includes pane_tree. Set FLOCK_MUX_AUTO=1 to auto-enable when the default multiplexer socket is live (--no-mux overrides).
--json events
| Event | Summary |
|---|---|
episode_start | goal_id, plugin, goal |
scheduler_tick | tick, pending |
task_dispatched | tick, task_id, zone |
verify_result | tick, zone, goal_met |
deposit | zone signal deposit |
archive_write_back | optional genome merge |
episode_end | goal_id, status, fitness, episode_path |
See statusline for dashboard consumption.
Recipes
Gridworld smoke (verify.sh default):
flock run --goal "reach target" --plugin gridworld
RLM verify/act:
flock run --goal "reach target" --plugin gridworld --rlm --max-steps 4
Mux topology in episode:
flock run --goal "reach target" --plugin gridworld --mux
Evolve round-trip:
flock evolve --episodes 5 --workspace .flock/episodes
flock run --goal "reach target" --plugin gridworld --seed-archive --write-back