You give your AI coding agent a task. It gets to work. Thirty tool calls later you have code — and it’s not what you needed. The agent understood the words but missed the intent. It made a dozen small decisions that individually seemed reasonable, and collectively built the wrong thing. This isn’t a capability […]

Read More →

The rise of AI coding assistants—Cursor, Claude, GitHub Copilot—has shifted the main challenge from writing code to communicating intent. When engineers give an LLM a vague feature description or unstructured prompt, the model often drifts. It invents edge cases, guesses API endpoints, or generates lots of valid code that solves the wrong problem. To keep […]

Read More →

Specs and change proposals live in the repo; Jira still owns Epics, Stories, and the board. You can do both without maintaining two truths: tie one OpenSpec change folder to one Story, leave tasks.md out of Sub-tasks, and link every ticket to openspec/changes/…. Most organizations will not retire Jira; this split is how you get SDD anyway without […]

Read More →

“Keep It Simple” is old advice. It got interesting again the moment anyone could generate 500 lines of code in 30 seconds. KISS says systems and tasks should be as straightforward as possible. No unnecessary complexity. Fewer moving parts, fewer things to break, fewer things to hold in your head. It was good advice when […]

Read More →

Spec-driven development treats a structured specification—not the codebase—as the system of record. This post maps who does what when you work that way: from turning product intent into an agent-readable spec, through API contracts and UI rules, to validation that implementation still matches what you wrote down. Table of contents Overview Spec-driven development (SDD) is […]

Read More →