Skip to content

parallel_flame_chase

Seven agents, three lanes, one working directory. A coordinator plans them 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 artifacts rather than writing to your tree.

sh
hmz exec -f 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)"
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 this order, and the interface asks for them by name:

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 run with the backend's goal feature turned off — AgentDefaults(goals=False) beside each — because a lane's turn ends where the lane protocol says it ends rather than where a model decides it has met the objective. The flow declares it, so it holds for whichever agents the run is given and nothing at the prompt turns it back on.

One writer, and two that cannot write

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 they produce reaches lane 1 as a report and a hashed, reconstructable artifact package, and 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 one starts a fresh run.

See also

Released under the Apache-2.0 licence.