Fix the Third Code Cell

I was trying to get a coding agent to fix a few notebook cells, and it asked me to copy-paste snippets just so it could figure out which ones I meant. It worked, but it felt like a step backward. I knew exactly which cells I meant, but I had no direct way to point to them. Usually, we point agents to notebook cells indirectly: the cell that loads the dataset, the cell that does the groupby and filtering, and so on. It works, but it is not a great way to address a cell. Insert a cell, delete one, or reorder the notebook, and positional references change. Descriptions can also be ambiguous when several cells look similar. ...

August 15, 2026 · 3 min · Mohanad Abu-Nayla

Spec-Driven Development with AI Agents: Constitutions, Checkpoints, and Handoffs

AI coding agents are strangely lopsided. Hand one a well-scoped task and it writes better code, faster, than I do. Hand it a large feature, the kind that takes days and touches a dozen files across several layers, and the failure mode changes. The context window fills up and quality quietly degrades (AKA context rot). A fresh session, missing the history, confidently invents an API that never existed. And even when the code is good, you’re left staring at a 3,000-line diff you can’t meaningfully review. ...

August 1, 2026 · 6 min · Mohanad Abu-Nayla