It never touches the branch you are working on, and it never pushes code that does not compile.
Mention it on a task. It takes a clean copy of your default branch, writes the change there, runs your own type-check and build against it, and fixes what it broke before anybody sees it. What arrives is a pull request with a transcript.
Starts in a clean git worktree. Your local branch is never touched.
Mention @Claude on KITE-142. The runner fetches origin/main, creates an isolated git worktree in /tmp/td-worktree-kite-142 on branch claude/kite-142-safari-session, and checks project_repo_map before editing.
export async function hydrateCartSession(req: Request) { const cookie = req.headers.get('cookie') ?? ''; const token = parseSessionToken(cookie); if (!token) return createEmptySession(); const persisted = await kv.get<CartPayload>(`cart:${token}`); const persisted = await kv.get<CartPayload>(`cart:${token}`, { cache: 'no-store', // Avoid Safari ITP stale disk cacheThe harness records that src/lib/checkout/session.ts was read prior to editing. Lockfiles, .env, and GitHub workflows are blocked at the runner layer.
}); return { token, items: persisted.items, updatedAt: Date.now() };}It reads your brief, then reads the diff, and tells you where they disagree.
A developer changed one number that nobody asked them to change. A type-check passes it, a linter passes it, a reviewer skimming eleven lines passes it — and the client's recurring margin quietly drops five points.
Brief on ARBR-088: 'Adjust mobile drawer spacing on the subscription roast selector and keep the existing 10% recurring subscriber discount unchanged.'
export function computeSubscriptionPrice(baseCents: number, isSubscriber: boolean) { if (!isSubscriber) return baseCents; const discountRate = 0.10; // Standard 10% subscriber tierTask brief ARBR-088 explicitly states: 'keep the existing 10% recurring subscriber discount unchanged.' This diff changes discountRate from 0.10 to 0.15, which alters recurring margin without a Change Order.
Revert line 23 to const discountRate = 0.10; or split promo pricing into a separate scoped task.
const discountRate = 0.15; // Bumped for autumn promo testTask brief ARBR-088 explicitly states: 'keep the existing 10% recurring subscriber discount unchanged.' This diff changes discountRate from 0.10 to 0.15, which alters recurring margin without a Change Order.
return Math.round(baseCents * (1 - discountRate));}export function RoastDrawerHeader({ title }: { title: string }) { return <header className="px-3 py-2 border-b border-border">{title}</header>;Mobile drawer header padding updated (px-4 py-3.5) as requested in ARBR-088 design spec.
return <header className="px-4 py-3.5 border-b border-border">{title}</header>;Mobile drawer header padding updated (px-4 py-3.5) as requested in ARBR-088 design spec.
}Read the diff, the checks and the build without leaving the task.
export async function hydrateCartSession(req: Request) {39export async function hydrateCartSession(req: Request) { const cookie = req.headers.get('cookie') ?? '';40 const cookie = req.headers.get('cookie') ?? ''; const token = parseSessionToken(cookie);41 const token = parseSessionToken(cookie); if (!token) return createEmptySession();42 if (!token) return createEmptySession(); const persisted = await kv.get<CartPayload>(`cart:${token}`);43 const persisted = await kv.get<CartPayload>(`cart:${token}`, {44 cache: 'no-store', // Avoid Safari ITP stale disk cache45 });46 if (!persisted) return createEmptySession(token); return { token, items: persisted.items, updatedAt: Date.now() };47 return { token, items: persisted.items, updatedAt: Date.now() };}48}- Export signature stabilityhydrateCartSession(req: Request) return shape unchanged across 4 callers
- Strict null narrowingpersisted narrowed from CartPayload | null before property access .items
- allowedEdits & sensitive path guardFile read recorded in session transcript · 0 forbidden imports
The same editor your team opens from the task card. Nothing is downloaded, and nobody needs a local checkout to read what the agent did.
Three files, a split diff, and the checks the run actually performed — the export signature compared across every caller, the null narrowing that fixed the Safari bug, and the record proving no lockfile, workflow or environment file was touched.
Review documents live beside the code they are about, so the sign-off and the diff are never two different conversations.
Open the studio at seven. Everything is already in sync.
Free to start • the first person to sign up runs the organisation