Field notes · parallel coding agents

Parallel coding agents, personal rules.

Operationalizable rules for solo parallel coding-agent work. Synthesised from the cognitive-psychology and human-factors literature (Leroy, Mark, Endsley, Parasuraman, Bainbridge) and a 2025-26 practitioner survey (Huntley, Vincent, Cherny, Osmani, Sankalp, Sakasegawa, Daxia, Debois).

based on: cognitive-science + human-factors lit + a 2025-26 operator survey status: hypothesis-tier
Caveat · audit data missing

The one-week self-audit these rules were supposed to rest on was never logged. Zero daily rows. The numbers below come from the convergence of the literature and the operator survey, not from logged personal behaviour. Treat them as hypothesis-tier, to re-check against a real logging window.

The numbers, headline.

Max interactive sessions
2
soft cap, deeply attended
Max background jobs
15+
fire-and-forget, Debois ceiling
Audit days logged
0/7
N=1 gap, open

Where the cap=2 comes from.

Interactive sessions, per operator.

Each operator's stated soft-cap on deeply-attended interactive sessions. The line at x=2 is where independent reports converge before any operator pushes higher.

cap = 2 (convergence) 0 1 2 3 4 5 6 10 15+ concurrent sessions Osmani (1+1 review) 2 Sankalp (60% rotate) ~2 Daxia (3 worktrees) 3 Vincent (3-4 tasks) 4 Cherny (5 tabs, mixed) 5 fire-and-forget territory Huntley (4-6 headless) 6 Devin (1 mgr + 10) 10 Debois (15 specialised) 15

Five hard rules.

1

Max 2 deeply attended interactive sessions concurrently.

Everything else is either a fire-and-forget bg job or queued. When a third "I'll just check on this" session appears, triage on the spot: promote one to bg-job (with clear hand-off prompt) or park one explicitly. The binding constraint is the human review pipeline, not the session count.

anchor · Osmani, Vincent, Daxia, Sankalp convergence
2

Every spawn gets a one-line intent header.

First message of any session: intent: <verb> <object> — <expected end-state>. Re-orientation budget is 10 seconds. Skipping this is the quiet-session-blackhole default, Bainbridge irony 2 plus Strayer inattentional blindness.

anchor · Leroy 2018 externalization
3

60-second ready-to-resume note before switching away.

Three lines, typed into the session chat (not a separate notes file): where you left off, what's blocked, next concrete step on return. The cost of skipping isn't measured at the transition, it's residue on the next session for the full intervening window.

anchor · Leroy & Glomb 2018, n=202+66+44
4

Notification batching during named focus blocks.

Inside a named focus block (deep code work, writing, planning): only "needs input" alerts from the active session stay live. Non-urgent pings defer, everything else queues until the block ends.

anchor · Sakasegawa Patrol Agent pattern
5

Finish if you're under two minutes from a natural stopping point.

Completed tasks produce measurably less residue than interrupted ones, and "perception of incompleteness" is what drives the carryover (Leroy 2009). The 2-minute window is the rough threshold where staying costs less than residue + ready-to-resume note + re-entry. Past two minutes, do rule 3 and switch cleanly. Don't tell yourself "I'm almost done" past that line.

anchor · Leroy 2009 incompleteness driver

Decision table.

Task type Parallelize? Cap Why
Long bg jobs
research dispatch, transcribe, summarize URL, dependency upgrade
yes none Fire-and-forget. Review cost is flat at terminal state, no in-flight Level-2 SA needed.
Code back-and-forth
interactive debug, live refactor, paired implementation
no 1 Continuous Level-2 SA needed. Any switch maxes attention residue, review bottleneck is the binding constraint.
Independent research
literature scan, product comparison, knowledge-base sweep
yes-with-cap 2–3 Output read at end, low residue if no time pressure. Matches Sankalp pre-implementation pattern.
Vault edits
filing, knowledge save, link audit, frontmatter sweep
yes-with-cap 2 Mechanical, low review cost. Same-file collisions are likely, isolate by folder (Veske file-boundary rule).
Meeting prep
1-1, all-hands, prep doc drafting
no 1 Prevention-framed under time pressure equals max residue (Leroy 2016). Synthesis quality degrades fast under split attention.
Multi-repo coordination
cross-PR review, merge audit, monorepo restructure
no 1 Cross-file dependencies equal highest review cost. Inattentional-blindness risk highest here, Willison's "parallel agent psychosis" case.
Infra / k8s ops
prod kubectl, doctl mutations, DB migrations
no 1 High blast radius plus complacency trap (Parasuraman). Demands single-threaded vigilance. This is where automation bias misses subtle wrong choices.
Meta-work
skill writing, CLAUDE.md edits, vault structure refactor
yes-with-cap 2 Like notes edits with higher recursion risk. Never edit your global agent config from a session that is also shipping live code.

Failure-mode index.

Symptom
"I had a session running but forgot what it was doing."
Mode
quiet-session-blackhole
Counter-move
Add intent-header (rule 2) retroactively; check claude --resume.
Symptom
"This session has been working great so I let it ship a sketchy change."
Mode
reliability trap / automation bias
Counter-move
Read every diff regardless of session track record. Never auto-merge.
Symptom
"I switched away and the next session felt foggy for an hour."
Mode
mid-run abandonment residue
Counter-move
Ready-to-resume note (rule 3) before switching, or finish the open loop first.
Symptom
"I'm watching six terminals and nothing is moving fast."
Mode
parallel agent psychosis
Counter-move
Demote three to bg-job, kill one, focus on the remaining two.
Symptom
"I accepted Claude's architectural suggestion without really reading it."
Mode
automation bias
Counter-move
Architect/implementer split (Vincent pattern). Never let the same session both propose and ship.

Open numerical questions.

Max spawns per hour.

No defensible number until logged. Provisional working figure: 4 to 6 spawns per focused hour, of which at most 2 are interactive. Re-validate.

Daily reflection cadence.

End-of-day prompts might help. Without weeks of data on whether they surface patterns, leave it optional and fold into an existing daily or end-of-session routine rather than building a separate ritual.

Whether interactive cap should flex up for code-similar tasks.

Switch costs scale with task dissimilarity (2024 parametric extension). Two backend refactor sessions on adjacent files might be cheaper to attend in parallel than one backend plus one creative-writing. The cap could be context-sensitive, but the practitioner data doesn't separate these. Open.