Skip to content

official/parallel_flame_chase

Seven agents, three lanes, one working directory. A coordinator plans the three lanes once and does not come back; six actors alternate in fresh sessions and coordinate through durable reports. Lane 1 alone owns the original source — lanes 2 and 3 work in private snapshots and publish reconstructable artifacts rather than writing to your tree.

sh
hmz exec -f official/parallel_flame_chase \
    -a codex/gpt-5.6-sol:max \
    -a claude/claude-opus-5:max -a codex/gpt-5.6-sol:max \
    -a claude/claude-opus-5:max -a codex/gpt-5.6-sol:max \
    -a claude/claude-opus-5:max -a codex/gpt-5.6-sol:max "$(cat TASK.md)"
official/parallel_flame_chase
the coordinatorplans once, then gonelane 1 · athe source, sole writerlane 1 · bthe source, sole writerlane 2 · aa private snapshotlane 2 · ba private snapshotlane 3 · aa private snapshotlane 3 · ba private snapshotplans the threelanesa turna turna turna turna turna turna turna turna turneach lane alternates a and b, durably across restarts

Three lanes at once, and one of them owns the tree. What lanes 2 and 3 produce reaches lane 1 as a report and an artifact, never as a write.

Seven agents, in this order

-a takes them in the order the flow names them, and the interface asks for them under these names:

coordinatorPlans the three lanes, once, and leaves the run
lane_1_actor_a · lane_1_actor_bLane 1, alternating — the only writers of the original source
lane_2_actor_a · lane_2_actor_bLane 2, alternating, in a snapshot of its own
lane_3_actor_a · lane_3_actor_bLane 3, alternating, in a snapshot of its own

All seven open with the backend's goal feature turned off — AgentDefaults(goals=False) beside each of them — because a lane's turn ends where the lane protocol says it ends rather than where a model decides it has met the objective. That is what the flow opens /agents on, not something it holds you to.

One writer, and two that cannot write

The isolation is the point of the flow. A per-source advisory lock permits only one lane 1 owner; lanes 2 and 3 are confined to snapshots, and the runtime's control paths reject links and replacements. What lanes 2 and 3 produce reaches lane 1 as a report and a hashed, reconstructable artifact package — never as a write into your tree.

Reports are redelivered until the receiving lane completes a valid turn and acknowledges them, so a lane that fell over does not lose what it was told.

Durable data lives under ~/.humanize/parallel_flame_chase/<workspace-key>/<run-id>/. The flow coordinates local work only: there is no release, deployment, submission, messaging or purchase executor in it.

What it takes

yaml
rest_seconds: 1.0      # what the single-writer scheduler rests between control passes
resume_mode: auto      # or `fresh`, to deliberately start another run

The skill it brings, parallel-flame-chase, is the actor, report, artifact, checkpoint and resume protocol — mounted onto every session the flow opens.

What it keeps

The plan, the snapshots, each lane's A/B alternation and its lane-local failure state. The same substantive task resumes compatible state; a bare continue reads TASK.md when there is one, and replans against a fresh source snapshot where the objective has changed. A different substantive task starts a fresh run, and resume_mode: fresh starts one deliberately.

See also

Released under the Apache-2.0 licence.