Skip to content
Registry

deepwork

Multi-agent workflows on iii with the kanban board as the task list: one lead per ticket with its own sub-agents, parallel waves, independent verify and review, and bounded rounds. Code goals get a dev flow: approved design and plan, test-first tickets each in its own git worktree, a branch review and a finish you choose.

Install0.3.0

# With the iii engine running

iii trigger directory::download-kit kit=iii/deepwork@0.3.0
9Installs
6Last 7 days
3Today
30 days

Exact versions are immutable. Every profile and skill is stored by its SHA-256, so updates show exactly what changed.

README.md

deepwork

Give Deepwork a goal and a team of agents works it, with the kanban board as the task list:

  1. Deepwork breaks the goal into tickets.
  2. Each ticket gets a lead agent that takes it through its phases with its own sub-agents.
  3. Leads run in parallel, in waves.
  4. Rounds repeat until the goal is done, nothing is left, progress stalls, rounds run out or the budget is spent.

A goal that changes code in a git repository runs the dev flow. You approve the design and the plan. Each code ticket is written test-first in its own git worktree, with one commit. Every commit is verified and reviewed (with verify=off, accepted as written), then landed on the run branch. The whole branch is reviewed, and you choose how it finishes. Other goals (research, reading, analysis) run the plain flow: you approve the plan and each ticket is worked and verified. When at least two tickets finish with a result, and the run was not stopped, blocked or over budget, one last ticket merges the results into a single verified report that cites the ticket behind every claim (synthesize=off turns it off).

Deepwork needs only the harness, state, kanban and ide workers.

Profiles

Profile What it does Model to pin
deepwork the orchestrator you talk to none: uses the session's
deepwork-lead runs one ticket through its phases a fast, cheap one
deepwork-worker research, reading, analysis optional
deepwork-impl writes the failing test and the code, and commits a strong one
deepwork-adversary verifies and reviews each ticket (the default checker) a mid-tier one
deepwork-verifier base of the checkers, used for judges none: each judge sets one

Every profile except deepwork is hidden.

Install

iii trigger directory::download-kit kit=iii/deepwork apply=true --timeout-ms 1200000

Sometimes the reply is a plan instead of an install. That happens when there are warnings or decisions, for example a profile with the same id already exists. Review the plan and apply it in the ADE under Directory → Kits, or run:

iii trigger directory::kits::apply plan_id=<plan_id> --timeout-ms 1200000

Applying can take minutes. If the command times out, the apply keeps running, so check Directory → Kits instead of running it again.

Pin the models

The kit ships without models because it can't know your providers. Add a model: :: line to these files:

  • agents/deepwork-lead.md
  • agents/deepwork-impl.md
  • agents/deepwork-adversary.md
  • agents/deepwork-worker.md (optional)

Use the provider::model form so reasoning_effort reaches the provider. Kit updates keep your edits.

A tier without its own model uses the one set on Default (agents/default.md). If Default has none, it uses the orchestrator's model. An unpinned lead spends one turn per phase on that model. With judges=, deepwork-verifier must resolve no model at all, Default included, or the run won't start.

Run it

In the console, pick Deepwork and type the goal. To change the defaults, add an args: line:

Add per-user rate limits to the login route.
args: max_rounds=2 concurrency=4 budget_usd=5
Arg Default What it does
flow auto dev for code goals in a git repository, plain for the rest. Set it to force one
approve on waits for you on open design questions and on the plan, and in the dev flow on the finish. off runs straight through and keeps the branch
synthesize on in the plain flow, ends the run with one ticket that merges the done tickets' results into a single report, verified like any other ticket. It runs when at least two tickets are done, and not after a stop, a block or the budget. off reports per ticket
plan_only off on plans and stops: the run ticket and its cards go on the board, nothing runs. Edit the cards, then start with resume=
isolation ticket in the dev flow, each code ticket works in its own worktree, branched from the run branch and landed on it when verified. shared runs every ticket in the run worktree, so tickets that share a file or a test target wait for a later wave
max_rounds 3 rounds over the queue
attempts 2 tries per ticket per round. A rejected try is retried with the reasons
concurrency 8 leads per wave, at most 8. A ticket waits for its Depends on: tickets. With isolation=shared, tickets that share a file never share a wave
verify on checks each ticket
verifier deepwork-adversary the checker profile: deepwork-adversary* or deepwork-verifier*
judges – comma-separated model ids. One deepwork-verifier per model checks each ticket and the majority wins. At most 7 in the dev flow, 8 in the plain flow
deadline_min 20 minutes each phase gets
critic on one last check for anything missing once the queue is empty. In the dev flow, this is the branch review
max_items 5 × concurrency the most tickets a run creates
budget_usd – soft cost cap. It is checked before each wave, and no new wave starts once it is reached. A model without catalog pricing, or a call without usage, isn't counted, so the cap can be overshot
notify – a function id that gets the final report, such as a Slack or email send
project – an existing kanban project (id or name) for the run. Without it, each run creates its own project, deepwork: ·
release – an existing kanban release (id or name). Agents can't create releases
resume – the key of an earlier run ticket to pick up from the board instead of planning anew (see Resume a run)

Hard cost cap

The console only has the soft budget_usd. For a hard cap, start the run from the CLI:

iii trigger harness::send --json '{"message":"<goal + args>","model":"<provider::model>","options":{"agent":"deepwork","max_cost_usd":5,"max_total_tokens":2000000}}'

You must pass model, because the profile sets none. Every model the run uses needs catalog pricing, judges included. The design, plan and finish questions show up in that session in the console. Pass approve=off to skip them.

The dev flow

  1. Design. Deepwork reads the repository and asks about anything the code can't answer. It asks one question at a time and offers two or three options, with its own pick first.

  2. Plan. The design goes on the run ticket. Each task becomes a subtask with Files:, Test first:, Implement:, Verify: and Commit: lines. You answer one card: Start, Stop, or type your changes. If you type changes, Deepwork rewrites the plan and asks again.

  3. Worktree. The run gets a new branch, deepwork/, in .worktrees/. That folder is excluded locally, so your checkout is untouched. Run Deepwork from the repository's top folder. The test suite runs once to get a baseline. Each code ticket then works in its own worktree, .worktrees/-, on a branch off the run branch. A fresh copy may need an install step before it builds (a Node project): Deepwork reads it from the repository and runs it in each ticket worktree. Build output is never shared between worktrees, so a compiled project builds once per ticket.

  4. Code tickets. Each code ticket follows four steps:

    1. Write a failing test.
    2. Write the least code that makes it pass, and commit once.
    3. Verify and review the commit, side by side. Verify re-runs the Verify: lines. Review checks that the tests are unchanged and nothing outside Files: moved.
    4. Land the commit on the run branch. A conflict with a sibling is a rejection, retried next round on the new base.

    A rejection goes back to the same code session with the reasons. Research tickets in the same run are worked and verified without a commit.

  5. Branch review. Once the queue is empty, one reviewer runs the full test suite and the linter and reviews the whole diff. Its findings become tickets for the next round.

  6. Finish. You pick one: merge into your branch, push and open a PR, keep the branch, or discard it.

Sub-agents work only inside their worktree. They never push, merge, rebase, reset, switch, stash or clean. Deepwork pushes or merges only when you pick that at the finish. Loose ends the goal doesn't need become Backlog subtasks labelled pending.

The board

  • Run ticket. It is titled deepwork: and labelled dw:run. Every ticket of the run is its subtask, so its page shows the run's progress. Each round adds a comment with the cost.

  • Queue. The subtasks in To do are the queue, in board order. In progress means a lead is on the ticket. The session tree shows each lead as · </code>, with its phases under it.</p> </li> <li><p><strong>Route a ticket.</strong> Set its assignee to <code class="readme-inline-code">deepwork-worker*</code> or <code class="readme-inline-code">deepwork-impl*</code>. With any other assignee, a ticket that changes code or files runs as <code class="readme-inline-code">deepwork-impl</code>, and any other ticket runs as <code class="readme-inline-code">deepwork-worker</code>. To add your own tier, create <code class="readme-inline-code">agents/deepwork-impl-<name>.md</code> with <code class="readme-inline-code">extends: deepwork-impl</code> (or <code class="readme-inline-code">deepwork-worker</code>) and a <code class="readme-inline-code">model</code>.</p> </li> <li><p><strong>Change the plan.</strong> Tell Deepwork in the chat. It edits the queued subtasks from the next round. Running tickets finish first, then each one gets a follow-up.</p> </li> <li><p><strong>Steer between rounds.</strong> You can:</p> <ul> <li>add a subtask on the run ticket and move it to To do;</li> <li>reorder To do;</li> <li>comment on a ticket to steer its retry;</li> <li>move a Backlog card to To do to run it again.</li> </ul> </li> <li><p><strong>Resume a run.</strong> If the orchestrator's session is lost (the console closed it, the engine restarted), start Deepwork again with <code class="readme-inline-code">args: resume=<R></code>. It adopts the run ticket: the goal, args, branch and worktree come from the card, In progress tickets whose lead is gone go back to To do, and the rounds continue from where they stopped; <code class="readme-inline-code">max_rounds</code> then counts the rounds this resume runs. A finished run can be resumed the same way once you move cards to To do, as long as its worktree still exists.</p> </li> <li><p><strong>Skip a ticket.</strong> Move it from To do to Backlog. Don't drag In progress cards, because Deepwork's next write overrides your move. Deleting a card removes it from the run.</p> </li> <li><p><strong>Outcomes.</strong></p> <ul> <li>Done tickets carry <code class="readme-inline-code">verified</code> or <code class="readme-inline-code">accepted</code>.</li> <li>Backlog tickets carry <code class="readme-inline-code">blocked</code>, <code class="readme-inline-code">failed</code>, <code class="readme-inline-code">unverified</code>, <code class="readme-inline-code">unfinished</code>, <code class="readme-inline-code">stuck</code> or <code class="readme-inline-code">pending</code>.</li> <li>Tickets dropped from the plan are <code class="readme-inline-code">canceled</code> and go to the board's canceled column. Older boards may lack one: add it in the Kanban settings. Otherwise those tickets go to Backlog with the <code class="readme-inline-code">canceled</code> label.</li> </ul> <p>Deepwork only changes these outcome labels, so your own labels stay.</p> </li> </ul> <h2 id="prerequisites" class="scroll-mt-20">Prerequisites</h2> <ul> <li><p><strong>kanban</strong> with the default columns: ids <code class="readme-inline-code">backlog</code>, <code class="readme-inline-code">todo</code>, <code class="readme-inline-code">in_progress</code> and <code class="readme-inline-code">done</code>, and <code class="readme-inline-code">done_status: done</code>.</p> </li> <li><p><strong>state</strong> with the defaults: the kv adapter (redis won't work), <code class="readme-inline-code">store_method: file_based</code> and <code class="readme-inline-code">triggers_enabled: true</code>.</p> </li> <li><p><strong>harness</strong> with <code class="readme-inline-code">max_depth</code> of at least 3 and <code class="readme-inline-code">max_children</code> of at least <code class="readme-inline-code">concurrency</code>. The defaults, 3 and 8, are enough.</p> </li> <li><p><strong>Approval rules.</strong> These functions must run without a prompt:</p> <table> <thead> <tr> <th>Who</th> <th>Functions</th> </tr> </thead> <tbody><tr> <td>the harness</td> <td><code class="readme-inline-code">state::barrier</code></td> </tr> <tr> <td>orchestrator</td> <td><code class="readme-inline-code">harness::spawn</code>, <code class="readme-inline-code">harness::metrics</code>, <code class="readme-inline-code">harness::stop</code>, <code class="readme-inline-code">state::compare-and-set</code>, <code class="readme-inline-code">kanban::ticket::list</code>, <code class="readme-inline-code">kanban::project::create</code>, <code class="readme-inline-code">shell::exec</code>, plus <code class="readme-inline-code">directory::agents::get</code> with <code class="readme-inline-code">judges=</code></td> </tr> <tr> <td>leads</td> <td><code class="readme-inline-code">harness::spawn</code>, <code class="readme-inline-code">harness::status</code>, <code class="readme-inline-code">harness::stop</code>, <code class="readme-inline-code">engine::register_trigger</code>, <code class="readme-inline-code">state::list</code>, <code class="readme-inline-code">state::compare-and-set</code>, <code class="readme-inline-code">kanban::comment::create</code></td> </tr> <tr> <td>phase sub-agents</td> <td><code class="readme-inline-code">state::compare-and-set</code>, <code class="readme-inline-code">kanban::ticket::get</code>, <code class="readme-inline-code">kanban::comment::create</code>, <code class="readme-inline-code">shell::exec</code>, <code class="readme-inline-code">coder::read-file</code>, plus whatever the work needs. <code class="readme-inline-code">deepwork-impl</code> also needs <code class="readme-inline-code">coder::create-file</code> and <code class="readme-inline-code">coder::update-file</code>. Checkers, and the worker of the plain flow's synthesis ticket, also need <code class="readme-inline-code">state::get</code></td> </tr> </tbody></table> <p>A phase call that waits for approval parks its ticket as <code class="readme-inline-code">blocked</code>. If every lead in a wave waits for approval, the run ends as <code class="readme-inline-code">blocked</code>.</p> </li> <li><p><strong><code class="readme-inline-code">harness::stop</code>.</strong> The repository rules (<code class="readme-inline-code">iii-permissions.yaml</code>) deny it with a <code class="readme-inline-code">'!harness::stop'</code> line. To allow it, remove that line and add <code class="readme-inline-code">- harness::stop</code>. An allow above the deny line is not enough, because the console makes every deny rule session-wide. If you keep the deny, leads that time out are parked as <code class="readme-inline-code">stuck</code>.</p> </li> <li><p><strong>Project creation.</strong> The repository rules allow a <code class="readme-inline-code">kanban::project::create</code> whose <code class="readme-inline-code">lead</code> is <code class="readme-inline-code">deepwork</code> (rule <code class="readme-inline-code">deepwork-run-project</code>). With older rules, add that rule or pass <code class="readme-inline-code">project=</code>. If the create is refused, the run goes on without a project.</p> </li> <li><p><strong>Trust.</strong> Any agent that can create or update kanban tickets can add a subtask to the run ticket. That subtask then runs with the orchestrator's permissions.</p> </li> </ul> <h2 id="how-it-works" class="scroll-mt-20">How it works</h2> <ol> <li><p>Each round takes the run ticket's To do subtasks and runs them in waves of <code class="readme-inline-code">concurrency</code> leads.</p> </li> <li><p>For each wave, the orchestrator moves the tickets to In progress and spawns one <code class="readme-inline-code">deepwork-lead</code> per ticket. It then waits on one <code class="readme-inline-code">state::barrier</code> wake with a deadline.</p> </li> <li><p>Each lead does the same for its phases: one sub-agent per phase and one barrier to wait on. It retries rejected attempts, then writes one result to state.</p> </li> <li><p>The orchestrator wakes once, when every lead has written or the deadline passes. A lead with no valid result is stopped, and its ticket is retried next round. If the lead can't be stopped, the ticket is parked as <code class="readme-inline-code">stuck</code>. Background <code class="readme-inline-code">shell::exec_bg</code> jobs keep running after a stop.</p> </li> <li><p>Verified and accepted tickets go to Done. Failed ones go back to To do while rounds remain, and the rest go to Backlog.</p> </li> <li><p>The run ends when one of these happens:</p> <ul> <li>rounds run out;</li> <li>nothing is left;</li> <li>progress stalls;</li> <li>the budget is spent;</li> <li>approvals block it;</li> <li>you stop it.</li> </ul> <p>The report goes on the run ticket, into the chat and to <code class="readme-inline-code">notify</code>.</p> </li> </ol> <p>Results go through <code class="readme-inline-code">state</code> rather than kanban events. State has compare-and-set, and a kanban outage won't lose results.</p> <p>Not yet: a hard cost cap from the console.</p> </div></div></section></div><aside class="flex flex-col gap-y-4 @4xl:sticky @4xl:top-20 @4xl:self-start @4xl:max-h-[calc(100dvh-6rem)] @4xl:overflow-y-auto"><section class="shrink-0 overflow-hidden rounded-xl border border-line bg-paper scroll-mt-20"><div class="flex min-h-11 items-center justify-between gap-x-3 border-b border-line px-4"><span class="font-mono text-[10px] uppercase tracking-[0.08em] text-muted-foreground">Details</span></div><div class="p-4 flex flex-col gap-y-3"><div class="flex items-baseline justify-between text-[13px] gap-x-3 min-w-0"><span class="text-muted-foreground shrink-0">Version</span><span class="text-foreground truncate text-right min-w-0 font-mono text-[12px] tabular-nums">v<!-- -->0.3.0</span></div><div class="flex items-baseline justify-between text-[13px] gap-x-3 min-w-0"><span class="text-muted-foreground shrink-0">Published</span><span class="text-foreground truncate text-right min-w-0 font-mono text-[12px] tabular-nums" title="2026-10-16T20:44:56.101Z">2026-10-16 · 23h ago</span></div><div class="flex items-baseline justify-between text-[13px] gap-x-3 min-w-0"><span class="text-muted-foreground shrink-0">License</span><span class="text-foreground truncate text-right min-w-0">Apache-2.0</span></div><div class="flex items-baseline justify-between text-[13px] gap-x-3 min-w-0"><span class="text-muted-foreground shrink-0">Kit ID</span><span class="text-foreground truncate text-right min-w-0 font-mono text-[12px] tabular-nums" title="iii/deepwork">iii/deepwork</span></div><div class="flex items-baseline justify-between gap-x-3 min-w-0 text-[13px]"><span class="shrink-0 text-muted-foreground">Repo</span><a href="https://github.com/iii-hq/workers/tree/main/kits/deepwork" target="_blank" rel="noreferrer" class="inline-flex min-w-0 items-center gap-x-1 font-mono text-foreground transition-colors duration-150 hover:text-brand justify-end text-right text-[12px]"><span class="truncate">iii-hq/workers/tree/main/kits/deepwork</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right size-3 shrink-0" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></a></div></div></section><section class="shrink-0 overflow-hidden rounded-xl border border-line bg-paper scroll-mt-20"><div class="flex min-h-11 items-center justify-between gap-x-3 border-b border-line px-4"><span class="font-mono text-[10px] uppercase tracking-[0.08em] text-muted-foreground">Author</span></div><div class="p-4 flex flex-col gap-y-4"><a class="group flex items-center gap-x-2.5 min-w-0 text-[13px]" href="/kits/iii"><img src="https://iii.dev/docs/_mintlify/favicons/motiadev/AFkVbz_UcSL_5jsm/_generated/favicon/apple-touch-icon.png" alt="" class="size-7 shrink-0 rounded-full object-cover"/><span class="flex min-w-0 flex-col"><span class="inline-flex items-center gap-x-1 min-w-0"><span class="truncate font-medium text-foreground transition-colors group-hover:text-brand">iii</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="1em" height="1em" fill="currentColor" focusable="false" class="size-[13px] shrink-0 text-verified" aria-label="verified"><path fill-rule="evenodd" clip-rule="evenodd" d="M15.5837 10.5577L11.5107 14.6327C11.3697 14.7737 11.1787 14.8527 10.9797 14.8527C10.7807 14.8527 10.5897 14.7737 10.4497 14.6327L8.47274 12.6527C8.18075 12.3587 8.18075 11.8837 8.47375 11.5907C8.76775 11.2987 9.24174 11.2997 9.53475 11.5917L10.9807 13.0407L14.5227 9.49667C14.8157 9.20367 15.2907 9.20367 15.5837 9.49667C15.8767 9.78967 15.8767 10.2647 15.5837 10.5577ZM20.7037 10.0857L20.0047 9.38667C19.6857 9.06667 19.5107 8.64067 19.5107 8.18967V7.18967C19.5107 5.70067 18.2987 4.48967 16.8107 4.48967H15.8087C15.3557 4.48967 14.9307 4.31467 14.6127 3.99667L13.9017 3.28667C12.8447 2.23867 11.1327 2.24367 10.0837 3.29767L9.38674 3.99667C9.06574 4.31567 8.64075 4.49067 8.18875 4.49067H7.18775C5.71675 4.49167 4.51675 5.67567 4.48975 7.14167C4.48874 7.15767 4.48775 7.17367 4.48775 7.19067V8.18767C4.48775 8.63967 4.31275 9.06467 3.99375 9.38367L3.28575 10.0927C3.28475 10.0957 3.28175 10.0967 3.27975 10.0987C2.23475 11.1567 2.24375 12.8687 3.29675 13.9117L3.99575 14.6127C4.31375 14.9317 4.48975 15.3557 4.48975 15.8077V16.8127C4.48975 18.3007 5.69975 19.5117 7.18775 19.5117H8.18675C8.63975 19.5127 9.06475 19.6877 9.38275 20.0047L10.0957 20.7157C10.6037 21.2207 11.2777 21.4987 11.9947 21.4987H12.0067C12.7277 21.4957 13.4037 21.2117 13.9097 20.7027L14.6107 20.0027C14.9257 19.6887 15.3617 19.5087 15.8067 19.5087H16.8127C18.2977 19.5087 19.5087 18.2997 19.5117 16.8127V15.8097C19.5117 15.3587 19.6867 14.9337 20.0037 14.6147L20.7147 13.9037C21.7647 12.8477 21.7587 11.1347 20.7037 10.0857Z"></path></svg></span></span></a></div></section></aside></div></div></div><!--$--><!--/$--></main></div></div><footer class="border-t border-line bg-background text-foreground"><div class="mx-auto max-w-[1280px] px-9 pt-16 max-sm:px-[22px] max-sm:pt-11"><div class="grid grid-cols-[minmax(0,1fr)_minmax(0,1.4fr)] gap-20 max-[900px]:grid-cols-1 max-[900px]:gap-10"><div><a href="https://iii.dev" aria-label="iii home" class="inline-flex size-7 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground"><svg viewBox="0 0 1075.74 1075.74" aria-hidden="true" focusable="false" class="block shrink-0 size-full" fill="currentColor"><rect x="0" y="0.05" width="268.94" height="268.94"></rect><rect x="403.4" y="0.05" width="268.94" height="268.94"></rect><rect x="806.81" y="0.05" width="268.94" height="268.94"></rect><rect x="0" y="403.45" width="268.94" height="672.24"></rect><rect x="403.4" y="403.45" width="268.94" height="672.24"></rect><rect x="806.81" y="403.45" width="268.94" height="672.24"></rect></svg></a><p class="mt-[18px] max-w-[340px] text-[15px] leading-[1.65] text-muted-foreground">A next-generation software system.<br/>Workers. Triggers. Functions.</p><p class="mt-2 max-w-[340px] text-[13px] leading-[1.65] text-muted-foreground">Pronounced<!-- --> <span class="text-foreground">"three eye"</span></p></div><nav aria-label="Footer" class="grid grid-cols-3 gap-8 max-sm:grid-cols-2 max-sm:gap-x-4 max-sm:gap-y-6"><div><h3 class="mb-3 text-[13px] font-medium tracking-[0.06em] text-muted-foreground uppercase">Product</h3><ul class="list-none p-0"><li><a href="https://iii.dev/docs" class="group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground"><span>Docs</span></a></li><li><a href="https://iii.dev/docs/quickstart" class="group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground"><span>Quickstart</span></a></li><li><a href="/" class="group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground"><span>Worker registry</span></a></li><li><a href="https://iii.dev/roadmap" class="group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground"><span>Roadmap</span></a></li><li><a href="https://iii.dev/manifesto" class="group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground"><span>Manifesto</span></a></li><li><a href="https://iii.dev/blog" class="group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground"><span>Blog</span></a></li></ul></div><div><h3 class="mb-3 text-[13px] font-medium tracking-[0.06em] text-muted-foreground uppercase">Community</h3><ul class="list-none p-0"><li><a href="https://github.com/iii-hq/iii" class="group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground" target="_blank" rel="noopener noreferrer"><svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false" class="size-4 shrink-0"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 2.69922C6.762 2.69922 2.5 6.96122 2.5 12.1992C2.5 16.3252 5.24 20.0532 9.164 21.2662C9.324 21.3182 9.498 21.2822 9.627 21.1762C9.757 21.0702 9.825 20.9062 9.809 20.7392C9.669 19.3462 10.47 17.8702 10.812 17.5162C10.944 17.3812 10.988 17.1822 10.925 17.0042C10.862 16.8252 10.704 16.6962 10.516 16.6732C8.725 16.4452 7.067 15.8372 7.067 12.9472C7.063 12.2282 7.337 11.5412 7.836 11.0122C7.968 10.8732 8.009 10.6712 7.941 10.4922C7.75 9.98722 7.729 9.42222 7.877 8.90022C8.168 8.94822 8.731 9.11922 9.608 9.70522C9.728 9.78622 9.877 9.80722 10.015 9.77222C11.312 9.42422 12.682 9.42422 13.979 9.77222C14.116 9.80722 14.266 9.78622 14.386 9.70522C15.27 9.11422 15.835 8.94522 16.115 8.89622C16.264 9.42022 16.245 9.98622 16.054 10.4932C15.986 10.6732 16.027 10.8752 16.16 11.0132C16.654 11.5332 16.927 12.2172 16.927 12.9382C16.927 15.8772 15.273 16.4642 13.486 16.6612C13.296 16.6812 13.135 16.8092 13.071 16.9882C13.006 17.1682 13.049 17.3692 13.182 17.5062C13.512 17.8472 14.321 19.3622 14.185 20.7502C14.168 20.9172 14.236 21.0812 14.367 21.1862C14.457 21.2612 14.569 21.2992 14.682 21.2992C14.732 21.2992 14.783 21.2912 14.832 21.2752C18.82 20.0202 21.5 16.3732 21.5 12.1992C21.5 6.96122 17.238 2.69922 12 2.69922Z"></path></svg><span>GitHub</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></a></li><li><a href="https://discord.gg/iiidev" class="group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground" target="_blank" rel="noopener noreferrer"><svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false" class="size-4 shrink-0"><path fill-rule="evenodd" clip-rule="evenodd" d="M10.4919 12.798C10.4928 12.7793 10.4916 12.7606 10.489 12.7421C10.4613 12.5469 10.4514 12.347 10.3951 12.1599C10.1841 11.4539 9.74808 10.9469 9.00608 10.7969C8.29208 10.6539 7.71308 10.9269 7.28508 11.5059C6.70508 12.2879 6.76108 13.4529 7.40208 14.1859C8.09108 14.9729 9.21108 14.9939 9.92408 14.2269C10.2967 13.8258 10.4673 13.3434 10.4919 12.798ZM17.1383 12.7812C17.1389 12.7644 17.1379 12.7475 17.1357 12.7308C17.1132 12.5616 17.1039 12.3878 17.0601 12.2239C16.8721 11.5239 16.4651 11.0089 15.7441 10.8189C15.1071 10.6509 14.5481 10.8339 14.0951 11.3089C13.3501 12.0899 13.3461 13.4249 14.0781 14.2169C14.7981 14.9939 15.9331 14.9789 16.6201 14.1779C16.9636 13.7773 17.1191 13.306 17.1383 12.7812ZM17.0985 17.278C17.2735 17.1939 17.3406 16.9478 17.1827 16.8346C17.0669 16.7515 16.9741 16.7834 16.7571 16.8759C13.5891 18.2239 10.4191 18.2099 7.24908 16.8849C7.02096 16.7895 6.93273 16.7517 6.82128 16.8227C6.65302 16.93 6.71802 17.1898 6.89748 17.277C7.23862 17.4429 7.58015 17.609 7.93832 17.7829C8.09958 17.8613 8.15678 18.0626 8.06083 18.214C7.77618 18.6633 7.49507 19.108 7.20508 19.5459C7.17408 19.5919 7.04108 19.6069 6.97208 19.5859C5.25708 19.0449 3.67108 18.2459 2.22008 17.1829C2.14608 17.1289 2.08208 17.0159 2.07408 16.9239C1.74508 13.2929 2.51308 9.90588 4.35508 6.75988C5.05808 5.55888 5.05608 5.53788 6.55408 5.06188C7.34208 4.81188 8.15408 4.63988 8.95308 4.42288C9.12908 4.37588 9.21708 4.42788 9.28708 4.58688C9.37508 4.78388 9.50608 4.96388 9.57408 5.16688C9.65508 5.40888 9.77908 5.46588 10.0301 5.42988C11.4051 5.23188 12.7811 5.26188 14.1551 5.44288C14.2295 5.45351 14.3008 5.4087 14.3344 5.34142C14.4633 5.08312 14.5955 4.82606 14.7171 4.56288C14.7801 4.42488 14.8581 4.38688 15.0111 4.41588C16.3001 4.65988 17.5471 5.03488 18.7421 5.57688C18.8641 5.63288 18.9861 5.73388 19.0601 5.84488C20.4731 7.95488 21.4261 10.2489 21.8121 12.7659C22.0241 14.1449 22.0491 15.5309 21.9241 16.9189C21.9151 17.0179 21.8391 17.1399 21.7561 17.1989C20.3161 18.2439 18.7501 19.0439 17.0491 19.5739C16.9661 19.5999 16.8091 19.5849 16.7731 19.5309C16.4849 19.0998 16.2096 18.6599 15.9282 18.2116C15.8329 18.0598 15.8907 17.8587 16.0522 17.781C16.4087 17.6095 16.7514 17.4448 17.0985 17.278Z"></path></svg><span>Discord</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></a></li><li><a href="https://x.com/iiidevs" class="group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground" target="_blank" rel="noopener noreferrer"><svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false" class="size-4 shrink-0"><path transform="translate(1.5 1.5) scale(0.875)" d="M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z"></path></svg><span>Twitter / X</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></a></li><li><a href="https://www.linkedin.com/company/iii-dev" class="group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground" target="_blank" rel="noopener noreferrer"><svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false" class="size-4 shrink-0"><path fill-rule="evenodd" clip-rule="evenodd" d="M5.4 2.5h13.2a2.9 2.9 0 0 1 2.9 2.9v13.2a2.9 2.9 0 0 1-2.9 2.9H5.4a2.9 2.9 0 0 1-2.9-2.9V5.4a2.9 2.9 0 0 1 2.9-2.9Zm2.33 7.1H5.6v7.9h2.13V9.6ZM6.67 6.1a1.24 1.24 0 1 0 0 2.48 1.24 1.24 0 0 0 0-2.48Zm11.73 7.1c0-2.26-1.21-3.31-2.82-3.31-1.3 0-1.88.72-2.21 1.22V9.6H11.2c.03.6 0 7.9 0 7.9h2.17v-4.41c0-.24.02-.47.09-.64.19-.47.62-.96 1.35-.96.95 0 1.33.73 1.33 1.79v4.22h2.26V13.2Z"></path></svg><span>LinkedIn</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></a></li></ul></div><div><h3 class="mb-3 text-[13px] font-medium tracking-[0.06em] text-muted-foreground uppercase">Ask about iii</h3><ul class="list-none p-0"><li><a href="https://chatgpt.com/?q=Read%20https%3A%2F%2Fiii.dev%2Fllms.txt%20and%20explain%20iii%20to%20me%3A%20its%20three%20primitives%20(Worker%2C%20Trigger%2C%20Function)%2C%20what%20it%20replaces%20in%20a%20typical%20backend%2C%20and%20how%20I%20would%20install%20it%20and%20build%20a%20first%20service." class="group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground" target="_blank" rel="noopener noreferrer"><svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false" class="size-4 shrink-0"><path d="M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z"></path></svg><span>ChatGPT</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></a></li><li><a href="https://claude.ai/new?q=Read%20https%3A%2F%2Fiii.dev%2Fllms.txt%20and%20explain%20iii%20to%20me%3A%20its%20three%20primitives%20(Worker%2C%20Trigger%2C%20Function)%2C%20what%20it%20replaces%20in%20a%20typical%20backend%2C%20and%20how%20I%20would%20install%20it%20and%20build%20a%20first%20service." class="group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground" target="_blank" rel="noopener noreferrer"><svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false" class="size-4 shrink-0"><path d="m4.7144 15.9555 4.7174-2.6471.079-.2307-.079-.1275h-.2307l-.7893-.0486-2.6956-.0729-2.3375-.0971-2.2646-.1214-.5707-.1215-.5343-.7042.0546-.3522.4797-.3218.686.0608 1.5179.1032 2.2767.1578 1.6514.0972 2.4468.255h.3886l.0546-.1579-.1336-.0971-.1032-.0972L6.973 9.8356l-2.55-1.6879-1.3356-.9714-.7225-.4918-.3643-.4614-.1578-1.0078.6557-.7225.8803.0607.2246.0607.8925.686 1.9064 1.4754 2.4893 1.8336.3643.3035.1457-.1032.0182-.0728-.164-.2733-1.3539-2.4467-1.445-2.4893-.6435-1.032-.17-.6194c-.0607-.255-.1032-.4674-.1032-.7285L6.287.1335 6.6997 0l.9957.1336.419.3642.6192 1.4147 1.0018 2.2282 1.5543 3.0296.4553.8985.2429.8318.091.255h.1579v-.1457l.1275-1.706.2368-2.0947.2307-2.6957.0789-.7589.3764-.9107.7468-.4918.5828.2793.4797.686-.0668.4433-.2853 1.8517-.5586 2.9021-.3643 1.9429h.2125l.2429-.2429.9835-1.3053 1.6514-2.0643.7286-.8196.85-.9046.5464-.4311h1.0321l.759 1.1293-.34 1.1657-1.0625 1.3478-.8804 1.1414-1.2628 1.7-.7893 1.36.0729.1093.1882-.0183 2.8535-.607 1.5421-.2794 1.8396-.3157.8318.3886.091.3946-.3278.8075-1.967.4857-2.3072.4614-3.4364.8136-.0425.0304.0486.0607 1.5482.1457.6618.0364h1.621l3.0175.2247.7892.522.4736.6376-.079.4857-1.2142.6193-1.6393-.3886-3.825-.9107-1.3113-.3279h-.1822v.1093l1.0929 1.0686 2.0035 1.8092 2.5075 2.3314.1275.5768-.3218.4554-.34-.0486-2.2039-1.6575-.85-.7468-1.9246-1.621h-.1275v.17l.4432.6496 2.3436 3.5214.1214 1.0807-.17.3521-.6071.2125-.6679-.1214-1.3721-1.9246L14.38 17.959l-1.1414-1.9428-.1397.079-.674 7.2552-.3156.3703-.7286.2793-.6071-.4614-.3218-.7468.3218-1.4753.3886-1.9246.3157-1.53.2853-1.9004.17-.6314-.0121-.0425-.1397.0182-1.4328 1.9672-2.1796 2.9446-1.7243 1.8456-.4128.164-.7164-.3704.0667-.6618.4008-.5889 2.386-3.0357 1.4389-1.882.929-1.0868-.0062-.1579h-.0546l-6.3385 4.1164-1.1293.1457-.4857-.4554.0608-.7467.2307-.2429 1.9064-1.3114Z"></path></svg><span>Claude</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></a></li><li><a href="https://www.perplexity.ai/search?q=Read%20https%3A%2F%2Fiii.dev%2Fllms.txt%20and%20explain%20iii%20to%20me%3A%20its%20three%20primitives%20(Worker%2C%20Trigger%2C%20Function)%2C%20what%20it%20replaces%20in%20a%20typical%20backend%2C%20and%20how%20I%20would%20install%20it%20and%20build%20a%20first%20service." class="group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground" target="_blank" rel="noopener noreferrer"><svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false" class="size-4 shrink-0"><path d="M22.3977 7.0896h-2.3106V.0676l-7.5094 6.3542V.1577h-1.1554v6.1966L4.4904 0v7.0896H1.6023v10.3976h2.8882V24l6.932-6.3591v6.2005h1.1554v-6.0469l6.9318 6.1807v-6.4879h2.8882V7.0896zm-3.4657-4.531v4.531h-5.355l5.355-4.531zm-13.2862.0676 4.8691 4.4634H5.6458V2.6262zM2.7576 16.332V8.245h7.8476l-6.1149 6.1147v1.9723H2.7576zm2.8882 5.0404v-3.8852h.0001v-2.6488l5.7763-5.7764v7.0111l-5.7764 5.2993zm7.0212-7.0212v-7.0111l5.7764 5.7764v2.6488h.0001v3.8852l-5.7765-5.2993zm8.9765 2.0444h-1.9727l-6.1149-6.1147h8.0876v6.1147z"></path></svg><span>Perplexity</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></a></li><li><a href="https://grok.com/?q=Read%20https%3A%2F%2Fiii.dev%2Fllms.txt%20and%20explain%20iii%20to%20me%3A%20its%20three%20primitives%20(Worker%2C%20Trigger%2C%20Function)%2C%20what%20it%20replaces%20in%20a%20typical%20backend%2C%20and%20how%20I%20would%20install%20it%20and%20build%20a%20first%20service." class="group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground" target="_blank" rel="noopener noreferrer"><svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" focusable="false" class="size-4 shrink-0"><path d="M9.27 15.29l7.978-5.897c.391-.29.95-.177 1.137.272.98 2.369.542 5.215-1.41 7.169-1.951 1.954-4.667 2.382-7.149 1.406l-2.711 1.257c3.889 2.661 8.611 2.003 11.562-.953 2.341-2.344 3.066-5.539 2.388-8.42l.006.007c-.983-4.232.242-5.924 2.75-9.383.06-.082.12-.164.179-.248l-3.301 3.305v-.01L9.267 15.292M7.623 16.723c-2.792-2.67-2.31-6.801.071-9.184 1.761-1.763 4.647-2.483 7.166-1.425l2.705-1.25a7.808 7.808 0 00-1.829-1A8.975 8.975 0 005.984 5.83c-2.533 2.536-3.33 6.436-1.962 9.764 1.022 2.487-.653 4.246-2.34 6.022-.599.63-1.199 1.259-1.682 1.925l7.62-6.815"></path></svg><span>Grok</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100" aria-hidden="true"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></a></li></ul></div></nav></div><div class="mt-13 border-t border-line py-[22px] text-[13px] text-muted-foreground max-sm:mt-9"><p class="flex items-center gap-2">© <!-- -->2026<!-- --> Motia LLC<!-- --> <span aria-hidden="true">·</span> <a href="https://iii.dev/privacy-policy" class="hover:text-foreground focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground">Privacy</a></p></div></div></footer><div data-slot="dialog-header" class="flex flex-col gap-2 sr-only"><h2 id="base-ui-_R_2v9b_" data-slot="dialog-title" class="font-heading text-base leading-none font-medium">Search the registry</h2><p id="base-ui-_R_4v9b_" data-slot="dialog-description" class="text-sm text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground">Find workers, kits and executables, or jump to a page.</p></div><script src="/_next/static/chunks/0i2y6ku2mpaxs.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n3:I[90280,[\"/_next/static/chunks/04ylibgf-0e6d.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/0f8jgu0hu0~vn.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\"],\"default\"]\n4:I[69616,[\"/_next/static/chunks/04ylibgf-0e6d.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/0f8jgu0hu0~vn.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\"],\"default\"]\n6:I[51557,[\"/_next/static/chunks/04ylibgf-0e6d.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/0f8jgu0hu0~vn.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\"],\"OutletBoundary\"]\n7:\"$Sreact.suspense\"\na:I[51557,[\"/_next/static/chunks/04ylibgf-0e6d.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/0f8jgu0hu0~vn.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\"],\"ViewportBoundary\"]\nc:I[51557,[\"/_next/static/chunks/04ylibgf-0e6d.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/0f8jgu0hu0~vn.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\"],\"MetadataBoundary\"]\ne:I[50609,[\"/_next/static/chunks/0bo4tx~_nrwwb.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/02q_l477hmi84.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/0g.iu.n6r6kbr.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/0tclp6.7qxzgs.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/0w_agc1b2gf-n.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\"],\"default\"]\n:HL[\"/_next/static/chunks/0tnvp7a9r1_ev.css?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"style\"]\n:HL[\"/_next/static/chunks/14fuvofs58gld.css?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"style\"]\n:HL[\"/_next/static/media/797e433ab948586e-s.p.08e28id.o-okb.woff2?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"kits\",\"iii\",\"deepwork?version=0.3.0\"],\"q\":\"?version=0.3.0\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"kits\",{\"children\":[[\"author\",\"iii\",\"d\",null],{\"children\":[[\"name\",\"deepwork\",\"d\",null],{\"children\":[\"__PAGE__?{\\\"version\\\":\\\"0.3.0\\\"}\",{}]}]}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0tnvp7a9r1_ev.css?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/14fuvofs58gld.css?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0bo4tx~_nrwwb.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/02q_l477hmi84.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/0g.iu.n6r6kbr.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/0tclp6.7qxzgs.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"async\":true,\"nonce\":\"$undefined\"}]],\"$L2\"]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[\"$L5\",[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0b71_6rlbzjzh.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@8\"}]}]]}],{},null,false,null]},null,false,\"$@9\"]},null,false,\"$@9\"]},null,false,\"$@9\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Ld\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0tnvp7a9r1_ev.css?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/14fuvofs58gld.css?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":false,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"f:[]\n9:\"$Wf\"\nb:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"11:I[77792,[\"/_next/static/chunks/0bo4tx~_nrwwb.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/02q_l477hmi84.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/0g.iu.n6r6kbr.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/0tclp6.7qxzgs.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\"],\"Providers\"]\n12:I[84148,[\"/_next/static/chunks/0bo4tx~_nrwwb.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/02q_l477hmi84.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/0g.iu.n6r6kbr.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/0tclp6.7qxzgs.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\"],\"SiteHeader\"]\n13:I[46610,[\"/_next/static/chunks/0bo4tx~_nrwwb.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/02q_l477hmi84.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/0g.iu.n6r6kbr.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/0tclp6.7qxzgs.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/0b71_6rlbzjzh.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\"],\"\"]\n10:[\"$\",\"iframe\",null,{\"src\":\"https://www.googletagmanager.com/ns.html?id=GTM-N8DCTFB8\",\"height\":\"0\",\"width\":\"0\",\"style\":{\"display\":\"none\",\"visibility\":\"hidden\"},\"title\":\"Google Tag Manager\"}]\n"])</script><script>self.__next_f.push([1,"2:[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"antialiased inter_fe8b9d92-module__LINzvG__variable geist_mono_8d43a2aa-module__8Li5zG__variable\",\"data-theme\":\"light\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"bg-background text-foreground font-sans min-h-full flex flex-col\",\"children\":[[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\n try {\\n var stored = localStorage.getItem('iii-theme');\\n if (stored === 'dark' || stored === 'light') {\\n document.documentElement.dataset.theme = stored;\\n } else {\\n document.documentElement.dataset.theme = 'light';\\n }\\n } catch (_) {\\n document.documentElement.dataset.theme = 'light';\\n }\\n\"}}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\n (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\\n new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\\n j=d.createElement(s),dl=l!='dataLayer'?'\u0026l='+l:'';j.async=true;j.src=\\n 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\\n })(window,document,'script','dataLayer','GTM-N8DCTFB8');\\n\"}}]],[\"$\",\"noscript\",null,{\"children\":\"$10\"}],[\"$\",\"a\",null,{\"href\":\"#main-content\",\"className\":\"sr-only focus:not-sr-only focus:fixed focus:top-3 focus:left-3 focus:z-[60] focus:rounded-lg focus:bg-foreground focus:px-3 focus:py-2 focus:text-sm focus:font-medium focus:text-background\",\"children\":\"Skip to content\"}],[\"$\",\"$L11\",null,{\"children\":[[\"$\",\"$L12\",null,{\"stats\":{\"stars\":\"18,845\",\"members\":\"2.4k\",\"starsCount\":18845,\"membersCount\":2406}}],[\"$\",\"div\",null,{\"className\":\"mx-auto w-full max-w-7xl has-[.registry-home]:max-w-none @container flex-1 bg-bg flex flex-col\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex-1 overflow-x-clip flex flex-col\",\"children\":[\"$\",\"main\",null,{\"id\":\"main-content\",\"className\":\"flex-1\",\"tabIndex\":-1,\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"div\",null,{\"className\":\"page-transition flex flex-1 flex-col\",\"children\":[[\"$\",\"header\",null,{\"className\":\"flex items-end justify-between flex-wrap gap-x-8 gap-y-5 px-[22px] pt-12 sm:px-9 sm:pt-16 pb-0 sm:pb-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"min-w-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-3 font-mono text-[10px] leading-[normal] uppercase tracking-[0.08em] text-muted-foreground\",\"children\":\"error / not found\"}],[\"$\",\"div\",null,{\"className\":\"flex items-center flex-wrap gap-x-3 gap-y-2\",\"children\":[[\"$\",\"h1\",null,{\"className\":\"text-[32px] sm:text-[40px] font-[550] leading-[1.1] tracking-[-0.04em] text-foreground text-balance\",\"children\":[\"$\",\"span\",null,{\"className\":\"block text-[64px] leading-none tracking-[-0.05em] tabular-nums sm:text-[88px]\",\"children\":\"404\"}]}],\"$undefined\",null]}],[\"$\",\"p\",null,{\"className\":\"mt-4 max-w-[60ch] text-[15px] leading-[1.7] text-muted-foreground text-pretty\",\"children\":\"This page isn’t in the registry. It may have been renamed, or never published.\"}]]}],null]}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap items-center gap-3 px-[22px] pt-8 pb-24 sm:px-9 sm:pb-32\",\"children\":[[\"$\",\"$L13\",null,{\"href\":\"/\",\"className\":\"inline-flex items-center justify-center gap-x-2 whitespace-nowrap rounded-xl font-medium transition-[background-color,color,border-color,opacity,transform] duration-150 ease-out focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-brand disabled:pointer-events-none disabled:opacity-50 select-none active:scale-[0.96] motion-reduce:active:scale-100 [\u0026_svg]:size-3.5 [\u0026_svg]:shrink-0 bg-foreground text-background hover:opacity-[0.88] h-10 px-4 text-[14px]\",\"children\":\"Back to the registry\"}],[\"$\",\"$L13\",null,{\"href\":\"/search\",\"className\":\"inline-flex items-center justify-center gap-x-2 whitespace-nowrap rounded-xl font-medium transition-[background-color,color,border-color,opacity,transform] duration-150 ease-out focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-brand disabled:pointer-events-none disabled:opacity-50 select-none active:scale-[0.96] motion-reduce:active:scale-100 [\u0026_svg]:size-3.5 [\u0026_svg]:shrink-0 border border-line bg-background text-foreground hover:border-[color-mix(in_srgb,var(--foreground)_22%,var(--line))] hover:bg-paper h-10 px-4 text-[14px]\",\"children\":[\"$L14\",\"Search\"]}]]}]]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}],\"$L15\"]}]]}]}]\n"])</script><script>self.__next_f.push([1,"16:I[41074,[\"/_next/static/chunks/0bo4tx~_nrwwb.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/02q_l477hmi84.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/0g.iu.n6r6kbr.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/0tclp6.7qxzgs.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/0b71_6rlbzjzh.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\"],\"default\"]\n14:[\"$\",\"$L16\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"m21 21-4.34-4.34\",\"key\":\"14j7rj\"}],[\"circle\",{\"cx\":\"11\",\"cy\":\"11\",\"r\":\"8\",\"key\":\"4ej97u\"}]],\"className\":\"lucide-search\",\"aria-hidden\":\"true\"}]\n"])</script><script>self.__next_f.push([1,"15:[\"$\",\"footer\",null,{\"className\":\"border-t border-line bg-background text-foreground\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-[1280px] px-9 pt-16 max-sm:px-[22px] max-sm:pt-11\",\"children\":[[\"$\",\"div\",null,{\"className\":\"grid grid-cols-[minmax(0,1fr)_minmax(0,1.4fr)] gap-20 max-[900px]:grid-cols-1 max-[900px]:gap-10\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"a\",null,{\"href\":\"https://iii.dev\",\"aria-label\":\"iii home\",\"className\":\"inline-flex size-7 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"children\":[\"$\",\"svg\",null,{\"viewBox\":\"0 0 1075.74 1075.74\",\"aria-hidden\":\"true\",\"focusable\":\"false\",\"className\":\"block shrink-0 size-full\",\"fill\":\"currentColor\",\"children\":[[[\"$\",\"rect\",\"0\",{\"x\":0,\"y\":\"0.05\",\"width\":\"268.94\",\"height\":\"268.94\"}],[\"$\",\"rect\",\"403.4\",{\"x\":403.4,\"y\":\"0.05\",\"width\":\"268.94\",\"height\":\"268.94\"}],[\"$\",\"rect\",\"806.81\",{\"x\":806.81,\"y\":\"0.05\",\"width\":\"268.94\",\"height\":\"268.94\"}]],[[\"$\",\"rect\",\"stem-0\",{\"x\":0,\"y\":\"403.45\",\"width\":\"268.94\",\"height\":\"672.24\"}],[\"$\",\"rect\",\"stem-403.4\",{\"x\":403.4,\"y\":\"403.45\",\"width\":\"268.94\",\"height\":\"672.24\"}],[\"$\",\"rect\",\"stem-806.81\",{\"x\":806.81,\"y\":\"403.45\",\"width\":\"268.94\",\"height\":\"672.24\"}]]]}]}],[\"$\",\"p\",null,{\"className\":\"mt-[18px] max-w-[340px] text-[15px] leading-[1.65] text-muted-foreground\",\"children\":[\"A next-generation software system.\",[\"$\",\"br\",null,{}],\"Workers. Triggers. Functions.\"]}],[\"$\",\"p\",null,{\"className\":\"mt-2 max-w-[340px] text-[13px] leading-[1.65] text-muted-foreground\",\"children\":[\"Pronounced\",\" \",[\"$\",\"span\",null,{\"className\":\"text-foreground\",\"children\":\"\\\"three eye\\\"\"}]]}]]}],[\"$\",\"nav\",null,{\"aria-label\":\"Footer\",\"className\":\"grid grid-cols-3 gap-8 max-sm:grid-cols-2 max-sm:gap-x-4 max-sm:gap-y-6\",\"children\":[[\"$\",\"div\",\"Product\",{\"children\":[[\"$\",\"h3\",null,{\"className\":\"mb-3 text-[13px] font-medium tracking-[0.06em] text-muted-foreground uppercase\",\"children\":\"Product\"}],[\"$\",\"ul\",null,{\"className\":\"list-none p-0\",\"children\":[[\"$\",\"li\",\"Docs\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://iii.dev/docs\",\"className\":\"group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"children\":[null,[\"$\",\"span\",null,{\"children\":\"Docs\"}],null]}]}],[\"$\",\"li\",\"Quickstart\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://iii.dev/docs/quickstart\",\"className\":\"group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"children\":[null,[\"$\",\"span\",null,{\"children\":\"Quickstart\"}],null]}]}],[\"$\",\"li\",\"Worker registry\",{\"children\":[\"$\",\"a\",null,{\"href\":\"/\",\"className\":\"group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"children\":[null,[\"$\",\"span\",null,{\"children\":\"Worker registry\"}],null]}]}],[\"$\",\"li\",\"Roadmap\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://iii.dev/roadmap\",\"className\":\"group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"children\":[null,[\"$\",\"span\",null,{\"children\":\"Roadmap\"}],null]}]}],[\"$\",\"li\",\"Manifesto\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://iii.dev/manifesto\",\"className\":\"group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"children\":[null,\"$L17\",null]}]}],\"$L18\"]}]]}],\"$L19\",\"$L1a\"]}]]}],\"$L1b\"]}]}]\n"])</script><script>self.__next_f.push([1,"28:I[18418,[\"/_next/static/chunks/04ylibgf-0e6d.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/0f8jgu0hu0~vn.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\"],\"IconMark\"]\n17:[\"$\",\"span\",null,{\"children\":\"Manifesto\"}]\n18:[\"$\",\"li\",\"Blog\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://iii.dev/blog\",\"className\":\"group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"children\":[null,[\"$\",\"span\",null,{\"children\":\"Blog\"}],null]}]}]\n1c:T4c4,M12 2.69922C6.762 2.69922 2.5 6.96122 2.5 12.1992C2.5 16.3252 5.24 20.0532 9.164 21.2662C9.324 21.3182 9.498 21.2822 9.627 21.1762C9.757 21.0702 9.825 20.9062 9.809 20.7392C9.669 19.3462 10.47 17.8702 10.812 17.5162C10.944 17.3812 10.988 17.1822 10.925 17.0042C10.862 16.8252 10.704 16.6962 10.516 16.6732C8.725 16.4452 7.067 15.8372 7.067 12.9472C7.063 12.2282 7.337 11.5412 7.836 11.0122C7.968 10.8732 8.009 10.6712 7.941 10.4922C7.75 9.98722 7.729 9.42222 7.877 8.90022C8.168 8.94822 8.731 9.11922 9.608 9.70522C9.728 9.78622 9.877 9.80722 10.015 9.77222C11.312 9.42422 12.682 9.42422 13.979 9.77222C14.116 9.80722 14.266 9.78622 14.386 9.70522C15.27 9.11422 15.835 8.94522 16.115 8.89622C16.264 9.42022 16.245 9.98622 16.054 10.4932C15.986 10.6732 16.027 10.8752 16.16 11.0132C16.654 11.5332 16.927 12.2172 16.927 12.9382C16.927 15.8772 15.273 16.4642 13.486 16.6612C13.296 16.6812 13.135 16.8092 13.071 16.9882C13.006 17.1682 13.049 17.3692 13.182 17.5062C13.512 17.8472 14.321 19.3622 14.185 20.7502C14.168 20.9172 14.236 21.0812 14.367 21.1862C14.457 21.2612 14.569 21.2992 14.682 21.2992C14.732 21.2992 14.783 21.2912 14.832 21.2752C18.82 20.0202 21.5 16.3732 21.5 12.1992C21.5 6.96122 17.238 2.69922 12 2.69922Z1d:T894,"])</script><script>self.__next_f.push([1,"M10.4919 12.798C10.4928 12.7793 10.4916 12.7606 10.489 12.7421C10.4613 12.5469 10.4514 12.347 10.3951 12.1599C10.1841 11.4539 9.74808 10.9469 9.00608 10.7969C8.29208 10.6539 7.71308 10.9269 7.28508 11.5059C6.70508 12.2879 6.76108 13.4529 7.40208 14.1859C8.09108 14.9729 9.21108 14.9939 9.92408 14.2269C10.2967 13.8258 10.4673 13.3434 10.4919 12.798ZM17.1383 12.7812C17.1389 12.7644 17.1379 12.7475 17.1357 12.7308C17.1132 12.5616 17.1039 12.3878 17.0601 12.2239C16.8721 11.5239 16.4651 11.0089 15.7441 10.8189C15.1071 10.6509 14.5481 10.8339 14.0951 11.3089C13.3501 12.0899 13.3461 13.4249 14.0781 14.2169C14.7981 14.9939 15.9331 14.9789 16.6201 14.1779C16.9636 13.7773 17.1191 13.306 17.1383 12.7812ZM17.0985 17.278C17.2735 17.1939 17.3406 16.9478 17.1827 16.8346C17.0669 16.7515 16.9741 16.7834 16.7571 16.8759C13.5891 18.2239 10.4191 18.2099 7.24908 16.8849C7.02096 16.7895 6.93273 16.7517 6.82128 16.8227C6.65302 16.93 6.71802 17.1898 6.89748 17.277C7.23862 17.4429 7.58015 17.609 7.93832 17.7829C8.09958 17.8613 8.15678 18.0626 8.06083 18.214C7.77618 18.6633 7.49507 19.108 7.20508 19.5459C7.17408 19.5919 7.04108 19.6069 6.97208 19.5859C5.25708 19.0449 3.67108 18.2459 2.22008 17.1829C2.14608 17.1289 2.08208 17.0159 2.07408 16.9239C1.74508 13.2929 2.51308 9.90588 4.35508 6.75988C5.05808 5.55888 5.05608 5.53788 6.55408 5.06188C7.34208 4.81188 8.15408 4.63988 8.95308 4.42288C9.12908 4.37588 9.21708 4.42788 9.28708 4.58688C9.37508 4.78388 9.50608 4.96388 9.57408 5.16688C9.65508 5.40888 9.77908 5.46588 10.0301 5.42988C11.4051 5.23188 12.7811 5.26188 14.1551 5.44288C14.2295 5.45351 14.3008 5.4087 14.3344 5.34142C14.4633 5.08312 14.5955 4.82606 14.7171 4.56288C14.7801 4.42488 14.8581 4.38688 15.0111 4.41588C16.3001 4.65988 17.5471 5.03488 18.7421 5.57688C18.8641 5.63288 18.9861 5.73388 19.0601 5.84488C20.4731 7.95488 21.4261 10.2489 21.8121 12.7659C22.0241 14.1449 22.0491 15.5309 21.9241 16.9189C21.9151 17.0179 21.8391 17.1399 21.7561 17.1989C20.3161 18.2439 18.7501 19.0439 17.0491 19.5739C16.9661 19.5999 16.8091 19.5849 16.7731 19.5309C16.4849 19.0998 16.2096 18.6599 15.9282 18.2116C15.8329 18.0598 15.8907 17.8587 16.0522 17.781C16.4087 17.6095 16.7514 17.4448 17.0985 17.278Z"])</script><script>self.__next_f.push([1,"19:[\"$\",\"div\",\"Community\",{\"children\":[[\"$\",\"h3\",null,{\"className\":\"mb-3 text-[13px] font-medium tracking-[0.06em] text-muted-foreground uppercase\",\"children\":\"Community\"}],[\"$\",\"ul\",null,{\"className\":\"list-none p-0\",\"children\":[[\"$\",\"li\",\"GitHub\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://github.com/iii-hq/iii\",\"className\":\"group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":[[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"aria-hidden\":true,\"focusable\":\"false\",\"className\":\"size-4 shrink-0\",\"children\":[\"$\",\"path\",null,{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"$1c\"}]}],[\"$\",\"span\",null,{\"children\":\"GitHub\"}],[\"$\",\"$L16\",null,{\"ref\":\"$undefined\",\"iconNode\":[[\"path\",{\"d\":\"M7 7h10v10\",\"key\":\"1tivn9\"}],[\"path\",{\"d\":\"M7 17 17 7\",\"key\":\"1vkiza\"}]],\"className\":\"lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100\",\"aria-hidden\":\"true\"}]]}]}],[\"$\",\"li\",\"Discord\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://discord.gg/iiidev\",\"className\":\"group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":[[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"aria-hidden\":true,\"focusable\":\"false\",\"className\":\"size-4 shrink-0\",\"children\":[\"$\",\"path\",null,{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"$1d\"}]}],\"$L1e\",\"$L1f\"]}]}],\"$L20\",\"$L21\"]}]]}]\n"])</script><script>self.__next_f.push([1,"22:T5b4,"])</script><script>self.__next_f.push([1,"M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z"])</script><script>self.__next_f.push([1,"1a:[\"$\",\"div\",\"Ask about iii\",{\"children\":[[\"$\",\"h3\",null,{\"className\":\"mb-3 text-[13px] font-medium tracking-[0.06em] text-muted-foreground uppercase\",\"children\":\"Ask about iii\"}],[\"$\",\"ul\",null,{\"className\":\"list-none p-0\",\"children\":[[\"$\",\"li\",\"ChatGPT\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://chatgpt.com/?q=Read%20https%3A%2F%2Fiii.dev%2Fllms.txt%20and%20explain%20iii%20to%20me%3A%20its%20three%20primitives%20(Worker%2C%20Trigger%2C%20Function)%2C%20what%20it%20replaces%20in%20a%20typical%20backend%2C%20and%20how%20I%20would%20install%20it%20and%20build%20a%20first%20service.\",\"className\":\"group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":[[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"aria-hidden\":true,\"focusable\":\"false\",\"className\":\"size-4 shrink-0\",\"children\":[\"$\",\"path\",null,{\"d\":\"$22\"}]}],[\"$\",\"span\",null,{\"children\":\"ChatGPT\"}],[\"$\",\"$L16\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$19:props:children:1:props:children:0:props:children:props:children:2:props:iconNode\",\"className\":\"lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100\",\"aria-hidden\":\"true\"}]]}]}],[\"$\",\"li\",\"Claude\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://claude.ai/new?q=Read%20https%3A%2F%2Fiii.dev%2Fllms.txt%20and%20explain%20iii%20to%20me%3A%20its%20three%20primitives%20(Worker%2C%20Trigger%2C%20Function)%2C%20what%20it%20replaces%20in%20a%20typical%20backend%2C%20and%20how%20I%20would%20install%20it%20and%20build%20a%20first%20service.\",\"className\":\"group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":[[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"aria-hidden\":true,\"focusable\":\"false\",\"className\":\"size-4 shrink-0\",\"children\":\"$L23\"}],\"$L24\",\"$L25\"]}]}],\"$L26\",\"$L27\"]}]]}]\n"])</script><script>self.__next_f.push([1,"1b:[\"$\",\"div\",null,{\"className\":\"mt-13 border-t border-line py-[22px] text-[13px] text-muted-foreground max-sm:mt-9\",\"children\":[\"$\",\"p\",null,{\"className\":\"flex items-center gap-2\",\"children\":[\"© \",2026,\" Motia LLC\",\" \",[\"$\",\"span\",null,{\"aria-hidden\":\"true\",\"children\":\"·\"}],\" \",[\"$\",\"a\",null,{\"href\":\"https://iii.dev/privacy-policy\",\"className\":\"hover:text-foreground focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"children\":\"Privacy\"}]]}]}]\n8:null\n"])</script><script>self.__next_f.push([1,"d:[[\"$\",\"title\",\"0\",{\"children\":\"iii/deepwork - iii worker\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Multi-agent workflows on iii with the kanban board as the task list: one lead per ticket with its own sub-agents, parallel waves, independent verify and review, and bounded rounds. Code goals get a dev flow: approved design and plan, test-first tickets each in its own git worktree, a branch review and a finish you choose.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"robots\",\"content\":\"index, follow\"}],[\"$\",\"link\",\"3\",{\"rel\":\"canonical\",\"href\":\"https://workers.iii.dev/kits/iii/deepwork\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:title\",\"content\":\"iii/deepwork - iii kit\"}],[\"$\",\"meta\",\"5\",{\"property\":\"og:description\",\"content\":\"Multi-agent workflows on iii with the kanban board as the task list: one lead per ticket with its own sub-agents, parallel waves, independent verify and review, and bounded rounds. Code goals get a dev flow: approved design and plan, test-first tickets each in its own git worktree, a branch review and a finish you choose.\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:url\",\"content\":\"https://workers.iii.dev/kits/iii/deepwork\"}],[\"$\",\"meta\",\"7\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"8\",{\"name\":\"twitter:title\",\"content\":\"iii/deepwork - iii kit\"}],[\"$\",\"meta\",\"9\",{\"name\":\"twitter:description\",\"content\":\"Multi-agent workflows on iii with the kanban board as the task list: one lead per ticket with its own sub-agents, parallel waves, independent verify and review, and bounded rounds. Code goals get a dev flow: approved design and plan, test-first tickets each in its own git worktree, a branch review and a finish you choose.\"}],[\"$\",\"link\",\"10\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0n6vou73am7b3.ico\",\"sizes\":\"48x48\",\"type\":\"image/x-icon\"}],[\"$\",\"$L28\",\"11\",{}]]\n"])</script><script>self.__next_f.push([1,"2a:I[85143,[\"/_next/static/chunks/0bo4tx~_nrwwb.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/02q_l477hmi84.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/0g.iu.n6r6kbr.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/0tclp6.7qxzgs.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/0b71_6rlbzjzh.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\"],\"KitVersionPicker\"]\n1e:[\"$\",\"span\",null,{\"children\":\"Discord\"}]\n1f:[\"$\",\"$L16\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$19:props:children:1:props:children:0:props:children:props:children:2:props:iconNode\",\"className\":\"lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100\",\"aria-hidden\":\"true\"}]\n20:[\"$\",\"li\",\"Twitter / X\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://x.com/iiidevs\",\"className\":\"group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":[[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"aria-hidden\":true,\"focusable\":\"false\",\"className\":\"size-4 shrink-0\",\"children\":[\"$\",\"path\",null,{\"transform\":\"translate(1.5 1.5) scale(0.875)\",\"d\":\"M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z\"}]}],[\"$\",\"span\",null,{\"children\":\"Twitter / X\"}],[\"$\",\"$L16\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$19:props:children:1:props:children:0:props:children:props:children:2:props:iconNode\",\"className\":\"lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100\",\"aria-hidden\":\"true\"}]]}]}]\n21:[\"$\",\"li\",\"LinkedIn\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://www.linkedin.com/company/iii-dev\",\"className\":\"group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":[[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"aria-hidden\":true,\"focusable\":\"false\",\"className\":\"size-4 shrink-0\",\"children\":[\"$\",\"path\",null,{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5.4 2.5h13.2a2.9 2.9 0 0 1 2.9 2.9v13.2a2.9 2.9 0 0 1-2.9 2.9H5.4a2.9 2.9 0 0 1-2.9-2.9V5.4a2.9 2.9 0 0 1 2.9-2.9Zm2.33 7.1H5.6v7.9h2.13V9.6ZM6.67 6.1a1.24 1.24 0 1 0 0 2.48 1.24 1.24 0 0 0 0-2.48Zm11.73 7.1c0-2.26-1.21-3.31-2.82-3.31-1.3 0-1.88.72-2.21 1.22V9.6H11.2c.03.6 0 7.9 0 7.9h2.17v-4.41c0-.24.02-.47.09-.64.19-.47.62-.96 1.35-.96.95 0 1.33.73 1.33 1.79v4.22h2.26V13.2Z\"}]}],[\"$\",\"span\",null,{\"children\":\"LinkedIn\"}],[\"$\",\"$L16\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$19:props:children:1:props:children:0:props:children:props:children:2:props:iconNode\",\"className\":\"lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100\",\"aria-hidden\":\"true\"}]]}]}]\n29:T713,"])</script><script>self.__next_f.push([1,"m4.7144 15.9555 4.7174-2.6471.079-.2307-.079-.1275h-.2307l-.7893-.0486-2.6956-.0729-2.3375-.0971-2.2646-.1214-.5707-.1215-.5343-.7042.0546-.3522.4797-.3218.686.0608 1.5179.1032 2.2767.1578 1.6514.0972 2.4468.255h.3886l.0546-.1579-.1336-.0971-.1032-.0972L6.973 9.8356l-2.55-1.6879-1.3356-.9714-.7225-.4918-.3643-.4614-.1578-1.0078.6557-.7225.8803.0607.2246.0607.8925.686 1.9064 1.4754 2.4893 1.8336.3643.3035.1457-.1032.0182-.0728-.164-.2733-1.3539-2.4467-1.445-2.4893-.6435-1.032-.17-.6194c-.0607-.255-.1032-.4674-.1032-.7285L6.287.1335 6.6997 0l.9957.1336.419.3642.6192 1.4147 1.0018 2.2282 1.5543 3.0296.4553.8985.2429.8318.091.255h.1579v-.1457l.1275-1.706.2368-2.0947.2307-2.6957.0789-.7589.3764-.9107.7468-.4918.5828.2793.4797.686-.0668.4433-.2853 1.8517-.5586 2.9021-.3643 1.9429h.2125l.2429-.2429.9835-1.3053 1.6514-2.0643.7286-.8196.85-.9046.5464-.4311h1.0321l.759 1.1293-.34 1.1657-1.0625 1.3478-.8804 1.1414-1.2628 1.7-.7893 1.36.0729.1093.1882-.0183 2.8535-.607 1.5421-.2794 1.8396-.3157.8318.3886.091.3946-.3278.8075-1.967.4857-2.3072.4614-3.4364.8136-.0425.0304.0486.0607 1.5482.1457.6618.0364h1.621l3.0175.2247.7892.522.4736.6376-.079.4857-1.2142.6193-1.6393-.3886-3.825-.9107-1.3113-.3279h-.1822v.1093l1.0929 1.0686 2.0035 1.8092 2.5075 2.3314.1275.5768-.3218.4554-.34-.0486-2.2039-1.6575-.85-.7468-1.9246-1.621h-.1275v.17l.4432.6496 2.3436 3.5214.1214 1.0807-.17.3521-.6071.2125-.6679-.1214-1.3721-1.9246L14.38 17.959l-1.1414-1.9428-.1397.079-.674 7.2552-.3156.3703-.7286.2793-.6071-.4614-.3218-.7468.3218-1.4753.3886-1.9246.3157-1.53.2853-1.9004.17-.6314-.0121-.0425-.1397.0182-1.4328 1.9672-2.1796 2.9446-1.7243 1.8456-.4128.164-.7164-.3704.0667-.6618.4008-.5889 2.386-3.0357 1.4389-1.882.929-1.0868-.0062-.1579h-.0546l-6.3385 4.1164-1.1293.1457-.4857-.4554.0608-.7467.2307-.2429 1.9064-1.3114Z"])</script><script>self.__next_f.push([1,"23:[\"$\",\"path\",null,{\"d\":\"$29\"}]\n24:[\"$\",\"span\",null,{\"children\":\"Claude\"}]\n25:[\"$\",\"$L16\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$19:props:children:1:props:children:0:props:children:props:children:2:props:iconNode\",\"className\":\"lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100\",\"aria-hidden\":\"true\"}]\n"])</script><script>self.__next_f.push([1,"26:[\"$\",\"li\",\"Perplexity\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://www.perplexity.ai/search?q=Read%20https%3A%2F%2Fiii.dev%2Fllms.txt%20and%20explain%20iii%20to%20me%3A%20its%20three%20primitives%20(Worker%2C%20Trigger%2C%20Function)%2C%20what%20it%20replaces%20in%20a%20typical%20backend%2C%20and%20how%20I%20would%20install%20it%20and%20build%20a%20first%20service.\",\"className\":\"group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":[[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"aria-hidden\":true,\"focusable\":\"false\",\"className\":\"size-4 shrink-0\",\"children\":[\"$\",\"path\",null,{\"d\":\"M22.3977 7.0896h-2.3106V.0676l-7.5094 6.3542V.1577h-1.1554v6.1966L4.4904 0v7.0896H1.6023v10.3976h2.8882V24l6.932-6.3591v6.2005h1.1554v-6.0469l6.9318 6.1807v-6.4879h2.8882V7.0896zm-3.4657-4.531v4.531h-5.355l5.355-4.531zm-13.2862.0676 4.8691 4.4634H5.6458V2.6262zM2.7576 16.332V8.245h7.8476l-6.1149 6.1147v1.9723H2.7576zm2.8882 5.0404v-3.8852h.0001v-2.6488l5.7763-5.7764v7.0111l-5.7764 5.2993zm7.0212-7.0212v-7.0111l5.7764 5.7764v2.6488h.0001v3.8852l-5.7765-5.2993zm8.9765 2.0444h-1.9727l-6.1149-6.1147h8.0876v6.1147z\"}]}],[\"$\",\"span\",null,{\"children\":\"Perplexity\"}],[\"$\",\"$L16\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$19:props:children:1:props:children:0:props:children:props:children:2:props:iconNode\",\"className\":\"lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100\",\"aria-hidden\":\"true\"}]]}]}]\n"])</script><script>self.__next_f.push([1,"27:[\"$\",\"li\",\"Grok\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://grok.com/?q=Read%20https%3A%2F%2Fiii.dev%2Fllms.txt%20and%20explain%20iii%20to%20me%3A%20its%20three%20primitives%20(Worker%2C%20Trigger%2C%20Function)%2C%20what%20it%20replaces%20in%20a%20typical%20backend%2C%20and%20how%20I%20would%20install%20it%20and%20build%20a%20first%20service.\",\"className\":\"group flex min-h-9 items-center gap-2.5 text-[14px] text-muted-foreground transition-[color] duration-150 ease-[ease] hover:text-foreground max-sm:min-h-11 focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":[[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"aria-hidden\":true,\"focusable\":\"false\",\"className\":\"size-4 shrink-0\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.27 15.29l7.978-5.897c.391-.29.95-.177 1.137.272.98 2.369.542 5.215-1.41 7.169-1.951 1.954-4.667 2.382-7.149 1.406l-2.711 1.257c3.889 2.661 8.611 2.003 11.562-.953 2.341-2.344 3.066-5.539 2.388-8.42l.006.007c-.983-4.232.242-5.924 2.75-9.383.06-.082.12-.164.179-.248l-3.301 3.305v-.01L9.267 15.292M7.623 16.723c-2.792-2.67-2.31-6.801.071-9.184 1.761-1.763 4.647-2.483 7.166-1.425l2.705-1.25a7.808 7.808 0 00-1.829-1A8.975 8.975 0 005.984 5.83c-2.533 2.536-3.33 6.436-1.962 9.764 1.022 2.487-.653 4.246-2.34 6.022-.599.63-1.199 1.259-1.682 1.925l7.62-6.815\"}]}],[\"$\",\"span\",null,{\"children\":\"Grok\"}],[\"$\",\"$L16\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$19:props:children:1:props:children:0:props:children:props:children:2:props:iconNode\",\"className\":\"lucide-arrow-up-right ml-auto size-3 opacity-0 group-hover:opacity-100\",\"aria-hidden\":\"true\"}]]}]}]\n"])</script><script>self.__next_f.push([1,"5:[\"$\",\"div\",null,{\"className\":\"page-transition\",\"children\":[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"SoftwareSourceCode\\\",\\\"name\\\":\\\"iii/deepwork\\\",\\\"description\\\":\\\"Multi-agent workflows on iii with the kanban board as the task list: one lead per ticket with its own sub-agents, parallel waves, independent verify and review, and bounded rounds. Code goals get a dev flow: approved design and plan, test-first tickets each in its own git worktree, a branch review and a finish you choose.\\\",\\\"version\\\":\\\"0.3.0\\\",\\\"url\\\":\\\"https://workers.iii.dev/kits/iii/deepwork\\\",\\\"license\\\":\\\"Apache-2.0\\\",\\\"codeRepository\\\":\\\"https://github.com/iii-hq/workers/tree/main/kits/deepwork\\\",\\\"author\\\":{\\\"@type\\\":\\\"Person\\\",\\\"name\\\":\\\"iii\\\"}}\"}}],[\"$\",\"header\",null,{\"className\":\"flex items-end justify-between flex-wrap gap-x-8 gap-y-5 px-[22px] pt-12 pb-8 sm:px-9 sm:pt-16 sm:pb-10\",\"children\":[[\"$\",\"div\",null,{\"className\":\"min-w-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-3 font-mono text-[10px] leading-[normal] uppercase tracking-[0.08em] text-muted-foreground\",\"children\":[[\"$\",\"$L13\",null,{\"href\":\"/kits\",\"className\":\"transition-colors hover:text-brand\",\"children\":\"registry / kits\"}],\" \",\"/\",\" \",[\"$\",\"$L13\",null,{\"href\":\"/kits/iii\",\"className\":\"transition-colors hover:text-brand\",\"children\":\"iii\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex items-center flex-wrap gap-x-3 gap-y-2\",\"children\":[[\"$\",\"h1\",null,{\"className\":\"text-[32px] sm:text-[40px] font-[550] leading-[1.1] tracking-[-0.04em] text-foreground text-balance\",\"children\":\"deepwork\"}],[\"$\",\"$L2a\",null,{\"version\":\"0.3.0\",\"tags\":[{\"key\":\"latest\",\"label\":\"latest\",\"detail\":\"v0.3.0\",\"href\":\"/kits/iii/deepwork\",\"current\":false}],\"versions\":[{\"key\":\"0.3.0\",\"label\":\"v0.3.0\",\"detail\":\"latest\",\"href\":\"/kits/iii/deepwork?version=0.3.0\",\"current\":true},{\"key\":\"0.2.1\",\"label\":\"v0.2.1\",\"detail\":\"1d ago\",\"href\":\"/kits/iii/deepwork?version=0.2.1\",\"current\":false},{\"key\":\"0.2.0\",\"label\":\"v0.2.0\",\"detail\":\"1d ago\",\"href\":\"/kits/iii/deepwork?version=0.2.0\",\"current\":false},{\"key\":\"0.1.1\",\"label\":\"v0.1.1\",\"detail\":\"1d ago\",\"href\":\"/kits/iii/deepwork?version=0.1.1\",\"current\":false},{\"key\":\"0.1.0\",\"label\":\"v0.1.0\",\"detail\":\"1d ago\",\"href\":\"/kits/iii/deepwork?version=0.1.0\",\"current\":false}]}],null]}],[\"$\",\"p\",null,{\"className\":\"mt-4 max-w-[60ch] text-[15px] leading-[1.7] text-muted-foreground text-pretty\",\"children\":\"Multi-agent workflows on iii with the kanban board as the task list: one lead per ticket with its own sub-agents, parallel waves, independent verify and review, and bounded rounds. Code goals get a dev flow: approved design and plan, test-first tickets each in its own git worktree, a branch review and a finish you choose.\"}]]}],null]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-y-4 px-[22px] pb-12 sm:px-9 sm:pb-14\",\"children\":[null,null,null,[\"$\",\"div\",null,{\"className\":\"overflow-hidden rounded-xl border border-line bg-paper\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex min-h-11 items-center justify-between gap-x-4 border-b border-line px-4 font-mono text-[10px] uppercase tracking-[0.08em] text-muted-foreground sm:px-5\",\"children\":[[\"$\",\"span\",null,{\"className\":\"inline-flex items-center gap-x-2\",\"children\":[[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 24 24\",\"width\":\"1em\",\"height\":\"1em\",\"fill\":\"currentColor\",\"focusable\":\"false\",\"aria-hidden\":true,\"className\":\"size-4 text-foreground\",\"children\":[\"$\",\"path\",null,{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M16.022 15.941H12.718C12.304 15.941 11.968 15.605 11.968 15.191C11.968 14.777 12.304 14.441 12.718 14.441H16.022C16.436 14.441 16.772 14.777 16.772 15.191C16.772 15.605 16.436 15.941 16.022 15.941ZM10.881 12.775L8.509 15.147C8.363 15.294 8.171 15.367 7.979 15.367C7.787 15.367 7.595 15.294 7.449 15.147C7.156 14.854 7.156 14.379 7.449 14.087L9.291 12.245L7.449 10.403C7.156 10.11 7.156 9.635 7.449 9.342C7.742 9.049 8.216 9.049 8.509 9.342L10.881 11.714C11.174 12.007 11.174 12.482 10.881 12.775ZM16.218 2.5H7.783C4.623 2.5 2.5 4.72 2.5 8.026V15.973C2.5 19.279 4.623 21.5 7.783 21.5H16.217C19.377 21.5 21.5 19.279 21.5 15.973V8.026C21.5 4.72 19.377 2.5 16.218 2.5Z\"}]}],\"Install\"]}],\"$L2b\"]}],\"$L2c\",\"$L2d\"]}]]}],\"$L2e\"]}]\n"])</script><script>self.__next_f.push([1,"2f:I[7225,[\"/_next/static/chunks/0bo4tx~_nrwwb.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/02q_l477hmi84.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/0g.iu.n6r6kbr.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/0tclp6.7qxzgs.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\",\"/_next/static/chunks/0b71_6rlbzjzh.js?dpl=dpl_4dx6J4sdCC1diu65QuAyD1awL5Fy\"],\"KitInstallCommand\"]\n2b:[\"$\",\"span\",null,{\"className\":\"truncate\",\"children\":\"0.3.0\"}]\n"])</script><script>self.__next_f.push([1,"2c:[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-y-5 px-4 py-5 sm:px-6 sm:py-6\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-y-3\",\"children\":[[\"$\",\"p\",null,{\"className\":\"font-mono text-[11px] text-muted-foreground\",\"children\":\"# With the iii engine running\"}],[\"$\",\"$L2f\",null,{\"command\":\"iii trigger directory::download-kit kit=iii/deepwork@0.3.0\",\"kitId\":\"iii/deepwork\",\"version\":\"0.3.0\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap items-end justify-between gap-x-8 gap-y-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-wrap items-end gap-x-8 gap-y-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-y-0.5\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[15px] font-[550] tracking-[-0.02em] text-foreground tabular-nums\",\"children\":\"9\"}],[\"$\",\"span\",null,{\"className\":\"text-[12px] text-muted-foreground\",\"children\":\"Installs\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-y-0.5\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[15px] font-[550] tracking-[-0.02em] text-foreground tabular-nums\",\"children\":\"6\"}],[\"$\",\"span\",null,{\"className\":\"text-[12px] text-muted-foreground\",\"children\":\"Last 7 days\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-y-0.5\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[15px] font-[550] tracking-[-0.02em] text-foreground tabular-nums\",\"children\":\"3\"}],[\"$\",\"span\",null,{\"className\":\"text-[12px] text-muted-foreground\",\"children\":\"Today\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-y-1.5 text-foreground\",\"children\":[[\"$\",\"svg\",null,{\"role\":\"img\",\"aria-label\":\"Daily installs over the last 30 days\",\"aria-hidden\":\"$undefined\",\"viewBox\":\"0 0 140 20\",\"width\":140,\"height\":20,\"className\":\"overflow-visible\",\"children\":[[\"$\",\"line\",null,{\"x1\":0,\"y1\":19.5,\"x2\":140,\"y2\":19.5,\"stroke\":\"var(--line)\",\"strokeWidth\":1}],[\"$\",\"polyline\",null,{\"points\":\"0.00,20.00 4.83,20.00 9.66,20.00 14.48,20.00 19.31,20.00 24.14,20.00 28.97,20.00 33.79,20.00 38.62,20.00 43.45,20.00 48.28,20.00 53.10,20.00 57.93,20.00 62.76,20.00 67.59,20.00 72.41,20.00 77.24,20.00 82.07,20.00 86.90,20.00 91.72,20.00 96.55,20.00 101.38,20.00 106.21,20.00 111.03,20.00 115.86,20.00 120.69,20.00 125.52,20.00 130.34,20.00 135.17,16.00 140.00,0.00\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":1.5,\"strokeLinejoin\":\"round\",\"strokeLinecap\":\"round\",\"vectorEffect\":\"non-scaling-stroke\"}]]}],[\"$\",\"span\",null,{\"className\":\"text-[12px] text-muted-foreground\",\"children\":[30,\" days\"]}]]}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap items-center gap-x-4 gap-y-2 text-[13px]\",\"children\":[[\"$\",\"$L13\",null,{\"href\":\"/kits/iii/deepwork?version=0.3.0\u0026tab=profiles\",\"scroll\":false,\"className\":\"inline-flex items-baseline gap-x-1 whitespace-nowrap text-muted-foreground transition-colors hover:text-foreground\",\"children\":[[\"$\",\"strong\",null,{\"className\":\"font-medium tabular-nums text-foreground\",\"children\":\"6\"}],\" \",\"profiles\"]}],[\"$\",\"$L13\",null,{\"href\":\"/kits/iii/deepwork?version=0.3.0\u0026tab=skills\",\"scroll\":false,\"className\":\"inline-flex items-baseline gap-x-1 whitespace-nowrap text-muted-foreground transition-colors hover:text-foreground\",\"children\":[[\"$\",\"strong\",null,{\"className\":\"font-medium tabular-nums text-foreground\",\"children\":\"0\"}],\" \",\"skills\"]}],[\"$\",\"$L13\",null,{\"href\":\"/kits/iii/deepwork?version=0.3.0\u0026tab=workers\",\"scroll\":false,\"className\":\"inline-flex items-baseline gap-x-1 whitespace-nowrap text-muted-foreground transition-colors hover:text-foreground\",\"children\":[[\"$\",\"strong\",null,{\"className\":\"font-medium tabular-nums text-foreground\",\"children\":\"5\"}],\" \",\"workers\"]}],[\"$\",\"$L13\",null,{\"href\":\"/kits/iii/deepwork?version=0.3.0\u0026tab=versions\",\"scroll\":false,\"className\":\"inline-flex items-baseline gap-x-1 whitespace-nowrap text-muted-foreground transition-colors hover:text-foreground\",\"children\":[[\"$\",\"strong\",null,{\"className\":\"font-medium tabular-nums text-foreground\",\"children\":\"5\"}],\" \",\"versions\"]}]]}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap items-center gap-x-3 gap-y-2.5 border-t border-line pt-5 text-[13px]\",\"children\":[[\"$\",\"span\",null,{\"data-type-mark\":\"kit\",\"className\":\"inline-flex items-center gap-x-1.5 shrink-0\",\"children\":[\"$L30\",\"$L31\"]}],\"$L32\",\"$L33\",\"$L34\",[\"$L35\"],\"$L36\"]}]]}]\n"])</script><script>self.__next_f.push([1,"2d:[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-2 border-t border-line px-4 py-3 text-[12px] text-muted-foreground sm:px-6 @2xl:flex-row @2xl:items-center @2xl:justify-between\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex min-w-0 items-center gap-x-2\",\"children\":[[\"$\",\"span\",null,{\"className\":\"shrink-0\",\"children\":\"Repo\"}],[\"$\",\"a\",null,{\"href\":\"https://github.com/iii-hq/workers/tree/main/kits/deepwork\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"className\":\"inline-flex min-w-0 items-center gap-x-1 font-mono text-foreground transition-colors duration-150 hover:text-brand text-[12px]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"truncate\",\"children\":\"iii-hq/workers/tree/main/kits/deepwork\"}],[\"$\",\"$L16\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$19:props:children:1:props:children:0:props:children:props:children:2:props:iconNode\",\"className\":\"lucide-arrow-up-right size-3 shrink-0\",\"aria-hidden\":true}]]}]]}],[\"$\",\"p\",null,{\"className\":\"leading-[1.5] @2xl:max-w-[58ch] @2xl:text-right\",\"children\":\"Exact versions are immutable. Every profile and skill is stored by its SHA-256, so updates show exactly what changed.\"}]]}]\n"])</script><script>self.__next_f.push([1,"2e:[\"$\",\"div\",null,{\"className\":\"px-[22px] pb-20 sm:px-9\",\"children\":[\"$\",\"div\",null,{\"className\":\"grid grid-cols-1 gap-10 @4xl:grid-cols-[minmax(0,1fr)_300px]\",\"children\":[[\"$\",\"div\",null,{\"className\":\"min-w-0 flex flex-col gap-y-6 @container/main\",\"children\":[[\"$\",\"nav\",null,{\"aria-label\":\"sections\",\"className\":\"overflow-x-auto overflow-y-hidden overscroll-x-contain [scrollbar-width:none] [\u0026::-webkit-scrollbar]:hidden\",\"children\":[\"$\",\"div\",null,{\"role\":\"tablist\",\"className\":\"flex min-w-max gap-6 shadow-[inset_0_-1px_0_var(--line)]\",\"children\":[[\"$\",\"$L13\",\"readme\",{\"href\":\"/kits/iii/deepwork?version=0.3.0\",\"scroll\":false,\"role\":\"tab\",\"aria-selected\":true,\"aria-current\":\"page\",\"className\":\"relative inline-flex items-center gap-x-2 min-h-11 text-[14px] capitalize whitespace-nowrap transition-colors font-[550] text-foreground after:absolute after:inset-x-0 after:bottom-0 after:h-0.5 after:bg-foreground\",\"children\":[\"readme\",null]}],[\"$\",\"$L13\",\"profiles\",{\"href\":\"/kits/iii/deepwork?version=0.3.0\u0026tab=profiles\",\"scroll\":false,\"role\":\"tab\",\"aria-selected\":false,\"aria-current\":\"$undefined\",\"className\":\"relative inline-flex items-center gap-x-2 min-h-11 text-[14px] capitalize whitespace-nowrap transition-colors text-muted-foreground hover:text-foreground\",\"children\":[\"profiles\",[\" \",[\"$\",\"span\",null,{\"className\":\"inline-flex h-5 min-w-[22px] items-center justify-center rounded-md bg-code px-1.5 font-mono text-[11px] font-normal tabular-nums text-muted-foreground\",\"children\":6}]]]}],[\"$\",\"$L13\",\"skills\",{\"href\":\"/kits/iii/deepwork?version=0.3.0\u0026tab=skills\",\"scroll\":false,\"role\":\"tab\",\"aria-selected\":false,\"aria-current\":\"$undefined\",\"className\":\"relative inline-flex items-center gap-x-2 min-h-11 text-[14px] capitalize whitespace-nowrap transition-colors text-muted-foreground hover:text-foreground\",\"children\":[\"skills\",[\" \",[\"$\",\"span\",null,{\"className\":\"inline-flex h-5 min-w-[22px] items-center justify-center rounded-md bg-code px-1.5 font-mono text-[11px] font-normal tabular-nums text-muted-foreground\",\"children\":0}]]]}],[\"$\",\"$L13\",\"workers\",{\"href\":\"/kits/iii/deepwork?version=0.3.0\u0026tab=workers\",\"scroll\":false,\"role\":\"tab\",\"aria-selected\":false,\"aria-current\":\"$undefined\",\"className\":\"relative inline-flex items-center gap-x-2 min-h-11 text-[14px] capitalize whitespace-nowrap transition-colors text-muted-foreground hover:text-foreground\",\"children\":[\"workers\",[\" \",[\"$\",\"span\",null,{\"className\":\"inline-flex h-5 min-w-[22px] items-center justify-center rounded-md bg-code px-1.5 font-mono text-[11px] font-normal tabular-nums text-muted-foreground\",\"children\":5}]]]}],[\"$\",\"$L13\",\"versions\",{\"href\":\"/kits/iii/deepwork?version=0.3.0\u0026tab=versions\",\"scroll\":false,\"role\":\"tab\",\"aria-selected\":false,\"aria-current\":\"$undefined\",\"className\":\"relative inline-flex items-center gap-x-2 min-h-11 text-[14px] capitalize whitespace-nowrap transition-colors text-muted-foreground hover:text-foreground\",\"children\":[\"versions\",[\" \",[\"$\",\"span\",null,{\"className\":\"inline-flex h-5 min-w-[22px] items-center justify-center rounded-md bg-code px-1.5 font-mono text-[11px] font-normal tabular-nums text-muted-foreground\",\"children\":5}]]]}],[\"$\",\"$L13\",\"changes\",{\"href\":\"/kits/iii/deepwork?version=0.3.0\u0026tab=changes\",\"scroll\":false,\"role\":\"tab\",\"aria-selected\":false,\"aria-current\":\"$undefined\",\"className\":\"relative inline-flex items-center gap-x-2 min-h-11 text-[14px] capitalize whitespace-nowrap transition-colors text-muted-foreground hover:text-foreground\",\"children\":[\"changes\",null]}]]}]}],[\"$\",\"section\",null,{\"className\":\"flex flex-col gap-y-3\",\"children\":[[\"$\",\"div\",null,{\"className\":\"-mb-1 flex items-center justify-end gap-x-4\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"sr-only\",\"children\":\"Readme\"}],[\"$\",\"a\",null,{\"href\":\"https://api.workers.iii.dev/k/iii/deepwork/readme?version=0.3.0\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"className\":\"inline-flex min-h-8 items-center gap-x-[7px] text-[13px] font-medium text-foreground transition-colors hover:text-brand\",\"children\":[\"Open as markdown\",\"$L37\"]}]]}],\"$L38\"]}],null,null,null,null,null]}],\"$L39\"]}]}]\n"])</script><script>self.__next_f.push([1,":HL[\"https://iii.dev/docs/_mintlify/favicons/motiadev/AFkVbz_UcSL_5jsm/_generated/favicon/apple-touch-icon.png\",\"image\"]\n3a:T4a7,M5.9199,11.4697 C7.3299,11.4697 8.4599,12.6107 8.4599,14.0307 L8.4599,14.0307 L8.4599,17.4397 C8.4599,18.8497 7.3299,19.9997 5.9199,19.9997 L5.9199,19.9997 L2.5399,19.9997 C1.1399,19.9997 -0.0001,18.8497 -0.0001,17.4397 L-0.0001,17.4397 L-0.0001,14.0307 C-0.0001,12.6107 1.1399,11.4697 2.5399,11.4697 L2.5399,11.4697 Z M17.46,11.4697 C18.86,11.4697 20,12.6107 20,14.0307 L20,14.0307 L20,17.4397 C20,18.8497 18.86,19.9997 17.46,19.9997 L17.46,19.9997 L14.08,19.9997 C12.67,19.9997 11.54,18.8497 11.54,17.4397 L11.54,17.4397 L11.54,14.0307 C11.54,12.6107 12.67,11.4697 14.08,11.4697 L14.08,11.4697 Z M5.9199,-9.32587341e-14 C7.3299,-9.32587341e-14 8.4599,1.15 8.4599,2.561 L8.4599,2.561 L8.4599,5.97 C8.4599,7.39 7.3299,8.53 5.9199,8.53 L5.9199,8.53 L2.5399,8.53 C1.1399,8.53 -0.0001,7.39 -0.0001,5.97 L-0.0001,5.97 L-0.0001,2.561 C-0.0001,1.15 1.1399,-9.32587341e-14 2.5399,-9.32587341e-14 L2.5399,-9.32587341e-14 Z M17.46,-9.32587341e-14 C18.86,-9.32587341e-14 20,1.15 20,2.561 L20,2.561 L20,5.97 C20,7.39 18.86,8.53 17.46,8.53 L17.46,8.53 L14.08,8.53 C12.67,8.53 11.54,7.39 11.54,5.97 L11.54,5.97 L11.54,2.561 C11.54,1.15 12.67,-9.32587341e-14 14.08,-9.32587341e-14 L14.08,-9.32587341e-14 Z30:[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 24 24\",\"width\":\"1em\",\"height\":\"1em\",\"fill\":\"currentColor\",\"focusable\":\"false\",\"aria-hidden\":\"true\",\"className\":\"shrink-0 text-foreground size-3.5\",\"children\":[\"$\",\"g\",null,{\"transform\":\"translate(2 2)\",\"children\":[\"$\",\"path\",null,{\"d\":\"$3a\"}]}]}]\n31:[\"$\",\"span\",null,{\"className\":\"text-[12px] font-medium leading-none text-muted-foreground\",\"children\":\"Kit\"}]\n32:[\"$\",\"span\",null,{\"aria-hidden\":true,\"className\":\"text-muted-foreground/60\",\"children\":\"·\"}]\n3b:T5da,"])</script><script>self.__next_f.push([1,"M15.5837 10.5577L11.5107 14.6327C11.3697 14.7737 11.1787 14.8527 10.9797 14.8527C10.7807 14.8527 10.5897 14.7737 10.4497 14.6327L8.47274 12.6527C8.18075 12.3587 8.18075 11.8837 8.47375 11.5907C8.76775 11.2987 9.24174 11.2997 9.53475 11.5917L10.9807 13.0407L14.5227 9.49667C14.8157 9.20367 15.2907 9.20367 15.5837 9.49667C15.8767 9.78967 15.8767 10.2647 15.5837 10.5577ZM20.7037 10.0857L20.0047 9.38667C19.6857 9.06667 19.5107 8.64067 19.5107 8.18967V7.18967C19.5107 5.70067 18.2987 4.48967 16.8107 4.48967H15.8087C15.3557 4.48967 14.9307 4.31467 14.6127 3.99667L13.9017 3.28667C12.8447 2.23867 11.1327 2.24367 10.0837 3.29767L9.38674 3.99667C9.06574 4.31567 8.64075 4.49067 8.18875 4.49067H7.18775C5.71675 4.49167 4.51675 5.67567 4.48975 7.14167C4.48874 7.15767 4.48775 7.17367 4.48775 7.19067V8.18767C4.48775 8.63967 4.31275 9.06467 3.99375 9.38367L3.28575 10.0927C3.28475 10.0957 3.28175 10.0967 3.27975 10.0987C2.23475 11.1567 2.24375 12.8687 3.29675 13.9117L3.99575 14.6127C4.31375 14.9317 4.48975 15.3557 4.48975 15.8077V16.8127C4.48975 18.3007 5.69975 19.5117 7.18775 19.5117H8.18675C8.63975 19.5127 9.06475 19.6877 9.38275 20.0047L10.0957 20.7157C10.6037 21.2207 11.2777 21.4987 11.9947 21.4987H12.0067C12.7277 21.4957 13.4037 21.2117 13.9097 20.7027L14.6107 20.0027C14.9257 19.6887 15.3617 19.5087 15.8067 19.5087H16.8127C18.2977 19.5087 19.5087 18.2997 19.5117 16.8127V15.8097C19.5117 15.3587 19.6867 14.9337 20.0037 14.6147L20.7147 13.9037C21.7647 12.8477 21.7587 11.1347 20.7037 10.0857Z"])</script><script>self.__next_f.push([1,"33:[\"$\",\"$L13\",null,{\"href\":\"/kits/iii\",\"className\":\"group inline-flex items-center gap-x-2 min-w-0\",\"children\":[[\"$\",\"img\",null,{\"src\":\"https://iii.dev/docs/_mintlify/favicons/motiadev/AFkVbz_UcSL_5jsm/_generated/favicon/apple-touch-icon.png\",\"alt\":\"\",\"className\":\"size-5 rounded-full object-cover\"}],[\"$\",\"span\",null,{\"className\":\"text-muted-foreground\",\"children\":\"by\"}],[\"$\",\"span\",null,{\"className\":\"font-medium text-foreground transition-colors group-hover:text-brand\",\"children\":\"iii\"}],[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 24 24\",\"width\":\"1em\",\"height\":\"1em\",\"fill\":\"currentColor\",\"focusable\":\"false\",\"aria-hidden\":\"$undefined\",\"className\":\"size-[13px] text-verified\",\"aria-label\":\"Verified author\",\"children\":[\"$\",\"path\",null,{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"$3b\"}]}]]}]\n34:[[\"$\",\"span\",null,{\"aria-hidden\":true,\"className\":\"text-muted-foreground/60\",\"children\":\"·\"}],[\"$\",\"span\",null,{\"className\":\"text-muted-foreground\",\"children\":\"Apache-2.0\"}]]\n35:[\"$\",\"$L13\",\"latest\",{\"href\":\"/kits/iii/deepwork\",\"scroll\":false,\"aria-current\":\"$undefined\",\"className\":\"inline-flex h-[22px] items-center gap-x-1.5 rounded-md border border-line bg-background px-2 font-mono text-[11px] text-muted-foreground transition-colors hover:text-foreground aria-[current=true]:border-[color-mix(in_srgb,var(--foreground)_35%,var(--line))] aria-[current=true]:text-foreground\",\"children\":[\"latest\",[\"$\",\"span\",null,{\"className\":\"tabular-nums text-foreground\",\"children\":\"0.3.0\"}]]}]\n"])</script><script>self.__next_f.push([1,"36:[\"$\",\"div\",null,{\"className\":\"flex flex-wrap items-center gap-1.5 @2xl:ml-auto\",\"children\":[[\"$\",\"$L13\",\"orchestration\",{\"href\":\"/kits?tag=orchestration\",\"className\":\"rounded-md transition-opacity hover:opacity-80 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-brand\",\"children\":[\"$\",\"span\",null,{\"className\":\"inline-flex h-6 items-center rounded-md bg-[color-mix(in_srgb,var(--foreground)_6%,transparent)] px-2 font-mono text-[13px] lowercase text-muted-foreground hover:text-foreground\",\"children\":\"orchestration\"}]}],[\"$\",\"$L13\",\"sub-agents\",{\"href\":\"/kits?tag=sub-agents\",\"className\":\"rounded-md transition-opacity hover:opacity-80 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-brand\",\"children\":[\"$\",\"span\",null,{\"className\":\"inline-flex h-6 items-center rounded-md bg-[color-mix(in_srgb,var(--foreground)_6%,transparent)] px-2 font-mono text-[13px] lowercase text-muted-foreground hover:text-foreground\",\"children\":\"sub-agents\"}]}],[\"$\",\"$L13\",\"kanban\",{\"href\":\"/kits?tag=kanban\",\"className\":\"rounded-md transition-opacity hover:opacity-80 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-brand\",\"children\":[\"$\",\"span\",null,{\"className\":\"inline-flex h-6 items-center rounded-md bg-[color-mix(in_srgb,var(--foreground)_6%,transparent)] px-2 font-mono text-[13px] lowercase text-muted-foreground hover:text-foreground\",\"children\":\"kanban\"}]}],[\"$\",\"$L13\",\"verification\",{\"href\":\"/kits?tag=verification\",\"className\":\"rounded-md transition-opacity hover:opacity-80 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-brand\",\"children\":[\"$\",\"span\",null,{\"className\":\"inline-flex h-6 items-center rounded-md bg-[color-mix(in_srgb,var(--foreground)_6%,transparent)] px-2 font-mono text-[13px] lowercase text-muted-foreground hover:text-foreground\",\"children\":\"verification\"}]}],[\"$\",\"$L13\",\"workflows\",{\"href\":\"/kits?tag=workflows\",\"className\":\"rounded-md transition-opacity hover:opacity-80 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-brand\",\"children\":[\"$\",\"span\",null,{\"className\":\"inline-flex h-6 items-center rounded-md bg-[color-mix(in_srgb,var(--foreground)_6%,transparent)] px-2 font-mono text-[13px] lowercase text-muted-foreground hover:text-foreground\",\"children\":\"workflows\"}]}]]}]\n"])</script><script>self.__next_f.push([1,"37:[\"$\",\"$L16\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$19:props:children:1:props:children:0:props:children:props:children:2:props:iconNode\",\"className\":\"lucide-arrow-up-right size-3.5\",\"aria-hidden\":true}]\n"])</script><script>self.__next_f.push([1,"39:[\"$\",\"aside\",null,{\"className\":\"flex flex-col gap-y-4 @4xl:sticky @4xl:top-20 @4xl:self-start @4xl:max-h-[calc(100dvh-6rem)] @4xl:overflow-y-auto\",\"children\":[[\"$\",\"section\",null,{\"id\":\"$undefined\",\"className\":\"shrink-0 overflow-hidden rounded-xl border border-line bg-paper scroll-mt-20\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex min-h-11 items-center justify-between gap-x-3 border-b border-line px-4\",\"children\":[[\"$\",\"span\",null,{\"className\":\"font-mono text-[10px] uppercase tracking-[0.08em] text-muted-foreground\",\"children\":\"Details\"}],\"$undefined\"]}],[\"$\",\"div\",null,{\"className\":\"p-4 flex flex-col gap-y-3\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-baseline justify-between text-[13px] gap-x-3 min-w-0\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-muted-foreground shrink-0\",\"children\":\"Version\"}],[\"$\",\"span\",null,{\"className\":\"text-foreground truncate text-right min-w-0 font-mono text-[12px] tabular-nums\",\"title\":\"$undefined\",\"children\":[\"v\",\"0.3.0\"]}]]}],[\"$\",\"div\",null,{\"className\":\"flex items-baseline justify-between text-[13px] gap-x-3 min-w-0\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-muted-foreground shrink-0\",\"children\":\"Published\"}],[\"$\",\"span\",null,{\"className\":\"text-foreground truncate text-right min-w-0 font-mono text-[12px] tabular-nums\",\"title\":\"2026-10-16T20:44:56.101Z\",\"children\":\"2026-10-16 · 23h ago\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex items-baseline justify-between text-[13px] gap-x-3 min-w-0\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-muted-foreground shrink-0\",\"children\":\"License\"}],[\"$\",\"span\",null,{\"className\":\"text-foreground truncate text-right min-w-0\",\"title\":\"$undefined\",\"children\":\"Apache-2.0\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex items-baseline justify-between text-[13px] gap-x-3 min-w-0\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-muted-foreground shrink-0\",\"children\":\"Kit ID\"}],[\"$\",\"span\",null,{\"className\":\"text-foreground truncate text-right min-w-0 font-mono text-[12px] tabular-nums\",\"title\":\"iii/deepwork\",\"children\":\"iii/deepwork\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex items-baseline justify-between gap-x-3 min-w-0 text-[13px]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"shrink-0 text-muted-foreground\",\"children\":\"Repo\"}],[\"$\",\"a\",null,{\"href\":\"https://github.com/iii-hq/workers/tree/main/kits/deepwork\",\"target\":\"_blank\",\"rel\":\"noreferrer\",\"className\":\"inline-flex min-w-0 items-center gap-x-1 font-mono text-foreground transition-colors duration-150 hover:text-brand justify-end text-right text-[12px]\",\"children\":[[\"$\",\"span\",null,{\"className\":\"truncate\",\"children\":\"iii-hq/workers/tree/main/kits/deepwork\"}],[\"$\",\"$L16\",null,{\"ref\":\"$undefined\",\"iconNode\":\"$19:props:children:1:props:children:0:props:children:props:children:2:props:iconNode\",\"className\":\"lucide-arrow-up-right size-3 shrink-0\",\"aria-hidden\":true}]]}]]}]]}]]}],null,null,[\"$\",\"section\",null,{\"id\":\"$undefined\",\"className\":\"shrink-0 overflow-hidden rounded-xl border border-line bg-paper scroll-mt-20\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex min-h-11 items-center justify-between gap-x-3 border-b border-line px-4\",\"children\":[[\"$\",\"span\",null,{\"className\":\"font-mono text-[10px] uppercase tracking-[0.08em] text-muted-foreground\",\"children\":\"Author\"}],\"$undefined\"]}],[\"$\",\"div\",null,{\"className\":\"p-4 flex flex-col gap-y-4\",\"children\":[[\"$\",\"$L13\",null,{\"href\":\"/kits/iii\",\"className\":\"group flex items-center gap-x-2.5 min-w-0 text-[13px]\",\"children\":[[\"$\",\"img\",null,{\"src\":\"https://iii.dev/docs/_mintlify/favicons/motiadev/AFkVbz_UcSL_5jsm/_generated/favicon/apple-touch-icon.png\",\"alt\":\"\",\"className\":\"size-7 shrink-0 rounded-full object-cover\"}],[\"$\",\"span\",null,{\"className\":\"flex min-w-0 flex-col\",\"children\":[[\"$\",\"span\",null,{\"className\":\"inline-flex items-center gap-x-1 min-w-0\",\"children\":[[\"$\",\"span\",null,{\"className\":\"truncate font-medium text-foreground transition-colors group-hover:text-brand\",\"children\":\"iii\"}],[\"$\",\"svg\",null,{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 24 24\",\"width\":\"1em\",\"height\":\"1em\",\"fill\":\"currentColor\",\"focusable\":\"false\",\"aria-hidden\":\"$undefined\",\"className\":\"size-[13px] shrink-0 text-verified\",\"aria-label\":\"verified\",\"children\":\"$33:props:children:3:props:children\"}]]}],null]}]]}],null,null]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"3c:T584b,"])</script><script>self.__next_f.push([1,"\u003ch1 id=\"deepwork\" class=\"scroll-mt-20\"\u003edeepwork\u003c/h1\u003e\n\u003cp\u003eGive \u003cstrong\u003eDeepwork\u003c/strong\u003e a goal and a team of agents works it, with the kanban board as the task list:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eDeepwork breaks the goal into tickets.\u003c/li\u003e\n\u003cli\u003eEach ticket gets a lead agent that takes it through its phases with its own sub-agents.\u003c/li\u003e\n\u003cli\u003eLeads run in parallel, in waves.\u003c/li\u003e\n\u003cli\u003eRounds repeat until the goal is done, nothing is left, progress stalls, rounds run out or the budget is spent.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eA goal that changes code in a git repository runs the \u003cstrong\u003edev flow\u003c/strong\u003e. You approve the design and the plan. Each code ticket is written test-first in its own git worktree, with one commit. Every commit is verified and reviewed (with \u003ccode class=\"readme-inline-code\"\u003everify=off\u003c/code\u003e, accepted as written), then landed on the run branch. The whole branch is reviewed, and you choose how it finishes. Other goals (research, reading, analysis) run the \u003cstrong\u003eplain flow\u003c/strong\u003e: you approve the plan and each ticket is worked and verified. When at least two tickets finish with a result, and the run was not stopped, blocked or over budget, one last ticket merges the results into a single verified report that cites the ticket behind every claim (\u003ccode class=\"readme-inline-code\"\u003esynthesize=off\u003c/code\u003e turns it off).\u003c/p\u003e\n\u003cp\u003eDeepwork needs only the \u003ccode class=\"readme-inline-code\"\u003eharness\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003estate\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003ekanban\u003c/code\u003e and \u003ccode class=\"readme-inline-code\"\u003eide\u003c/code\u003e workers.\u003c/p\u003e\n\u003ch2 id=\"profiles\" class=\"scroll-mt-20\"\u003eProfiles\u003c/h2\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eProfile\u003c/th\u003e\n\u003cth\u003eWhat it does\u003c/th\u003e\n\u003cth\u003eModel to pin\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\u003ctr\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003edeepwork\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ethe orchestrator you talk to\u003c/td\u003e\n\u003ctd\u003enone: uses the session\u0026#39;s\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003edeepwork-lead\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eruns one ticket through its phases\u003c/td\u003e\n\u003ctd\u003ea fast, cheap one\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003edeepwork-worker\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eresearch, reading, analysis\u003c/td\u003e\n\u003ctd\u003eoptional\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003edeepwork-impl\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ewrites the failing test and the code, and commits\u003c/td\u003e\n\u003ctd\u003ea strong one\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003edeepwork-adversary\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003everifies and reviews each ticket (the default checker)\u003c/td\u003e\n\u003ctd\u003ea mid-tier one\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003edeepwork-verifier\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ebase of the checkers, used for judges\u003c/td\u003e\n\u003ctd\u003enone: each judge sets one\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\u003c/table\u003e\n\u003cp\u003eEvery profile except \u003ccode class=\"readme-inline-code\"\u003edeepwork\u003c/code\u003e is hidden.\u003c/p\u003e\n\u003ch2 id=\"install\" class=\"scroll-mt-20\"\u003eInstall\u003c/h2\u003e\n\u003cpre\u003e\u003ccode\u003eiii trigger directory::download-kit kit=iii/deepwork apply=true --timeout-ms 1200000\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eSometimes the reply is a plan instead of an install. That happens when there are warnings or decisions, for example a profile with the same id already exists. Review the plan and apply it in the ADE under Directory → Kits, or run:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eiii trigger directory::kits::apply plan_id=\u0026lt;plan_id\u0026gt; --timeout-ms 1200000\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eApplying can take minutes. If the command times out, the apply keeps running, so check Directory → Kits instead of running it again.\u003c/p\u003e\n\u003ch3 id=\"pin-the-models\" class=\"scroll-mt-20\"\u003ePin the models\u003c/h3\u003e\n\u003cp\u003eThe kit ships without models because it can\u0026#39;t know your providers. Add a \u003ccode class=\"readme-inline-code\"\u003emodel: \u003cprovider\u003e::\u003cmodel\u003e\u003c/code\u003e line to these files:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode class=\"readme-inline-code\"\u003eagents/deepwork-lead.md\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode class=\"readme-inline-code\"\u003eagents/deepwork-impl.md\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode class=\"readme-inline-code\"\u003eagents/deepwork-adversary.md\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode class=\"readme-inline-code\"\u003eagents/deepwork-worker.md\u003c/code\u003e (optional)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eUse the \u003ccode class=\"readme-inline-code\"\u003eprovider::model\u003c/code\u003e form so \u003ccode class=\"readme-inline-code\"\u003ereasoning_effort\u003c/code\u003e reaches the provider. Kit updates keep your edits.\u003c/p\u003e\n\u003cp\u003eA tier without its own model uses the one set on Default (\u003ccode class=\"readme-inline-code\"\u003eagents/default.md\u003c/code\u003e). If Default has none, it uses the orchestrator\u0026#39;s model. An unpinned lead spends one turn per phase on that model. With \u003ccode class=\"readme-inline-code\"\u003ejudges=\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003edeepwork-verifier\u003c/code\u003e must resolve no model at all, Default included, or the run won\u0026#39;t start.\u003c/p\u003e\n\u003ch2 id=\"run-it\" class=\"scroll-mt-20\"\u003eRun it\u003c/h2\u003e\n\u003cp\u003eIn the console, pick \u003cstrong\u003eDeepwork\u003c/strong\u003e and type the goal. To change the defaults, add an \u003ccode class=\"readme-inline-code\"\u003eargs:\u003c/code\u003e line:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eAdd per-user rate limits to the login route.\nargs: max_rounds=2 concurrency=4 budget_usd=5\u003c/code\u003e\u003c/pre\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eArg\u003c/th\u003e\n\u003cth\u003eDefault\u003c/th\u003e\n\u003cth\u003eWhat it does\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\u003ctr\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003eflow\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003eauto\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003edev\u003c/code\u003e for code goals in a git repository, \u003ccode class=\"readme-inline-code\"\u003eplain\u003c/code\u003e for the rest. Set it to force one\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003eapprove\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eon\u003c/td\u003e\n\u003ctd\u003ewaits for you on open design questions and on the plan, and in the dev flow on the finish. \u003ccode class=\"readme-inline-code\"\u003eoff\u003c/code\u003e runs straight through and keeps the branch\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003esynthesize\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eon\u003c/td\u003e\n\u003ctd\u003ein the plain flow, ends the run with one ticket that merges the done tickets\u0026#39; results into a single report, verified like any other ticket. It runs when at least two tickets are done, and not after a stop, a block or the budget. \u003ccode class=\"readme-inline-code\"\u003eoff\u003c/code\u003e reports per ticket\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003eplan_only\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eoff\u003c/td\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003eon\u003c/code\u003e plans and stops: the run ticket and its cards go on the board, nothing runs. Edit the cards, then start with \u003ccode class=\"readme-inline-code\"\u003eresume=\u003cR\u003e\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003eisolation\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003eticket\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ein the dev flow, each code ticket works in its own worktree, branched from the run branch and landed on it when verified. \u003ccode class=\"readme-inline-code\"\u003eshared\u003c/code\u003e runs every ticket in the run worktree, so tickets that share a file or a test target wait for a later wave\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003emax_rounds\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e3\u003c/td\u003e\n\u003ctd\u003erounds over the queue\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003eattempts\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e2\u003c/td\u003e\n\u003ctd\u003etries per ticket per round. A rejected try is retried with the reasons\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003econcurrency\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e8\u003c/td\u003e\n\u003ctd\u003eleads per wave, at most 8. A ticket waits for its \u003ccode class=\"readme-inline-code\"\u003eDepends on:\u003c/code\u003e tickets. With \u003ccode class=\"readme-inline-code\"\u003eisolation=shared\u003c/code\u003e, tickets that share a file never share a wave\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003everify\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eon\u003c/td\u003e\n\u003ctd\u003echecks each ticket\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003everifier\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003edeepwork-adversary\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ethe checker profile: \u003ccode class=\"readme-inline-code\"\u003edeepwork-adversary*\u003c/code\u003e or \u003ccode class=\"readme-inline-code\"\u003edeepwork-verifier*\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003ejudges\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e–\u003c/td\u003e\n\u003ctd\u003ecomma-separated model ids. One \u003ccode class=\"readme-inline-code\"\u003edeepwork-verifier\u003c/code\u003e per model checks each ticket and the majority wins. At most 7 in the dev flow, 8 in the plain flow\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003edeadline_min\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e20\u003c/td\u003e\n\u003ctd\u003eminutes each phase gets\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003ecritic\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003eon\u003c/td\u003e\n\u003ctd\u003eone last check for anything missing once the queue is empty. In the dev flow, this is the branch review\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003emax_items\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e5 × \u003ccode class=\"readme-inline-code\"\u003econcurrency\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003ethe most tickets a run creates\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003ebudget_usd\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e–\u003c/td\u003e\n\u003ctd\u003esoft cost cap. It is checked before each wave, and no new wave starts once it is reached. A model without catalog pricing, or a call without usage, isn\u0026#39;t counted, so the cap can be overshot\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003enotify\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e–\u003c/td\u003e\n\u003ctd\u003ea function id that gets the final report, such as a Slack or email send\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003eproject\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e–\u003c/td\u003e\n\u003ctd\u003ean existing kanban project (id or name) for the run. Without it, each run creates its own project, \u003ccode class=\"readme-inline-code\"\u003edeepwork: \u003cgoal\u003e · \u003cid\u003e\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003erelease\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e–\u003c/td\u003e\n\u003ctd\u003ean existing kanban release (id or name). Agents can\u0026#39;t create releases\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003eresume\u003c/code\u003e\u003c/td\u003e\n\u003ctd\u003e–\u003c/td\u003e\n\u003ctd\u003ethe key of an earlier run ticket to pick up from the board instead of planning anew (see Resume a run)\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\u003c/table\u003e\n\u003ch3 id=\"hard-cost-cap\" class=\"scroll-mt-20\"\u003eHard cost cap\u003c/h3\u003e\n\u003cp\u003eThe console only has the soft \u003ccode class=\"readme-inline-code\"\u003ebudget_usd\u003c/code\u003e. For a hard cap, start the run from the CLI:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003eiii trigger harness::send --json '{\u0026quot;message\u0026quot;:\u0026quot;\u0026lt;goal + args\u0026gt;\u0026quot;,\u0026quot;model\u0026quot;:\u0026quot;\u0026lt;provider::model\u0026gt;\u0026quot;,\u0026quot;options\u0026quot;:{\u0026quot;agent\u0026quot;:\u0026quot;deepwork\u0026quot;,\u0026quot;max_cost_usd\u0026quot;:5,\u0026quot;max_total_tokens\u0026quot;:2000000}}'\u003c/code\u003e\u003c/pre\u003e\u003cp\u003eYou must pass \u003ccode class=\"readme-inline-code\"\u003emodel\u003c/code\u003e, because the profile sets none. Every model the run uses needs catalog pricing, judges included. The design, plan and finish questions show up in that session in the console. Pass \u003ccode class=\"readme-inline-code\"\u003eapprove=off\u003c/code\u003e to skip them.\u003c/p\u003e\n\u003ch2 id=\"the-dev-flow\" class=\"scroll-mt-20\"\u003eThe dev flow\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003e\u003cp\u003e\u003cstrong\u003eDesign.\u003c/strong\u003e Deepwork reads the repository and asks about anything the code can\u0026#39;t answer. It asks one question at a time and offers two or three options, with its own pick first.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e\u003cstrong\u003ePlan.\u003c/strong\u003e The design goes on the run ticket. Each task becomes a subtask with \u003ccode class=\"readme-inline-code\"\u003eFiles:\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003eTest first:\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003eImplement:\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003eVerify:\u003c/code\u003e and \u003ccode class=\"readme-inline-code\"\u003eCommit:\u003c/code\u003e lines. You answer one card: Start, Stop, or type your changes. If you type changes, Deepwork rewrites the plan and asks again.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e\u003cstrong\u003eWorktree.\u003c/strong\u003e The run gets a new branch, \u003ccode class=\"readme-inline-code\"\u003edeepwork/\u003cslug\u003e\u003c/code\u003e, in \u003ccode class=\"readme-inline-code\"\u003e.worktrees/\u003cslug\u003e\u003c/code\u003e. That folder is excluded locally, so your checkout is untouched. Run Deepwork from the repository\u0026#39;s top folder. The test suite runs once to get a baseline. Each code ticket then works in its own worktree, \u003ccode class=\"readme-inline-code\"\u003e.worktrees/\u003cslug\u003e-\u003ckey\u003e\u003c/code\u003e, on a branch off the run branch. A fresh copy may need an install step before it builds (a Node project): Deepwork reads it from the repository and runs it in each ticket worktree. Build output is never shared between worktrees, so a compiled project builds once per ticket.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e\u003cstrong\u003eCode tickets.\u003c/strong\u003e Each code ticket follows four steps:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eWrite a failing test.\u003c/li\u003e\n\u003cli\u003eWrite the least code that makes it pass, and commit once.\u003c/li\u003e\n\u003cli\u003eVerify and review the commit, side by side. Verify re-runs the \u003ccode class=\"readme-inline-code\"\u003eVerify:\u003c/code\u003e lines. Review checks that the tests are unchanged and nothing outside \u003ccode class=\"readme-inline-code\"\u003eFiles:\u003c/code\u003e moved.\u003c/li\u003e\n\u003cli\u003eLand the commit on the run branch. A conflict with a sibling is a rejection, retried next round on the new base.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eA rejection goes back to the same code session with the reasons. Research tickets in the same run are worked and verified without a commit.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e\u003cstrong\u003eBranch review.\u003c/strong\u003e Once the queue is empty, one reviewer runs the full test suite and the linter and reviews the whole diff. Its findings become tickets for the next round.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e\u003cstrong\u003eFinish.\u003c/strong\u003e You pick one: merge into your branch, push and open a PR, keep the branch, or discard it.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eSub-agents work only inside their worktree. They never push, merge, rebase, reset, switch, stash or clean. Deepwork pushes or merges only when you pick that at the finish. Loose ends the goal doesn\u0026#39;t need become Backlog subtasks labelled \u003ccode class=\"readme-inline-code\"\u003epending\u003c/code\u003e.\u003c/p\u003e\n\u003ch2 id=\"the-board\" class=\"scroll-mt-20\"\u003eThe board\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003e\u003cstrong\u003eRun ticket.\u003c/strong\u003e It is titled \u003ccode class=\"readme-inline-code\"\u003edeepwork: \u003cgoal\u003e\u003c/code\u003e and labelled \u003ccode class=\"readme-inline-code\"\u003edw:run\u003c/code\u003e. Every ticket of the run is its subtask, so its page shows the run\u0026#39;s progress. Each round adds a comment with the cost.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e\u003cstrong\u003eQueue.\u003c/strong\u003e The subtasks in To do are the queue, in board order. In progress means a lead is on the ticket. The session tree shows each lead as \u003ccode class=\"readme-inline-code\"\u003e\u003cKEY\u003e · \u003ctitle\u003e\u003c/code\u003e, with its phases under it.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e\u003cstrong\u003eRoute a ticket.\u003c/strong\u003e Set its assignee to \u003ccode class=\"readme-inline-code\"\u003edeepwork-worker*\u003c/code\u003e or \u003ccode class=\"readme-inline-code\"\u003edeepwork-impl*\u003c/code\u003e. With any other assignee, a ticket that changes code or files runs as \u003ccode class=\"readme-inline-code\"\u003edeepwork-impl\u003c/code\u003e, and any other ticket runs as \u003ccode class=\"readme-inline-code\"\u003edeepwork-worker\u003c/code\u003e. To add your own tier, create \u003ccode class=\"readme-inline-code\"\u003eagents/deepwork-impl-\u003cname\u003e.md\u003c/code\u003e with \u003ccode class=\"readme-inline-code\"\u003eextends: deepwork-impl\u003c/code\u003e (or \u003ccode class=\"readme-inline-code\"\u003edeepwork-worker\u003c/code\u003e) and a \u003ccode class=\"readme-inline-code\"\u003emodel\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e\u003cstrong\u003eChange the plan.\u003c/strong\u003e Tell Deepwork in the chat. It edits the queued subtasks from the next round. Running tickets finish first, then each one gets a follow-up.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e\u003cstrong\u003eSteer between rounds.\u003c/strong\u003e You can:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eadd a subtask on the run ticket and move it to To do;\u003c/li\u003e\n\u003cli\u003ereorder To do;\u003c/li\u003e\n\u003cli\u003ecomment on a ticket to steer its retry;\u003c/li\u003e\n\u003cli\u003emove a Backlog card to To do to run it again.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e\u003cstrong\u003eResume a run.\u003c/strong\u003e If the orchestrator\u0026#39;s session is lost (the console closed it, the engine restarted), start Deepwork again with \u003ccode class=\"readme-inline-code\"\u003eargs: resume=\u003cR\u003e\u003c/code\u003e. It adopts the run ticket: the goal, args, branch and worktree come from the card, In progress tickets whose lead is gone go back to To do, and the rounds continue from where they stopped; \u003ccode class=\"readme-inline-code\"\u003emax_rounds\u003c/code\u003e then counts the rounds this resume runs. A finished run can be resumed the same way once you move cards to To do, as long as its worktree still exists.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e\u003cstrong\u003eSkip a ticket.\u003c/strong\u003e Move it from To do to Backlog. Don\u0026#39;t drag In progress cards, because Deepwork\u0026#39;s next write overrides your move. Deleting a card removes it from the run.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e\u003cstrong\u003eOutcomes.\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDone tickets carry \u003ccode class=\"readme-inline-code\"\u003everified\u003c/code\u003e or \u003ccode class=\"readme-inline-code\"\u003eaccepted\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eBacklog tickets carry \u003ccode class=\"readme-inline-code\"\u003eblocked\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003efailed\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003eunverified\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003eunfinished\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003estuck\u003c/code\u003e or \u003ccode class=\"readme-inline-code\"\u003epending\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eTickets dropped from the plan are \u003ccode class=\"readme-inline-code\"\u003ecanceled\u003c/code\u003e and go to the board\u0026#39;s canceled column. Older boards may lack one: add it in the Kanban settings. Otherwise those tickets go to Backlog with the \u003ccode class=\"readme-inline-code\"\u003ecanceled\u003c/code\u003e label.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eDeepwork only changes these outcome labels, so your own labels stay.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"prerequisites\" class=\"scroll-mt-20\"\u003ePrerequisites\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cp\u003e\u003cstrong\u003ekanban\u003c/strong\u003e with the default columns: ids \u003ccode class=\"readme-inline-code\"\u003ebacklog\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003etodo\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003ein_progress\u003c/code\u003e and \u003ccode class=\"readme-inline-code\"\u003edone\u003c/code\u003e, and \u003ccode class=\"readme-inline-code\"\u003edone_status: done\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e\u003cstrong\u003estate\u003c/strong\u003e with the defaults: the kv adapter (redis won\u0026#39;t work), \u003ccode class=\"readme-inline-code\"\u003estore_method: file_based\u003c/code\u003e and \u003ccode class=\"readme-inline-code\"\u003etriggers_enabled: true\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e\u003cstrong\u003eharness\u003c/strong\u003e with \u003ccode class=\"readme-inline-code\"\u003emax_depth\u003c/code\u003e of at least 3 and \u003ccode class=\"readme-inline-code\"\u003emax_children\u003c/code\u003e of at least \u003ccode class=\"readme-inline-code\"\u003econcurrency\u003c/code\u003e. The defaults, 3 and 8, are enough.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e\u003cstrong\u003eApproval rules.\u003c/strong\u003e These functions must run without a prompt:\u003c/p\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eWho\u003c/th\u003e\n\u003cth\u003eFunctions\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\u003ctr\u003e\n\u003ctd\u003ethe harness\u003c/td\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003estate::barrier\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eorchestrator\u003c/td\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003eharness::spawn\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003eharness::metrics\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003eharness::stop\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003estate::compare-and-set\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003ekanban::ticket::list\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003ekanban::project::create\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003eshell::exec\u003c/code\u003e, plus \u003ccode class=\"readme-inline-code\"\u003edirectory::agents::get\u003c/code\u003e with \u003ccode class=\"readme-inline-code\"\u003ejudges=\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eleads\u003c/td\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003eharness::spawn\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003eharness::status\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003eharness::stop\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003eengine::register_trigger\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003estate::list\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003estate::compare-and-set\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003ekanban::comment::create\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ephase sub-agents\u003c/td\u003e\n\u003ctd\u003e\u003ccode class=\"readme-inline-code\"\u003estate::compare-and-set\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003ekanban::ticket::get\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003ekanban::comment::create\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003eshell::exec\u003c/code\u003e, \u003ccode class=\"readme-inline-code\"\u003ecoder::read-file\u003c/code\u003e, plus whatever the work needs. \u003ccode class=\"readme-inline-code\"\u003edeepwork-impl\u003c/code\u003e also needs \u003ccode class=\"readme-inline-code\"\u003ecoder::create-file\u003c/code\u003e and \u003ccode class=\"readme-inline-code\"\u003ecoder::update-file\u003c/code\u003e. Checkers, and the worker of the plain flow\u0026#39;s synthesis ticket, also need \u003ccode class=\"readme-inline-code\"\u003estate::get\u003c/code\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\u003c/table\u003e\n\u003cp\u003eA phase call that waits for approval parks its ticket as \u003ccode class=\"readme-inline-code\"\u003eblocked\u003c/code\u003e. If every lead in a wave waits for approval, the run ends as \u003ccode class=\"readme-inline-code\"\u003eblocked\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e\u003cstrong\u003e\u003ccode class=\"readme-inline-code\"\u003eharness::stop\u003c/code\u003e.\u003c/strong\u003e The repository rules (\u003ccode class=\"readme-inline-code\"\u003eiii-permissions.yaml\u003c/code\u003e) deny it with a \u003ccode class=\"readme-inline-code\"\u003e'!harness::stop'\u003c/code\u003e line. To allow it, remove that line and add \u003ccode class=\"readme-inline-code\"\u003e- harness::stop\u003c/code\u003e. An allow above the deny line is not enough, because the console makes every deny rule session-wide. If you keep the deny, leads that time out are parked as \u003ccode class=\"readme-inline-code\"\u003estuck\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e\u003cstrong\u003eProject creation.\u003c/strong\u003e The repository rules allow a \u003ccode class=\"readme-inline-code\"\u003ekanban::project::create\u003c/code\u003e whose \u003ccode class=\"readme-inline-code\"\u003elead\u003c/code\u003e is \u003ccode class=\"readme-inline-code\"\u003edeepwork\u003c/code\u003e (rule \u003ccode class=\"readme-inline-code\"\u003edeepwork-run-project\u003c/code\u003e). With older rules, add that rule or pass \u003ccode class=\"readme-inline-code\"\u003eproject=\u003c/code\u003e. If the create is refused, the run goes on without a project.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003e\u003cstrong\u003eTrust.\u003c/strong\u003e Any agent that can create or update kanban tickets can add a subtask to the run ticket. That subtask then runs with the orchestrator\u0026#39;s permissions.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"how-it-works\" class=\"scroll-mt-20\"\u003eHow it works\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003e\u003cp\u003eEach round takes the run ticket\u0026#39;s To do subtasks and runs them in waves of \u003ccode class=\"readme-inline-code\"\u003econcurrency\u003c/code\u003e leads.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eFor each wave, the orchestrator moves the tickets to In progress and spawns one \u003ccode class=\"readme-inline-code\"\u003edeepwork-lead\u003c/code\u003e per ticket. It then waits on one \u003ccode class=\"readme-inline-code\"\u003estate::barrier\u003c/code\u003e wake with a deadline.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eEach lead does the same for its phases: one sub-agent per phase and one barrier to wait on. It retries rejected attempts, then writes one result to state.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eThe orchestrator wakes once, when every lead has written or the deadline passes. A lead with no valid result is stopped, and its ticket is retried next round. If the lead can\u0026#39;t be stopped, the ticket is parked as \u003ccode class=\"readme-inline-code\"\u003estuck\u003c/code\u003e. Background \u003ccode class=\"readme-inline-code\"\u003eshell::exec_bg\u003c/code\u003e jobs keep running after a stop.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eVerified and accepted tickets go to Done. Failed ones go back to To do while rounds remain, and the rest go to Backlog.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cp\u003eThe run ends when one of these happens:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003erounds run out;\u003c/li\u003e\n\u003cli\u003enothing is left;\u003c/li\u003e\n\u003cli\u003eprogress stalls;\u003c/li\u003e\n\u003cli\u003ethe budget is spent;\u003c/li\u003e\n\u003cli\u003eapprovals block it;\u003c/li\u003e\n\u003cli\u003eyou stop it.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe report goes on the run ticket, into the chat and to \u003ccode class=\"readme-inline-code\"\u003enotify\u003c/code\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eResults go through \u003ccode class=\"readme-inline-code\"\u003estate\u003c/code\u003e rather than kanban events. State has compare-and-set, and a kanban outage won\u0026#39;t lose results.\u003c/p\u003e\n\u003cp\u003eNot yet: a hard cost cap from the console.\u003c/p\u003e\n"])</script><script>self.__next_f.push([1,"38:[\"$\",\"div\",null,{\"className\":\"overflow-hidden rounded-xl border border-line bg-background\",\"children\":[[\"$\",\"div\",null,{\"className\":\"bg-panel flex min-h-11 items-center justify-between gap-x-3 border-b border-line px-5 sm:px-6\",\"children\":[[\"$\",\"span\",null,{\"className\":\"truncate font-mono text-[10px] uppercase tracking-[0.08em] text-muted-foreground\",\"children\":\"README.md\"}],null]}],[\"$\",\"div\",null,{\"className\":\"readme-prose px-5 py-6 sm:px-8 sm:py-7\",\"dangerouslySetInnerHTML\":{\"__html\":\"$3c\"}}]]}]\n"])</script></body></html>