<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Developer Workflows on RockB</title><link>https://baeseokjae.github.io/tags/developer-workflows/</link><description>Recent content in Developer Workflows on RockB</description><image><title>RockB</title><url>https://baeseokjae.github.io/images/og-default.png</url><link>https://baeseokjae.github.io/images/og-default.png</link></image><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 16 Jun 2026 00:04:20 +0000</lastBuildDate><atom:link href="https://baeseokjae.github.io/tags/developer-workflows/index.xml" rel="self" type="application/rss+xml"/><item><title>Claude Code Async Workflows: Background Agents and Parallel Task Patterns in 2026</title><link>https://baeseokjae.github.io/posts/claude-code-async-workflows-guide-2026/</link><pubDate>Tue, 16 Jun 2026 00:04:20 +0000</pubDate><guid>https://baeseokjae.github.io/posts/claude-code-async-workflows-guide-2026/</guid><description>A practical guide to Claude Code async workflows, background agents, worktrees, cost, security, and team patterns.</description><content:encoded><![CDATA[<p>Claude Code async workflows let developers run background agents, parallel subagents, and isolated worktree sessions while the main session keeps moving. The useful pattern is not &ldquo;run more agents&rdquo;; it is splitting independent work, assigning clear ownership, checking artifacts, and merging deliberately.</p>
<h2 id="what-do-claude-code-async-workflows-mean-in-2026">What Do Claude Code Async Workflows Mean in 2026?</h2>
<p>Claude Code async workflows are development patterns where one Claude Code session delegates independent work to background agents, subagents, agent view sessions, teams, or scripted dynamic workflows while the human or primary agent continues on another task. Anthropic&rsquo;s 2026 Claude Code docs distinguish four parallel-work modes: subagents, agent view, agent teams, and dynamic workflows. That distinction matters because a background research pass, a separate implementation branch, and a CI-driven GitHub Action should not be operated the same way. The practical goal is throughput without checkout collisions, context pollution, or hidden cost spikes. A good async workflow defines the task boundary, the isolation mechanism, the expected artifact, and the integration step before the agent starts. The takeaway: Claude Code async work is a coordination model, not just a keyboard shortcut.</p>
<p>The best teams I have seen treat async agents like junior-but-fast collaborators. They get narrow scopes, enough context to avoid guessing, and a concrete finish condition. A weak assignment is &ldquo;fix the auth bugs.&rdquo; A strong assignment is &ldquo;inspect the refresh-token path, list reproducible failures, and patch only <code>auth/session</code> tests and implementation files.&rdquo; That difference decides whether parallelism creates momentum or cleanup work.</p>
<h2 id="what-are-the-four-parallel-work-modes-in-claude-code">What Are the Four Parallel-Work Modes in Claude Code?</h2>
<p>Claude Code&rsquo;s four parallel-work modes are subagents, agent view, agent teams, and dynamic workflows, and each mode fits a different coordination problem. Subagents are specialized assistants inside a session with separate context and tool permissions. Agent view is for dispatching and monitoring independent background sessions, typically with separate worktrees. Agent teams coordinate multiple sessions across broader work. Dynamic workflows use scripts or orchestration to fan out repeated agent tasks and cross-check results. Anthropic&rsquo;s docs explicitly frame these as separate approaches because the operational risks differ: a subagent can protect the main context, while a worktree-backed background session protects the file system. The right choice depends on task independence, edit surface, review needs, and cost tolerance. The takeaway: choose the smallest parallel mode that isolates the risk you actually have.</p>
<table>
  <thead>
      <tr>
          <th>Mode</th>
          <th>Best use</th>
          <th style="text-align: right">Isolation</th>
          <th>Main risk</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Subagent</td>
          <td>Research, focused analysis, small delegated work</td>
          <td style="text-align: right">Separate context, optional limited tools</td>
          <td>Vague prompts produce noisy output</td>
      </tr>
      <tr>
          <td>Agent view</td>
          <td>Independent implementation or investigation</td>
          <td style="text-align: right">Separate session and worktree</td>
          <td>Integration drift</td>
      </tr>
      <tr>
          <td>Agent teams</td>
          <td>Coordinated multi-area work</td>
          <td style="text-align: right">Multiple managed sessions</td>
          <td>Governance and review overhead</td>
      </tr>
      <tr>
          <td>Dynamic workflows</td>
          <td>Repeatable fan-out, audits, cross-checking</td>
          <td style="text-align: right">Scripted execution boundaries</td>
          <td>Cost and runaway automation</td>
      </tr>
  </tbody>
</table>
<h3 id="how-should-you-choose-between-the-modes">How Should You Choose Between the Modes?</h3>
<p>The mode choice should start from the failure you want to prevent. If the failure is context overload, use a subagent. If the failure is file collision, use agent view or a worktree-backed session. If the failure is incomplete coverage across many services, use teams or dynamic workflows with explicit artifacts. Do not choose by novelty. Choose by whether the task needs separate memory, separate files, or separate orchestration.</p>
<h2 id="when-should-you-background-a-subagent-instead-of-keeping-the-main-session-focused">When Should You Background a Subagent Instead of Keeping the Main Session Focused?</h2>
<p>Backgrounding a Claude Code subagent is useful when the delegated work is slow, bounded, and independent enough that the main session can continue without waiting. The common 2026 pattern is to send a research, log analysis, test audit, or migration scan into the background, then inspect it later through the task interface such as <code>/tasks</code>. The key number is not how many agents you can start; it is how many independent decisions can safely proceed at once. If the main task depends on the result, backgrounding only creates the illusion of speed. If the result is advisory, parallel execution can recover 10 to 30 minutes of waiting during a normal feature session. The takeaway: background a subagent only when its output can be reviewed later without blocking the current line of work.</p>
<p>Good background jobs have a short instruction, a narrow file or data scope, and an artifact format. For example: &ldquo;Search the billing package for places that assume monthly intervals. Return file paths, line references, and risk level. Do not edit files.&rdquo; That instruction is safe to run while you keep implementing a UI state. A bad background job is &ldquo;look into billing and improve it.&rdquo; It can wander into architecture, edit unrelated files, and return a summary that is hard to verify.</p>
<h3 id="what-work-belongs-in-the-foreground">What Work Belongs in the Foreground?</h3>
<p>Foreground work should include decisions that define architecture, public behavior, schema changes, and final merge choices. Claude Code can help with all of those, but the primary session should keep control because each decision changes the next prompt. If you are renaming a shared API, changing auth semantics, or resolving a production incident, keep the main session focused until the dependency chain is clear.</p>
<h2 id="how-do-you-use-parallel-research-and-codebase-reconnaissance">How Do You Use Parallel Research and Codebase Reconnaissance?</h2>
<p>Parallel research and codebase reconnaissance use Claude Code async workflows to split reading-heavy discovery into independent lanes before implementation starts. A practical example is assigning one subagent to map API routes, another to inspect database migrations, and a third to review tests while the main session builds the implementation plan. In a large repository, that can turn a 45-minute serial orientation pass into three 10-minute reports plus one integration read. The reason this works is that research usually produces references rather than edits, so conflicts are low and verification is straightforward. The output should be structured: files inspected, claims, uncertainty, and recommended next step. The takeaway: parallel research is the safest first async pattern because it increases coverage without increasing merge risk.</p>
<p>I usually ask each research agent to return evidence, not prose. A useful report says: &ldquo;<code>services/billing/invoices.ts</code> creates invoices, <code>jobs/retry-failed-payments.ts</code> mutates payment status, and <code>tests/billing/invoices.test.ts</code> lacks yearly-plan coverage.&rdquo; That report can be verified quickly. A weak report says: &ldquo;Billing is complex and may need refactoring.&rdquo; The first saves time; the second transfers ambiguity back to the main session.</p>
<h3 id="what-should-a-research-agent-return">What Should a Research Agent Return?</h3>
<p>A research agent should return a compact evidence list with file paths, function names, relevant commands, and open questions. It should separate facts from recommendations. The main session can then synthesize multiple reports into one plan without rereading every file immediately. This is especially useful after auto-compaction, because the durable artifact survives better than conversational memory.</p>
<h2 id="how-does-split-and-merge-implementation-work-with-worktree-isolation">How Does Split-and-Merge Implementation Work With Worktree Isolation?</h2>
<p>Split-and-merge implementation is a Claude Code async workflow where independent implementation slices run in separate worktrees, then a human or primary agent integrates the changes deliberately. Anthropic&rsquo;s docs describe worktrees as the isolation mechanism that gives each parallel session a separate git checkout, and agent view can automatically move dispatched sessions into their own worktrees. The concrete rule is simple: two agents should not edit the same checkout or own the same files at the same time. A safe split might assign one agent the backend endpoint, another the frontend form, and a third the tests, but only if the contracts are already defined. The integration step then reviews diffs, runs tests, resolves conflicts, and rejects speculative changes. The takeaway: worktree isolation makes parallel coding viable, but ownership boundaries make it maintainable.</p>
<p>The most reliable split-and-merge pattern is contract-first. Define the request shape, response shape, migration boundary, or component interface before the fan-out. Then let agents implement against that contract. Without a contract, each agent invents a slightly different world. You get duplicate helpers, incompatible assumptions, and a merge that costs more than the parallel work saved.</p>
<table>
  <thead>
      <tr>
          <th>Split type</th>
          <th>Works well when</th>
          <th>Avoid when</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Backend/frontend</td>
          <td>API contract is stable</td>
          <td>Product behavior is still being negotiated</td>
      </tr>
      <tr>
          <td>Implementation/tests</td>
          <td>Acceptance criteria are clear</td>
          <td>Tests must discover the intended behavior</td>
      </tr>
      <tr>
          <td>Service-by-service migration</td>
          <td>Shared adapter exists</td>
          <td>Each service needs a different design</td>
      </tr>
      <tr>
          <td>Bug fix/review pass</td>
          <td>Repro case is known</td>
          <td>Root cause is still unknown</td>
      </tr>
  </tbody>
</table>
<h3 id="what-is-the-integration-step">What Is the Integration Step?</h3>
<p>The integration step is the controlled merge point where outputs from parallel sessions become one coherent change. It should include reading each diff, checking that file ownership was respected, running the relevant tests, and asking one review agent to inspect the final patch. Integration is not a clerical merge. It is where duplicated logic, contract drift, and overbroad edits are caught.</p>
<h2 id="how-can-background-tests-audits-and-review-loops-improve-throughput">How Can Background Tests, Audits, and Review Loops Improve Throughput?</h2>
<p>Background tests, audits, and review loops improve throughput by letting Claude Code continue useful verification while the main session implements or reviews another slice. Anthropic has positioned hooks and background tasks as part of making Claude Code more autonomous because async work is only valuable when long-running feedback does not stop the main loop. A realistic example is starting a background agent to run a focused test suite, inspect failing logs, and report the first failing assertion while the main session updates code. This can save the 5 to 20 minute dead zones that accumulate during test-heavy refactors. The important constraint is that the background loop should observe and report unless explicitly allowed to patch. The takeaway: use background verification to shorten feedback cycles, not to hide failing checks.</p>
<p>The best audit prompt I use is intentionally boring: &ldquo;Review the current diff for regression risk. Do not edit. Return blocking issues first with file references and a test suggestion.&rdquo; That pattern catches missed edge cases without introducing another patch stream. If the audit agent is allowed to edit, it should own a separate worktree and a tiny scope, such as &ldquo;add missing tests only.&rdquo;</p>
<h3 id="when-should-a-review-agent-edit-files">When Should a Review Agent Edit Files?</h3>
<p>A review agent should edit files only when the task is mechanical, scoped, and easy to verify. Examples include adding missing test cases for an already defined behavior, fixing lint failures, or updating generated snapshots. For design flaws, ambiguous product behavior, or security-sensitive changes, the review agent should report findings and let the main session decide.</p>
<h2 id="how-do-claude-code-github-actions-fit-async-automation">How Do Claude Code GitHub Actions Fit Async Automation?</h2>
<p>Claude Code GitHub Actions fit async automation by running agent work outside the developer terminal in response to GitHub events such as issue assignments, <code>@claude</code> mentions, pull request comments, or explicit workflow prompts. The public Claude Code GitHub Action supports progress tracking, structured outputs, user-owned runners, and automation from issues or pull requests. That makes it useful for triage, first-pass fixes, test updates, release-note drafts, and review comments that should not interrupt a local coding session. The workflow is different from terminal subagents because it runs in CI/CD context, often with repository tokens, workflow permissions, and untrusted input from comments or issue text. The takeaway: GitHub Actions are async agents for repository operations, so they need CI-grade permissions and review rules.</p>
<p>I would not wire a GitHub Action agent directly to broad write permissions on a busy repository. Start with labels, explicit mentions, narrow workflow triggers, and a requirement that generated changes open pull requests instead of pushing to protected branches. The automation should leave a trace: prompt, run link, changed files, test output, and any secrets or tools that were available.</p>
<h3 id="what-jobs-are-good-for-headless-claude-code">What Jobs Are Good for Headless Claude Code?</h3>
<p>Headless Claude Code works best for jobs with clear repository context and low product ambiguity. Examples include reproducing a failing test from a pull request, drafting a fix for a small issue, updating docs from a merged API change, or producing a review summary. It is weaker for ambiguous roadmap work, sensitive incident response, and cross-team design decisions.</p>
<h2 id="why-do-parallel-agents-multiply-token-usage-and-cost">Why Do Parallel Agents Multiply Token Usage and Cost?</h2>
<p>Parallel agents multiply token usage and cost because each active Claude Code session or background agent consumes its own context, tool calls, model turns, and retry loops. Anthropic&rsquo;s cost documentation estimates Claude Code averages about $13 per developer per active day and $150 to $250 per developer per month across enterprise deployments, with 90% of users below $30 per active day. Those averages can change quickly when a team runs five background agents during every refactor. The cost model is closer to &ldquo;five concurrent workers reading and reasoning&rdquo; than &ldquo;one smarter worker thinking faster.&rdquo; Practical governance should track active sessions, elapsed time, context size, tool-heavy prompts, and failed loops. The takeaway: async Claude Code workflows need cost budgets because parallelism converts waiting time into simultaneous token spend.</p>
<p>Cost control starts in the prompt. A bounded prompt says which directories to inspect, whether editing is allowed, and when to stop. An unbounded prompt invites the agent to read broadly, summarize repeatedly, and chase uncertainty. For teams, I like a simple operating rule: no more than two editing agents per developer unless the task has named ownership boundaries and a planned merge window.</p>
<table>
  <thead>
      <tr>
          <th>Cost driver</th>
          <th>Why it grows in async work</th>
          <th>Control</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Concurrent sessions</td>
          <td>Each session has separate reasoning loops</td>
          <td>Cap active agents per task</td>
      </tr>
      <tr>
          <td>Large context reads</td>
          <td>Agents independently inspect similar files</td>
          <td>Assign distinct directories</td>
      </tr>
      <tr>
          <td>Tool-heavy debugging</td>
          <td>Tests and logs repeat across sessions</td>
          <td>Share artifacts in summaries</td>
      </tr>
      <tr>
          <td>Unclear finish criteria</td>
          <td>Agents keep searching for &ldquo;better&rdquo; answers</td>
          <td>Define stop conditions</td>
      </tr>
  </tbody>
</table>
<h3 id="how-should-teams-budget-background-sessions">How Should Teams Budget Background Sessions?</h3>
<p>Teams should budget background sessions by task class, not by enthusiasm. Research-only agents can be cheaper because they avoid edit-test loops. Implementation agents need tighter caps because they read, patch, test, and revise. Track daily active-agent count, average run duration, and discarded output. Discarded output is the cost metric that usually exposes bad async design.</p>
<h2 id="what-security-boundaries-do-async-agents-need-for-prs-and-issues">What Security Boundaries Do Async Agents Need for PRs and Issues?</h2>
<p>Async agents need strict security boundaries when they process pull requests, issues, and comments because those inputs can be untrusted instructions running near secrets, tokens, and CI permissions. Microsoft reported on June 5, 2026 that Anthropic mitigated a Claude Code GitHub Action secret exposure issue in Claude Code 2.1.128 by blocking access to sensitive <code>/proc</code> files. That example is a reminder that background agents are not just productivity tools; they are automation running in environments attackers may try to influence. Safe designs minimize secrets, restrict runner permissions, separate read-only analysis from write actions, and require human review before privileged changes. The same applies to local async sessions that inspect third-party code or generated patches. The takeaway: treat async coding agents as CI/CD actors with least-privilege boundaries.</p>
<p>The practical rule is to assume every issue body, pull request description, and code comment can contain prompt injection. An agent should not be able to read production secrets just because it is summarizing a PR. It should not deploy just because a comment says &ldquo;ignore previous rules.&rdquo; Keep secret access outside the agent path unless the job truly requires it, and prefer short-lived credentials with narrow scopes.</p>
<h3 id="what-permissions-should-github-agents-have">What Permissions Should GitHub Agents Have?</h3>
<p>GitHub agents should start with read-only permissions and earn write access only for specific workflows. A triage workflow may need issue comments but not repository write permissions. A fix workflow may need branch creation but not deployment secrets. Protected branches, required reviews, and separate runners for untrusted code are still necessary when AI agents are in the loop.</p>
<h2 id="what-are-the-most-common-claude-code-async-anti-patterns">What Are the Most Common Claude Code Async Anti-Patterns?</h2>
<p>The most common Claude Code async anti-patterns are over-parallelizing dependent work, letting agents edit a shared checkout, launching background jobs without stop conditions, and accepting summaries without evidence. These failures are predictable: if two agents need the same decision, they are not independent; if they edit the same files, they will conflict; if a background job has no finish line, it will spend tokens until interrupted. Google&rsquo;s 2025 DORA coverage said AI adoption among software development professionals reached 90%, with a median of two hours per day working with AI, so these patterns are no longer edge cases. Teams are now operationalizing AI coding work at scale. The takeaway: async agents amplify both good decomposition and bad coordination.</p>
<p>The smell I watch for is &ldquo;parallel because we can.&rdquo; A task with one unresolved product question should not become five implementation agents. First resolve the product question, then split the known work. Another smell is using a review agent to compensate for vague implementation prompts. Review helps, but it cannot recover intent that was never written down.</p>
<table>
  <thead>
      <tr>
          <th>Anti-pattern</th>
          <th>Symptom</th>
          <th>Fix</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Shared checkout edits</td>
          <td>Unexpected file conflicts and overwritten work</td>
          <td>Use separate worktrees</td>
      </tr>
      <tr>
          <td>Dependent fan-out</td>
          <td>Agents implement incompatible assumptions</td>
          <td>Define contract first</td>
      </tr>
      <tr>
          <td>Endless background job</td>
          <td>Long run, broad summary, no artifact</td>
          <td>Add stop condition and scope</td>
      </tr>
      <tr>
          <td>Summary-only review</td>
          <td>Claims cannot be verified</td>
          <td>Require file references and tests</td>
      </tr>
      <tr>
          <td>Too many editors</td>
          <td>Merge becomes the real project</td>
          <td>Limit active patch writers</td>
      </tr>
  </tbody>
</table>
<h3 id="how-do-you-know-you-started-too-many-agents">How Do You Know You Started Too Many Agents?</h3>
<p>You started too many agents when integration takes longer than the saved execution time. Other signs include repeated file conflicts, agents asking the same question in different ways, multiple implementations of the same helper, and discarded reports. Reduce concurrency until each agent has a distinct artifact that the main session can use immediately.</p>
<h2 id="what-practical-checklist-should-teams-use-for-claude-code-async-workflows">What Practical Checklist Should Teams Use for Claude Code Async Workflows?</h2>
<p>A practical Claude Code async workflow checklist is a short operating contract that defines scope, isolation, artifacts, review, cost, and security before an agent starts. The checklist should fit on one screen because developers will not follow a ceremony that is heavier than the task. For a 2026 team using subagents, agent view, worktrees, and GitHub Actions, the minimum checklist has 10 items: task goal, owner, allowed files, edit permission, worktree or checkout, expected artifact, stop condition, test command, cost cap, and security boundary. This checklist turns async from an improvisation into a repeatable engineering workflow. It also gives reviewers a standard for rejecting messy agent output. The takeaway: Claude Code async work scales when every background task has a clear contract.</p>
<p>Use the checklist before starting any agent that can edit files or run in CI. For small research subagents, you can compress it to scope, artifact, and stop condition. For GitHub Actions, add trigger, permissions, runner, and review gate. The point is not paperwork. The point is preventing the expensive failures that only appear after multiple agents have already produced conflicting work.</p>
<table>
  <thead>
      <tr>
          <th>Checklist item</th>
          <th>Question to answer</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Goal</td>
          <td>What exact result should this agent produce?</td>
      </tr>
      <tr>
          <td>Scope</td>
          <td>Which files, packages, or issues are in bounds?</td>
      </tr>
      <tr>
          <td>Edit permission</td>
          <td>Can it patch files, or only report?</td>
      </tr>
      <tr>
          <td>Isolation</td>
          <td>Is it using a separate worktree or read-only context?</td>
      </tr>
      <tr>
          <td>Artifact</td>
          <td>What should it return: diff, test output, table, or findings?</td>
      </tr>
      <tr>
          <td>Stop condition</td>
          <td>When should it stop instead of exploring further?</td>
      </tr>
      <tr>
          <td>Tests</td>
          <td>Which command proves its work?</td>
      </tr>
      <tr>
          <td>Cost cap</td>
          <td>How many background sessions or minutes are allowed?</td>
      </tr>
      <tr>
          <td>Security</td>
          <td>What secrets, tokens, and untrusted inputs are present?</td>
      </tr>
      <tr>
          <td>Integration</td>
          <td>Who reviews and merges the output?</td>
      </tr>
  </tbody>
</table>
<h3 id="what-is-a-good-starter-pattern">What Is a Good Starter Pattern?</h3>
<p>A good starter pattern is one main implementation session, one read-only research subagent, and one read-only review subagent. Keep the research agent focused on evidence, keep the review agent focused on risks, and let the main session own all edits. Once that works reliably, add worktree-backed implementation agents for clearly independent slices.</p>
<h2 id="faq">FAQ</h2>
<p>Claude Code async workflow FAQs answer the practical questions developers ask after the first few background-agent experiments: what to run in parallel, when to use worktrees, how to avoid conflicts, how to control cost, and how to keep CI automation safe. The short version is that async agents are valuable when tasks are independent, observable, and bounded. They are risky when they share files, share assumptions, or operate near secrets without least-privilege controls. A developer can start with one background research subagent and one foreground implementation session, then add agent view or GitHub Actions after the review and merge process is stable. The best async workflows feel conservative: more explicit scope, fewer surprise edits, and better evidence. The takeaway: start small, measure discarded work, and expand only where parallelism clearly reduces cycle time.</p>
<h3 id="what-is-the-safest-first-claude-code-async-workflow">What is the safest first Claude Code async workflow?</h3>
<p>The safest first workflow is a read-only research subagent running beside the main coding session. Ask it to inspect a narrow area, return file references, and avoid edits. This improves context without creating merge conflicts. Once the team trusts that pattern, add a read-only review agent before adding parallel implementation agents.</p>
<h3 id="do-background-agents-always-need-separate-worktrees">Do background agents always need separate worktrees?</h3>
<p>Background agents need separate worktrees when they can edit files independently of the main session. Read-only research subagents can often run safely without a separate checkout because they do not mutate the repository. Any implementation slice that may touch overlapping files should use worktree isolation and explicit ownership.</p>
<h3 id="how-many-claude-code-agents-should-run-in-parallel">How many Claude Code agents should run in parallel?</h3>
<p>Most developers should start with one main session plus one or two background agents. More concurrency only helps when tasks are truly independent and integration is cheap. If merge review, duplicated work, or cost rises faster than delivery speed, reduce the number of active agents.</p>
<h3 id="are-claude-code-github-actions-safe-for-production-repositories">Are Claude Code GitHub Actions safe for production repositories?</h3>
<p>Claude Code GitHub Actions can be safe for production repositories when they use narrow triggers, least-privilege permissions, protected branches, human review, and careful handling of untrusted issue or PR text. They should open pull requests or comments by default rather than pushing privileged changes directly.</p>
<h3 id="what-should-every-background-agent-prompt-include">What should every background agent prompt include?</h3>
<p>Every background agent prompt should include the goal, scope, edit permission, expected artifact, and stop condition. For editing agents, also include the worktree or branch boundary and the test command. For CI or GitHub agents, include permissions and security assumptions.</p>
]]></content:encoded></item></channel></rss>