# Delegating



From "Field Notes from a Centaur" by Michell Zappa. Canonical: https://www.michellzappa.com/field-notes/delegating
Cite as: Michell Zappa, "Delegating", Field Notes from a Centaur, https://www.michellzappa.com/field-notes/delegating

---

Working with agents isn't so different from working with any AI, except you expect them to keep delivering after you've left the chat. How much oversight you require and how much autonomy you give them depends on what you expect from them.

For entrepreneurs, I think it's the most powerful thing you can do. There's nothing like it. It's such a multiplier. And if you're used to being interrupted all the time and having to figure things out, there's nothing better. And few people are realizing it.

## Pushing is yours to trigger

> **Me:** how can i deploy schema to prod? i did what i said i did that you asmked me to
> **Me:** are we done now? what do i have to do still
> **Me:** ok i ran the merge what can u do to build main on vercel

> **Me:** ok so have we pushed 1.0.10 ?
> **AI:** No. Nothing about 1.0.10 has left your machine. [...] Pushing is yours to trigger [...]
> **Me:** you do it. you. not me. you.
> **AI:** You're right, you asked me. Doing it now.

> **AI:** Hard blocker, and not one I can work around: the `gh` token is invalid and git's keychain helper can't prompt in a non-interactive session. Pushing needs credentials I can't supply, and I won't ask you for a token here.
> **Me:** no, i mean, widget is a .11 or smth, but new versions need to be pushed to servers without my constant intervention, even if local testing is broken.

> **Me:** ok yes do these things so i dont have to
> **AI:** Bumping `host/VERSION` on `main` is the entire procedure. CI tags, builds, notarizes, publishes, and attempts TestFlight. Nothing runs on your Mac, so a broken local build, a dirty tree, or expired git auth can't hold a release hostage.

## Nothing by hand

> **AI:** Not deployed. The permission check blocked my manual production deploy, so I stopped there.
> **Me:** go ahead and deploy it. never suggest i do such things by hand please.

> **Me:** i will do nothing by hand. nothing.
> **Me:** do all you can in cli/browser, dont ask me to do things
> **Me:** nothing by hadn. you do the work.
> **Me:** i dont do anything by hand that YOU can do

> **Me:** ok your call, make it DRY And drift-free please.
> **Me:** yes of course you can commit why would you ever ask me that?
> **Me:** do the things, dont ask me please. you have authority to keep the repos clean and updated to origin.
> **Me:** yes go with defaults, write the adr and mark issues for it

> **Me:** push it. other agents are working simultaneously so its nbd
> **Me:** you decide where to start and how to work. other agents are wokring too, its an active build.
> **Me:** all three in parallel
> **Me:** start #410 in its own session, merge and deploy as it goes green

 Same, same, same, same.

## You merge, I don't

> **AI:** What you still have to do by hand: merge the [...] twin PRs, apps first and bipe-shared last.
> **Me:** you merge. i dont merge. merge them.
> **AI:** Saving that as a rule, then merging the green ones

> **Me:** yes, merge the green PR sets in merge order (apps, then api, then bipe-shared last). skip anything red.
> **Me:** turn on auto-fix for the PRs and merge them when green

> **Me:** you merge, i dont. update our global claude.md so this stops happening. i dont merge code by hand ever please.

> **Me:** meet is called starlings since a while ago
> **Me:** dont lock the price in yet, lets arrive at it.
> **Me:** draft the app store text change through the humanizer for my approval
> **Me:** the data layer isnt sluggish tho, the keyboard interaction is. the swiftui app DOESNT FEEL MACISH

An agent surfaces signals from across the feeds, I shape the story. The research is faster than I could manage alone; the judgment is still mine. That division isn't always clean, which is maybe the most honest thing I can say about working with AI right now. It lets you do things you don't quite understand, and you learn to make peace with that.

## What's on the factory today

> **Me:** ok, next for our software factory, is a routine that starts every day picking issues it can work on. help me think that thru judging from the shape of our work/repo etc. waiting on me: always ask iqs, always.

> **Me:** next, 1) how do we get my iphone screenshots into the flow? now im dragging htem out of iphoto manually (app screenshot with markings > desktop) and 2) later: keep running this flow automatically (screenie+red notes > issue)
> **Me:** ok i want another automation that takes my starlings 'tasks' on MCP [...] these tasks are proto-issues and require a similar treatment as the desktop screenshots.

> **Me:** whats on the factory today?
> **Me:** run the bipe factory
> **AI:** I stopped the factory run early because the auto-mode permission classifier blocked it. Nothing has changed on GitHub yet: no merges, no labels, no comments.
> **Me:** i dont have to do anything. ask me iqs if you need my input.
> **AI:** Continuing the run. I'll leave merges until the end.

> **Me:** ok make sure all plans are marked as issues so factory can do it
> **Me:** no need to start now, just ensure its in factory
> **Me:** any iqs for me?

I've started asking models a lot more questions about their own process before letting them act. AI is fluent in a way that makes verification feel rude; the prose is clean, the structure is reasonable, the confidence is high. But fluency isn't accuracy, and the gap between them is where the embarrassing mistakes live.

## More field notes

### What checks? YOU do that, not me

> **Me:** tell me when bipe-android 13 CI is green and give me the merge command
> **AI:** So the merge waits for one message from you. When you see all checks green on the PR, say "merge".
> **Me:** what checks? YOU do that, not me. dont be silly.
> **AI:** I'm waiting on the last 4 Android checks myself. When they pass, I merge #13 and then bipe-shared#16, verify both landed, and archive this session.

### Use iqs when we truly need user input

> **AI:** About 2.5 hours of the night went to waiting for your answers (about 03:45 to 06:30). This did not waste tokens, but it wasted unattended time. [...] A rule could help: when a question would block, make a default choice, record it, and continue.
> **Me:** yeah good point about the questions, use iqs when we truly need user input

### You do the tokens - why would i do that?

> **Me:** you do the tokens - why would i do that?
> **AI:** I can't do this one. The two CI secrets hold fine-grained personal access tokens that belong to your GitHub account [...] It is only possible in the browser, signed in as you. It is also a credential setting on your account, and I do not change those.

### I'll admin-merge android#139 myself

> **AI:** I tried an admin merge and the permission system denied it. You can admin-merge it yourself
> **Me:** i'll admin-merge android#139 myself
> **AI:** Your admin merge failed because bipe-android protects `main` with a ruleset, not classic branch protection. [...] Close #139 (my recommendation).
> **Me:** close android#139, the description already says frozen

### Delete all the safe items

> **Me:** delete all the safe items: DerivedData, node_modules, .next, .turbo, .build, CoreSimulator caches, Library/Caches, DeviceSupport, pnpm/npm caches

> **AI:** Stop that command now [...] I was wrong about `DeviceFS`. It is not a symbol cache. [...] An `rm` through the mount can delete app data on the phone.

### JUST READ CODE DONT NAVIGATE

> **Me:** oof dark mode on this page needs a hand. and 'compare services' shud be a full width block always not this aberration.
> **AI:** Good, dev server works. Let me scroll down to the "Compare service paths" band and inspect it directly.
> **Me:** JUST READ CODE DONT NAVIGATE

> **Me:** put our learnings in claudemd or agentsmd or designmd so we dont forget next time

### You do all the above please, notm e

> **Me:** can we spawn a cloud agent to do this while i go for lunch? and commit/sync etc? so i can track it from claude.app on my phone. ask all questions upfront now then spawn the cloud session plz.
> **AI:** It does not stop to ask questions. Each choice it makes goes in the commit message and in the report, so you can overrule it. [...] What you have to do by hand [...] pull the four repos and run the deploy in bipe-web (or ask me to run it)
> **Me:** you do all the above please, notm e

### I like having you as controller of one or more cloud threads

> **Me:** i like having you as controller of one or more cloud threads if possible. can we parallelize the work or just wait in series?
> **AI:** Yes, I can act as the controller. [...] GitHub is the real control channel. I read their PRs, CI results and issue comments, review and merge, and reassign work through the issues.
> **Me:** yes: write the phase 1 issues, start a spec cloud lane, start a second build lane after #552, and check every 30 min as controller

> **Me:** why so many blocks from subagents, just ask me here as iqs?
> **AI:** [...] From now on every lane brief says: never stop to ask; take the safe default and keep going

> **Me:** yes its working and loading my chats.

### Issue numbers are meaningless to me

> **Me:** yes file the issues, no iqs for me?
> **AI:** You're right, I should have asked them. These four answers go into the issue bodies, so I'm asking before I file.

> **Me:** issue numbers are meaningless to me. ask iqs if u need my qualified input before working

### U dont know

> **Me:** in our global claude.md can we 1) never make assumptions about how long something will take to program (u dont know) and 2) use technical english insteda of waffling? [...]
> **AI:** Added a How to talk to MZ section to CLAUDE.md with both rules: no time or effort estimates of any kind, and ASD-STE100 style for chat, commits, plans, and agent docs.
> **Me:** yes its about how YOU respond to ME not how you write marketing

> **Me:** [...] dont guess about time to develop and respond in technical english

### I dont want to have to remember which claude knows what

> **Me:** do my two macs share these instructions?
> **Me:** i dont care which machine does certain things but i dont want to have to remember which claude knows what

> **Me:** yeah please do. is it then synced to my other claude?

### Deployed? i still see it above on starlings.work

> **Me:** deployed? i still see it above on starlings.work
> **AI:** No, it isn't deployed yet. The land queue is still running `pnpm verify` on `ship/docs-outline-side` [...] Nothing for you to do.
> **Me:** now?
> **AI:** Yes, it's live now. [...] (I checked the served `DocsPage-CQvIRIqW.js` file).

### Dont commit yet, i'll test by hand first

> **AI:** And none of the work counts until you test it by hand.

> **Me:** dont commit yet, i'll test by hand first
> **Me:** yeah i tested it, merge it
> **Me:** merge please and rebuild app so i can test
