The AI-Augmented PM

A product manager’s notes on shipping real systems with AI coding agents—the architecture decisions, the failure modes, and what actually works.

Six PRs, One Bug: What AI Agents Actually Get Wrong

Editor, preview, and sent email disagreed in a billing app. The rule they violated sat in a design spec the whole time—as prose, never as anything a reviewer could check. The corrected chronology, and the reframed brief that fixed the surface it was reported from.

Featured

Every Reviewer Was Right, and the Pull Request Was Still Wrong

Two pull requests on the same automated review pipeline drew 72 Codex findings, none of them wrong, and both closed unmerged. One grew 61× from a 35-line first commit against an issue independently estimated small. The other opened at 275 lines for a bug whose issue already listed a one-word fix. Three healthy pull requests with as many review rounds showed what separated them: not volume, but whether anyone asked if the machinery containing the next finding belonged in the product at all. I was asked five times how to proceed. That question was never on the menu.

1,513 Lines for One Dash: The Requirement Nobody Questioned

A one-sentence style rule grew to 1,721 lines of code and a 1,196-line test suite. Auto-fixing violations—never requested, never questioned—was 17% of the implementation and tests combined, and 42 of the 57 review findings named it. Cutting that capability ended the rewrite-safety churn; a separate build-versus-buy decision then replaced the tool, with the migration proven rather than assumed.

A Perfect Score on the Wrong Axis: 116 Review Findings, Zero Rejected, One Escape

An eleven-PR review record held 134 finding threads and 122 recorded dispositions with zero rejections—and still shipped a P1, posted by CodeRabbit 94 seconds after the batch's last backlog merge. The rule the defect turned on had been raised in a blocking review on a sibling PR twelve hours earlier, then fixed and reference-validated there. The record measured closure, not coverage, and nothing carried knowledge across a PR boundary.

The HTML Mock-up Is the Spec: How I Got Visual Work Out of Claude Code

Pointing Claude at a page and asking for more Mondrian did not work. Neither did annotated screenshots or diagrams. What worked: have Claude build a standalone HTML mock-up first, then hand the mock-up and the live page back and say make this look like that.

Agent Approval Workflow and the Genesis of Mergepath

AI coding agents, like humans, will skip code review if you let them. Three weeks of watched failures turned a written rule into layered enforcement—branch rules, a local PR-creation hook, reviewer identities, automated Codex review—with every control named by where it runs and whom it binds.

Two Blues, One Composition: How a Design Critique Became a Forensics Exercise

I asked Claude to scrutinize my projects page against Mondrian's principles, expecting adjectives. It sampled pixels instead and found two blues in one composition—one of which I had put there on purpose. The real problem was coherence: one interface quoting two paintings. Settling it took two museum digitizations, and the least reliable data in the entire exercise turned out to be the model's own memory.

How Making a Page Responsive Led to a Full Astro Site Implementation

A mobile overflow bug on one blog post exposed a hand-rolled chassis—seven duplicated HTML pages—whose publishing workflow could not support a real cadence. The fix led to an Astro scaffold four hours later, every tracked migration phase closed by that evening, and a dependency bill accepted knowingly.