<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[asklog]]></title><description><![CDATA[asklog]]></description><link>https://asklog.hashnode.dev</link><image><url>https://cdn.hashnode.com/uploads/logos/6ae857a58ebd91f5371acdca/7d2a3b86-9c29-47ad-9a41-ea5c28e7ef63.png</url><title>asklog</title><link>https://asklog.hashnode.dev</link></image><generator>RSS for Node</generator><lastBuildDate>Wed, 04 Nov 2026 16:38:27 GMT</lastBuildDate><atom:link href="https://asklog.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Three boundaries for running coding agents in parallel]]></title><description><![CDATA[Use separate worktrees, evidence for completion, and explicit merge authorization when coordinating Claude Code and Codex workers.]]></description><link>https://asklog.hashnode.dev/three-boundaries-for-running-coding-agents-in-parallel</link><guid isPermaLink="true">https://asklog.hashnode.dev/three-boundaries-for-running-coding-agents-in-parallel</guid><category><![CDATA[Git]]></category><category><![CDATA[ai agents]]></category><category><![CDATA[Developer Tools]]></category><dc:creator><![CDATA[asklog]]></dc:creator><pubDate>Tue, 03 Nov 2026 09:06:29 GMT</pubDate><content:encoded><![CDATA[<p>I was the middle manager for my coding agents, so I gave them a boss.</p>
<p>The useful part of that idea is the boundary between planning, doing and approving. Here are three practical constraints behind Chief in asklog, and how to try the same shape in a terminal workflow.</p>
<h2>1. Give each worker a branch and a worktree</h2>
<p>A separate chat does not give an agent a separate filesystem. If two agents edit the same checkout, one can overwrite a change the other has not finished.</p>
<p>Git worktrees let you give each task its own checked-out files while sharing the repository. For example, from a clean repository:</p>
<pre><code class="language-sh">git worktree add ../app-worker-auth -b worker/auth
git worktree add ../app-worker-tests -b worker/tests
</code></pre>
<p>Start a worker from each directory and give it one bounded task. Keep the supervisor in a separate session that tracks the task, branch, evidence and open decisions.</p>
<p>This is isolation of checked-out files, not a security sandbox. Worktrees still share Git objects and configuration. An agent with broad shell permissions can reach other directories. The guardrails must match the tools and permissions you actually grant it.</p>
<h2>2. Make 'done' refer to evidence</h2>
<p>A worker's final message is a claim about its work. The repository is where that claim can be checked.</p>
<p>Ask the worker to report which files changed, what behavior changed, the checks it ran, and anything it could not verify. Review the branch and actual output before accepting the task. A missing check is unknown, not a pass.</p>
<p>Keep tasks small enough that the acceptance check is concrete: reproduce the reported failure, make the change, then repeat the user journey. Avoid treating a test count as a substitute for the behavior you needed.</p>
<h2>3. Separate preparation from merge authorization</h2>
<p>The supervisor can decompose a job and bring back decisions while workers prepare changes. That does not have to include permission to merge them.</p>
<p>Put the approval boundary somewhere a prompt cannot casually talk its way around. Review permissions and the available tools, and keep an explicit authorization step before changes reach the branch you ship. Instructions and operating-system enforcement are different layers; say which one you have.</p>
<p>Chief follows that division: it coordinates Claude Code or Codex workers, each in its own worktree, and brings decisions back to the maker. Its delegation rule is an instruction; its editing tools are not disabled. Leads retain separate read-only restrictions. The default merge policy requires the maker's word, and the maker controls that policy. asklog also exposes the same live sessions on the phone, so reviewing a question does not require sitting beside the host. The host still needs to stay awake and connected, and the agents use your own logins.</p>
<p>We're live on Product Hunt today. If you run multiple coding agents, I'd especially like feedback on where you want the approval boundary:</p>
<p><a href="https://www.producthunt.com/products/asklog?launch=asklog-2&amp;ref=hashnode-chief-article-20261103">https://www.producthunt.com/products/asklog?launch=asklog-2&amp;ref=hashnode-chief-article-20261103</a></p>
<p>Demo: <a href="https://youtu.be/ivRfjhUl85Y?ref=hashnode-chief-demo-20261103">https://youtu.be/ivRfjhUl85Y?ref=hashnode-chief-demo-20261103</a></p>
<p>Disclosure: this article was prepared with AI assistance and checked against asklog's implementation and published design decisions. It describes the workflow, not a benchmark or a guarantee that an agent's changes are correct.</p>
]]></content:encoded></item></channel></rss>