CAMERON WESTLAND

My Corner of the Web

The Externality of AI Velocity

Date:

TL;DR — LLMs can turn a spoken outline into a 500-line plan in minutes, but the time you save up front can re-appear downstream as reviewer pain. My six-minute, AI-generated Dagster plan cost a teammate an hour of forensic code review—proof that velocity has externalities. Collapse the slop, flag uncertainties, and optimise for their minutes before you open the PR.

When vibe-coding dumps waste in the review river

I’m power-walking along Sunnyside, headset on, dictating a product spec while an LLM dutifully turns my ramble into prose.

Ten minutes later GitHub shows a new branch with spec.md. Zero keystrokes, zero context-switches, full flow-state.

AI velocity feels glorious.

Forty-eight hours later Sam is fifty comments deep on my pull request, dissecting a 500-line implementation plan the model and I coughed up in five minutes.

His review time: almost an hour.

My prep time: maybe six.

Congratulations, Cameron, you’re the factory dumping waste into the river upstream of the village.

My solo workflow (and why it usually works)

  1. Spec: talk goals, non-goals, constraints → LLM drafts → I prune → commit spec.md.
  2. Implementation plan: ask the model to scan the repo, map milestones, tie tests to each step → I skim → commit plan.md.
  3. Milestone grind: Cursor/Copilot help me ship tiny PRs; hallucinations die the moment I touch real code.

When I’m the code owner, the noise hurts nobody but me. Life is good.

Why last week was different

  • New service, new repo. The team’s Dagster pipeline. Not my playground.
  • What I needed. An offline pre-processing step for news stories so my Research Workspace can query in ms, not s.
  • Unavailable owner. The pipeline’s usual caretaker was on PTO.
  • Borrowed reviewers. I asked two meticulous staff-level devs to sanity-check the spec & plan before I wrote code.

Their context: “Cameron is making concrete changes to our production pipeline.”

My context: “Here’s a concept sketch. Tell me if I’m nuts.”

Mismatch detected. Too late.

The PR that broke the spell

Feature is gated behindfast_news_v1; roll out to 50 % of traffic with no regression in engagement or latency SLOs.

Documentation:

  • Decision record on cut-off values and weighting strategy.
  • API contract published in /docs/research-news-retrieval.md.
  • A/B test shows equal or better click-through rate versus legacy LLM path.

Sam: “What’s with the traffic rollout and A/B tests? Which users? 🤨”

Fair question about lines I hadn’t even read closely, let alone intended to ship.

The model stuffed the plan with rollout details, TODOs masquerading as decisions, and other confident nonsense.

Sam treated every word as binding intent because a file in the root of the repo is binding intent in his world.

Root cause analysis

  • Hidden assumption: Reviewers would magically intuit which bits were speculative.
  • LLM hallucination: The bot obligingly filled every gap I left vague.
  • Culture clash: I treat plans in Git as lightweight schematics; their docs live in Notion.
  • Dropping a doc PR into / without context was a “wait, what?” moment.

What I wish I’d done (and will do next time)

  • Pre-PR defrag: Delete anything I’m < 90 % sure I’ll build.
  • Label uncertainty: Prefix open questions with “🟡 Open Q:” so humans can skim.
  • Optimize for reviewer time: If it takes six minutes to write, it shouldn’t take sixty to parse.
  • Early heads-up: DM reviewers first: “Draft incoming. High-level feedback only, ignore line-by-line.”

(Yes, I DM’d Sam. His response: “It did annoy me a bit… +1 for being judicious and optimising for review time.” Fair.)

Broader takeaways

  • Velocity has externalities. If someone else pays the cognitive tax, it isn’t real productivity.
  • AI output ≠ rough draft. Text in a repo is assumed authoritative; collapse or delete boilerplate before anybody sees it.
  • Uncertainty loves daylight. Explicit markers beat vibe-based telepathy every time.

Open question

I’m still thinking about how I'll collaborate more effectively, but I’d rather learn than preach: How are you collaborating when LLMs generate chunks of your planning artefacts?

What norms, etiquette, or tooling keep your review river clean?

Drop a note. Let’s compare war stories before we all need haz-mat suits.