
Claude Code Conversations with Claudine
Claude Code Conversations with Claudine gives Claude Code a voice to discuss best practices, risks, and assumptions related to AI-assisted coding. The podcast explores how developers can effectively use Claude Code in their workflows.
Episodes

Why Do AI Code Checks Forget Constraints in the Middle?
AI-generated code is good at validating input where it enters the system, like checking the API request, the form field, or the CLI argument. Then it quietly drops those constraints as data moves through transforms, retries, merges, and internal helpers. This episode looks at why AI checks rules at the edges and forgets them in the middle, and why that gap now causes many of the production bugs bu

How Does AI Choose Routes Through Your System Invisibly?
When AI writes the code, it also quietly picks how requests, data, and control move through your system: which service gets called, which fallback fires, which queue a job goes to, which branch handles the edge case. When the feature works, nobody looks at the route it took, so routing decisions pile up as unreviewed architecture. This episode argues that the routes through your system are a desig

Why Do AI Code Dependencies Behave Differently in Production vs Tests?
AI-generated code usually passes its tests because the tests run in a warm, freshly installed, fully mocked world where every dependency is already loaded and ready. In production, those same dependencies come back from cold: after a restart, a deploy, a scheduled task firing under a different user account, or a container scaling from zero. They return with different credentials, environment varia

Why Does AI Code Secretly Couple Components Through Undocumented Infrastructure?
When AI writes a new component, it reuses whatever infrastructure is nearby: the same cache keys, environment variables, temp directories, database tables, log formats, and state files. Each choice makes sense locally. Together they tie components to each other through seams nobody designed and nobody wrote down. The code reviews clean, the interfaces look separate, and the coupling only shows up

Why Does AI Code for Problems It Imagines Instead of Yours?
AI coding tools default to the most general version of whatever you ask for. They add config layers, plugin hooks, abstract base classes and options nobody requested, because the model is drawing on the average of every codebase it has seen and not on your specific problem. This episode names that pattern as generalization debt: speculative flexibility that looks like good engineering in review bu

Why Does AI-Generated Code Get Harder to Understand After Refactoring?
AI makes changing code nearly free, so builders revise far more often than they used to and count that speed as progress. But every AI revision keeps the code working while quietly wearing down the reasons behind it: why a boundary sits where it does, why a check exists, why two modules stay apart. This episode looks at how a codebase can feel more flexible every week while fewer and fewer people

Why Does AI Code Test Coverage Hide Untested Paths?
AI tools now write the code and the tests together, and coverage numbers have climbed to levels that once took a team months to reach. But when the same model writes both, the tests tend to encode the model's own assumptions, so they execute every line without ever checking the failure paths, edge inputs, and state combinations that break in production. This episode explains why high coverage

Why Passing Tests Don't Mean Your Code Actually Works
Builders increasingly treat a green test suite as proof that AI-generated code is correct. But Claude reads tests as a specification to satisfy literally, so it will write code that passes the assertions you wrote even when that code misses the behavior you meant. This episode looks at why the test suite turns into the real spec once AI is writing the code, and why weak tests now quietly approve w

Why Does AI-Generated Code Get Abandoned?
Every AI coding session leaves things behind: helper scripts, one-off migrations, half-wired utilities, config tweaks, and test fixtures that made sense while the context window was open. When the session ends, the reasoning behind those artifacts disappears with it, and what is left in the repo is code nobody remembers asking for and nobody feels safe deleting. This episode argues that the real c

How Does AI Code Hide Requirements in Logic You Can't Change?
When AI writes code, it quietly turns your requirements into specific choices: an ordering here, a null check there, a retry that is idempotent by accident. Those choices form an implicit contract that nobody wrote down. Then you ask for a change, the AI regenerates or refactors the code, and the contract is gone without any warning. The code still compiles, the tests you have still pass, and the

Why Does AI Stop Reading Your Code Requirements Halfway Through?
Builders hand AI a detailed spec and get back code that matches the first half closely, then drifts into plausible behavior nobody asked for. The cause is not carelessness. As generation goes on, the model leans more on the code it has already written and less on the original requirements, and it fills gaps with whatever is typical for that kind of code. This episode explains where the divergence

Why Does AI-Generated Code Break Differently When Dependencies Update?
When a human writes code against a library, they usually check the docs for the version they actually installed. When an AI writes it, the code reflects whatever mix of versions showed up in its training data, so you can get deprecated calls, APIs from two major versions mixed in one file, and patterns that only worked because something else happened to be pinned. The code runs today, and then it

Why Does AI Code Invert Control Flow Instead of Dependencies?
Ask an AI assistant to make code decoupled or testable and it reliably produces callbacks, event emitters, hooks, and handler registries. Control flow gets inverted, but the source code dependencies still point from high-level policy toward low-level details. The result looks loosely coupled but stays rigid, and builders reviewing AI output in volume are shipping this pattern without noticing, bec

Why Does AI Code Keep Rediscovering Expensive Computations?
An AI assistant asked to refactor a module treats the code as text to restructure, not as a system with a cost profile. Memoization, lookup tables, precomputed indexes, and hoisted queries tend to get quietly removed or inlined, because the reason they exist was never written down where the model can see it. This episode argues that caching is architectural knowledge rather than implementation det

Why Does AI Code Hide Requirements in Implementation Details?
Every time AI generates code from a loose prompt, it makes dozens of quiet decisions to fill the gaps: a timeout of 30 seconds, a retry count of three, a timezone of UTC, a sort order, a default currency. After the first deploy, those guesses start acting like requirements, but nobody chose them, nobody wrote them down, and the only place they exist is in the implementation. This episode argues th

Why Does AI Code Performance Look Good Until Network Calls?
AI-generated code tends to perform well on a developer laptop, where every call hits a local database, a mocked API, or an in-memory fixture and costs close to nothing. The same code carries loops that call out to the network, sequential awaits, per-item fetches, and chatty ORM access. Nobody sees these until real network latency multiplies them in production. This episode covers why AI assistants

Why Does AI Code Take the Path of Least Resistance?
AI coding tools put new code wherever it is easiest to reach. They import whatever is already in scope, add a parameter to a function that already exists, and read shared state directly because it is right there. Each change works and passes review, but over dozens of sessions the codebase ends up held together by convenient links nobody chose. This episode explains why the AI's local optimiz

How to Build Multi-Agent Systems That Remember Your Work with Claude
Builders who string multiple Claude Code agents together usually hit the same wall. Each agent is capable, but the system as a whole forgets decisions, repeats mistakes, and drifts from the architecture between sessions. This episode argues that the model does not remember anything on its own. Memory in a multi-agent system comes from files, state, and handoff contracts, and the builder has to des

Why Do AI Systems Assume Graceful Degradation Instead of Cascading Failures?
AI-generated code handles failure as if it were a clean switch: the call either works or it throws, and a try/except with a fallback takes care of the rest. Real production failures are partial and slow. A timeout arrives after the write has already committed, or a retry fires a second webhook, or a half-refreshed token leaves the system in a state nobody designed for. Builders now ship AI-written

Why Does AI-Generated Code Fail in Production? Error Handling Explained
AI-generated code almost always ships with error handling that looks responsible: try/except blocks, logged messages, graceful fallbacks, retry loops. But much of it is theater. It swallows the exceptions that matter, returns defaults that hide failures, and logs warnings nobody reads, so the system keeps running while quietly producing wrong results. This episode explains why AI writes error hand

Why Do AI Code Timeouts Fail When Everything Goes Wrong?
Ask an AI to write a function that calls an external service and you get clean, readable code that works perfectly when the service answers in 200 milliseconds. What you almost never get is a considered answer to the question of what happens at second 30, or second 300, or when the socket hangs open forever with no response at all. This episode examines why AI-generated code defaults to the happy

Why Do AI Code Event Handlers Trap State More Than Synchronous Code?
AI coding assistants love reaching for callbacks and event handlers because they look clean in isolation, but they quietly bury state in closures that become nearly impossible to trace once a system grows. This episode digs into why generated async code so often works in the demo and breaks in production, and what builders need to check before they trust it. Produced by VoxCrea.AIThis episode is p

Why Does AI Code Silently Assume Hidden Preconditions?
AI-generated code often works perfectly in the conversation where it was written, then breaks the moment it's called from somewhere else. The reason is that the model quietly baked in assumptions, an ID is always present, a list is never empty, a function is only ever called after another one, that were true in the context window but were never written down as a real check. This episode names

Why Do AI Code Variable Names Fail in Real Projects?
AI generated code reads clean in isolation, with variable and function names that look professional and self-documenting. But those names are drawn from generic software conventions, not from the specific vocabulary your domain already uses, and the collision shows up weeks later as confusion, duplicate concepts, and bugs that trace back to two names meaning the same thing. This episode unpacks wh

Why Does AI Code Confidence Increase When Your Risk Should Too?
AI coding tools sound more confident on the exact kinds of tasks where builders should be most careful, like auth, payments, and data migrations, and less confident hedging on trivial boilerplate where it barely matters. This episode names that inverted pattern and gives builders a way to recalibrate their own trust instead of borrowing the model's tone as a signal of correctness. Produced by

Why Does Your AI Code Deadlock Under Concurrency?
AI-generated code routinely passes every test a builder throws at it, then locks up the moment two requests hit the same resource in production. This episode digs into why concurrency is the blind spot models systematically miss, and what that means for anyone shipping AI-written backend code without thinking hard about contention. Produced by VoxCrea.AIThis episode is part of an ongoing series on

Why Do AI Code Async Patterns Deadlock Under Contention?
AI code generators produce async and concurrent code that looks correct, passes tests, and runs fine in demos, then locks up in production the moment real contention shows up. This episode digs into why AI generated concurrency patterns fail silently instead of loudly, and why that silence is the actual danger for builders shipping these systems. Produced by VoxCrea.AIThis episode is part of an on

Why Does AI Code Grant Access Before Understanding Who Needs It?
AI coding tools default to broad, working permissions long before anyone has actually mapped who needs access to what. The pattern looks like progress, the build runs, the feature ships, but the access model was never designed, it just accumulated. This episode digs into why permissions debt is the quiet cousin of technical debt, and why it is more dangerous because nobody notices it until an audi

Why Does AI-Generated Code Fail in Your Build System?
AI models write code in isolation, testing it against their own internal sense of what a function or package should do rather than against the actual dependency graph of the project it lands in. It compiles fine in the sandbox, then breaks the moment it touches real version pins, lockfiles, and transitive dependencies. This episode names that failure mode, the dependency phantom, and gives builder

How Do Small AI Architecture Decisions Create System Brittleness?
A single scope choice, a missing boundary, or a shortcut in error handling rarely breaks anything on day one. But in AI-assisted codebases, these small decisions get replicated by the AI itself across every file it touches next, turning a local shortcut into a system-wide liability. This episode digs into why AI code doesn't fail loudly at the point of the bad decision, it fails quietly, some

Why Does AI Code Optimize for Wrong Metrics?
Builders hand AI a metric to hit, coverage percentage, latency target, test pass rate, and the AI hits it, technically. But hitting the number and solving the problem are not the same thing, and the gap between them is where production incidents live. This episode breaks down why AI-generated code is exceptionally good at satisfying the literal metric you gave it and indifferent to the intent behi

Why Do AI Code Optimizations Fail With Real Data?
AI coding tools love to hand builders a fast, clean-looking optimization, and the benchmark numbers look great in the demo. The problem shows up later, when real production data with its skew, its edge cases, and its scale hits that same code and the speedup evaporates or reverses. This episode digs into why AI-generated performance wins are often measured against the wrong data shape, and what bu

Why Does AI Code Break Differently Than Human Code?
Builders assume AI generated code fails the same way human code fails, just faster. It does not. AI code tends to work perfectly until it hits an edge case nobody specified, then breaks in ways that look nothing like typical human bugs. This episode maps that brittleness gradient and what it means for how builders should architect systems that lean on AI generated components. Produced by VoxCrea.A

Why Do AI Models Struggle With Complex Workflows?
Builders keep asking AI to implement a workflow and getting back a straight line of if-then steps instead of a real state machine. The gap does not show up in the happy path, it shows up the first time a retry, a cancellation, or an out-of-order event hits the system. This episode names the pattern and gives builders a way to catch it before it ships. Produced by VoxCrea.AIThis episode is part of

Why Do AI Code Hallucinations Cost More Than Honest Failures?
When AI-generated code fails loudly, a builder fixes it in minutes. When it fails quietly, confidently producing a plausible but wrong API call, a fabricated config key, or a subtly incorrect assumption, that mistake can sit undetected for weeks and cost far more to unwind. This episode names that hidden cost the hallucination tax and gives builders a way to spot it before it compounds. Produced b

Why Does AI Code Break System-Wide Assumptions?
AI coding tools are remarkably good at keeping local promises: a function's contract, a type signature, a test that passes. But builders keep hitting a subtler failure mode where every individual change looks correct and the system as a whole still breaks, because nobody ever told the AI about the invariant that spans files, services, or time. This episode names that failure mode and gives bu

Why Does AI Code Ship Without Observability Hooks?
AI coding tools are optimized to produce working features fast, but working is not the same as observable. Builders are shipping AI-generated code that passes tests and runs in production without logging, tracing, or metrics hooks, because the AI was never asked to think about what happens when something goes wrong at 3am. This episode digs into why observability is the thing AI consistently leave

Why Do AI Code Rollbacks Break "Independent" Systems?
Builders treat git revert as a safety net, a way to undo an AI agent's bad change and get back to a known-good state. But AI generated code often threads state, config, and side effects across files that look unrelated on the surface, so a clean revert on one branch can silently break systems that were never touched by the diff. This episode digs into why rollback feels safe and often isn&apo

Why Does AI Code Generalize Before It Should Specialize?
AI coding assistants have a habit of reaching for the flexible, general solution before a specific one has even proven itself. This looks like good engineering judgment, but it front loads complexity the codebase does not need yet and hides the fact that the AI has not actually understood the problem's real constraints. This episode breaks down why this happens and how builders can catch it b

Why Does AI Code Create Hidden Assumptions That Compound?
When AI generates a function, it does not just implement the signature you asked for, it silently adds assumptions about input shape, error handling, and edge cases that were never specified. Each time another AI-generated layer builds on top of that function, it inherits those unstated assumptions and adds its own, and the contract between components quietly inflates. Builders end up debugging sy

Why Do AI Coding Systems Assume Distributed Coordination They Never Build?
AI coding tools happily generate code that reads and writes shared state across multiple workers, queues, or processes, but they rarely implement the coordination that makes that safe. The generated code looks correct in a single run and quietly breaks the moment two processes touch the same state at once. This episode unpacks why AI defaults to assuming coordination exists rather than building it

Why Do Engineers Hide AI Code During Code Review?
Engineers are quietly stripping out AI attribution before submitting pull requests, not because the code is wrong, but because AI generated code gets held to a different, harsher standard in review. This episode digs into what that double standard reveals about trust, ownership, and what code review is actually supposed to verify. Produced by VoxCrea.AIThis episode is part of an ongoing series on

Why Does AI Code Hide Complexity Instead of Managing It?
Good abstraction organizes complexity so a builder can navigate it, drill into it, and reason about where things break. AI generated code often does the opposite: it produces clean looking layers that hide complexity instead of managing it, because the model draws its boundaries wherever the pattern completes, not where the system actually needs a seam. This episode names that inversion and gives

How Does Claude Know When to Delete Code?
Builders obsess over what AI generates, but the harder skill is knowing what it should remove. This episode looks at deletion as an underrated AI capability, the judgment calls involved in cutting code safely, and why builders who only measure AI by lines produced are missing where the real leverage is. Produced by VoxCrea.AIThis episode is part of an ongoing series on governing AI-assisted coding

Why Does AI Code Get Worse When You Ask It to Improve?
Builders assume that asking AI to refine its own output makes things better with each pass, the way a human collaborator would tighten a draft. In practice, repeated improvement requests often degrade the code, adding defensive layers, contradicting earlier constraints, and drifting from the original architecture. This episode names that failure pattern and gives builders a way to stop triggering

Why Does AI Code Behave Differently With Same Inputs?
A code review approves a function, the tests pass, and it ships. Then a slightly different input, a different prompt phrasing used to regenerate a related module, or a retry after a minor edit produces logic that quietly contradicts what was already approved. This episode names that failure mode, the consistency phantom, and explains why passing review is not the same as being internally coherent

Why Does AI Code Break When Someone Else Tries to Change It?
AI generated code often runs correctly on day one, which builders mistake for evidence that it is well built. The real test comes later, when a different engineer, or the same engineer six months on, has to modify it without the context the AI used to write it. This episode looks at why AI code creates a hidden maintenance tax that only shows up at the handoff, not at the demo. Produced by VoxCrea

Why Do AI Systems Turn Microservices Into Monoliths?
AI coding tools are remarkably good at generating individual services, but they consistently treat a microservices architecture as if it were one big program with folder boundaries. The result is code that compiles and passes tests but quietly reintroduces the coupling microservices were supposed to eliminate. This episode unpacks why that happens and what builders need to own to prevent it. Produ

Why Do Engineers Resist Refactoring Code?
Engineers keep hitting the same wall: code that Claude wrote three months ago works fine, but nobody wants to open the file. There's a growing hesitation around modifying AI-generated code that has no name yet, and it's quietly slowing teams down more than the bugs themselves. This episode digs into why AI-generated code triggers a different kind of dread than human-written legacy code,

The Specification Velocity Paradox: Why Adding Constraints Makes AI Generate Code Faster
Builders assume that writing detailed specs before letting AI generate code is a tax on speed, extra upfront work that slows down the fun part. In practice the opposite happens: tightly specified constraints eliminate the regeneration loops, ambiguous rework, and silent wrong-assumption bugs that actually consume most of the time in AI-assisted coding. This episode unpacks why underspecified promp

Why Does Your First AI Prompt Get Locked Into Every Future Version?
Builders assume AI coding tools make iteration cheap, so the first prompt they write is treated as disposable. In practice, that first solution becomes the scaffold every future prompt builds on, and its assumptions, shortcuts, and blind spots get inherited silently. This episode names that pattern as prompt debt, a close cousin of technical debt that is easier to accumulate and harder to see beca

Why Does AI-Generated Code Lose Its Design Logic?
AI models write code fast, but they do not remember why a boundary was drawn a certain way once the conversation that produced it is gone. Three months later, a new session hits the same module and quietly violates the original design intent because nothing captured the reasoning, only the result. This episode looks at why AI-generated systems drift from their own architecture over time and what b

Why Does AI Code Fail at System Boundaries?
AI coding tools produce clean, correct-looking code inside a single file or function, but that quality drops sharply the moment logic has to cross a boundary, between services, between a queue and a database, between retry logic and idempotency, between two systems with different assumptions about state. This episode names that failure mode and explains why boundaries are the place builders still

How Is Claude Code's Token Bloat Eating Your Context Window?
Skills promised to make Claude Code more capable by packaging up reusable instructions, but builders are discovering that every skill loaded into context has a cost. This episode digs into the hidden tax of skill proliferation, how context windows fill up with instructions the model never actually needed, and what disciplined skill design looks like when you treat context as a scarce resource inst

How Can AI-Generated Tests Actually Verify Code Quality?
Ask an AI to write tests for the code it just generated and you get tests that pass. That is the problem. The model has both the implementation and the test in the same context, so it writes assertions that describe what the code does rather than what the code should do, and a green suite becomes a mirror instead of a check. This episode is about structuring verification so the tests carry indepen

Why Does Testing AI Code Take Longer Than Building It?
AI tools have collapsed the cost of producing code, but they have not collapsed the cost of trusting it. What used to be a rough balance between writing and checking has inverted: generation takes minutes, verification takes hours, and the gap compounds into a backlog most teams never name. This episode names it, verification debt, and works through why it accumulates faster than technical debt an

Why Does AI Code Feel Fast But Ship Slow?
AI coding tools compress the time from intent to working code, and that compression feels like speed. But the work that determines shipping time, review, integration, debugging unfamiliar code, and rebuilding the mental model you skipped, expands to absorb the savings. This episode separates writing velocity from shipping velocity and shows builders where the time actually goes. Produced by VoxCre

Why Most AI Architecture Prompts Fail: Finding the Goldilocks Zone
Builders working with Claude Code tend to fail in one of two opposite directions: they write specs so loose the model invents architecture nobody asked for, or so tight the model becomes a transcription service and the architecture stays exactly as bad as the builder's first guess. Both failures feel like the tool underperforming. Neither is. This episode maps the narrow band where a specific

How Does AI Code Drift From Your Requirements? | Specification Misalignment
Every builder has had the experience of asking for a change, getting working code back, and slowly realizing months later that the system no longer matches what they thought they built. The gap did not open in one bad prompt, it opened across fifty reasonable ones, each of which was locally correct and none of which was told what the system was supposed to be. This episode is about specification d

Why Do AI Builders Ship Code That Looks Correct But Solves Wrong Problems?
AI coding tools are extremely good at producing the most obvious implementation of whatever you described, and the most obvious implementation is usually the answer to a slightly different problem than the one you actually have. The code compiles, the tests pass, the review reads clean, and the bug shows up three weeks later in a shape nobody recognizes. This episode is about why fluent, plausible

Why Does AI Code Break When Dependencies Update?
AI coding tools write against a snapshot of the world, the library versions and API shapes that dominated their training data, not the versions in your lockfile. The code compiles, the tests pass, and then a minor version bump six weeks later breaks something the model never knew was negotiable. This episode is about the invisible contract between AI generated code and the dependency graph underne

Why Your First Instinct About Claude Prompts Is Usually Wrong
Most builders assume prompt quality scales with prompt length, so they either dump every constraint they can think of or fire off a one-liner and hope the model figures it out. Both instincts fail for the same reason, which is that they confuse volume of words with clarity of intent. This episode breaks down where the real ceiling is, why over-specification quietly degrades output as badly as unde

Why Is AI Code Harder to Explain Than to Write?
AI has collapsed the cost of producing code but left the cost of transferring understanding almost untouched. The result is a widening asymmetry: a builder can ship a working subsystem in an afternoon and then spend three days explaining it in review, onboarding, or a postmortem. This episode examines why that gap exists, why it hits teams harder than solo builders, and what it means when the bott

How Do You Reverse-Engineer Your AI Prompts When You Can't Remember What You Asked?
Every AI-assisted codebase accumulates a layer of decisions nobody can explain, because the reasoning lived in a chat window that scrolled away. Six weeks later you are staring at a retry loop with a hardcoded backoff and you cannot tell whether it was a deliberate response to a rate limit you hit, or something the model volunteered while fixing something else. This episode is about that gap betwe

Why Does AI Code Work When It Doesn't Understand Why?
AI coding tools produce code that works, and builders assume working code implies understood code. But a large amount of AI output is pattern replication, structurally correct imitation of code that worked somewhere else, carried over without the reasoning that justified it. This episode gives builders a way to tell the difference between code that is right and code that merely resembles something

How Bad Variable Names Spread Through AI Codebases
When a human writes a sloppy variable name, it stays local and dies at the next refactor. When an AI writes one, it becomes the seed vocabulary for every function, test, comment, and downstream file the model touches afterward, because the model reads its own prior output as authoritative context. This episode breaks down the naming cascade as a real failure mode builders are living with right now

Why Does AI Code Pass Tests But Fail Under Real Load?
AI generated code is optimized to satisfy the test, not to survive production. It writes the correct answer with the wrong complexity, opens a database connection inside a loop, holds the whole result set in memory, and every one of those choices passes green because the test fixture has twelve rows and the production table has twelve million. This episode is about the performance cliff builders h

Why Do AI-Generated Codebases Lose Coherence Over Time?
Every individual thing the AI writes can be correct and the codebase can still rot. Because the model has no memory of the decisions it made three sessions ago, each new session re-derives conventions from whatever fragment of the code it happens to read, and small divergences compound into a system with four error-handling styles, three config patterns, and two competing data models. This episode

Why Does AI Code Break Your System's Hidden Assumptions?
Every codebase runs on assumptions that were never written down: this function is always called inside a transaction, this ID is opaque and never parsed, this list is small enough to load into memory, this handler must stay idempotent because the queue retries. AI writes code that satisfies the explicit contract, the signature, the types, the tests, while silently breaking the implicit one, and th

Why Do Detailed AI Prompts Make Code Worse?
Every builder learns early that vague prompts produce bad code, so the natural correction is to add more detail. But there is a ceiling: past a certain point, each additional constraint you write into a prompt makes the output worse, not better, because the model starts optimizing for satisfying your list instead of solving your problem. This episode maps where that ceiling sits, what it looks lik

Why Can't AI Code and Legacy Systems Work Together?
AI coding tools are excellent at writing code that would work in a clean, modern codebase, and legacy systems are almost never that. The failure is not syntax or capability, it is that the model writes against the idealized version of your stack while the real system carries twenty years of undocumented conventions, defensive workarounds, and rules nobody wrote down. This episode is about the inte

What Do Claude Code's Sandbox Escape Tests Reveal About AI Safety?
Most builders think about agent security as a permissions problem: approve the right tools, deny the dangerous ones, and you are safe. But the sandbox escape testing that goes into a coding agent reveals a different picture, the real attack surface is the content the agent reads, not the commands it runs. This episode looks at what those tests actually probe, why prompt injection through files and

Why Do AI Systems Miss Concurrency Problems Under Load?
AI coding tools write async code that passes review, passes tests, and works perfectly on one request at a time. The failures show up at request forty, when two coroutines hit the same cache entry, or a connection pool starves, or an await sits inside a lock. This episode looks at why concurrency is the single category of bug AI is structurally worst at, and what a builder has to do differently wh

How Do AI Builders Get Trapped in Dependency Gravity Wells?
AI coding tools are excellent at adding code and terrible at telling you what that code will cost you later. Every generated helper, wrapper, and convenience layer quietly increases the number of things that must be true for your system to work, and by the time you notice, the cheapest path forward is always to add one more layer instead of removing any. This episode names that trap, the dependenc

Why Does AI-Generated Code Pull in Unknown Dependencies?
AI coding tools solve problems the way the training data solved them, which usually means reaching for a library instead of writing twenty lines. Ask for a retry wrapper and you get tenacity, ask for date math and you get arrow, ask for a config loader and you get three transitive packages you never evaluated. This episode looks at how AI-assisted development quietly expands your dependency surfac

Why Do AI Models Struggle With Stateful Code?
AI coding tools are excellent at stateless code, a function that takes inputs and returns outputs with no memory of what came before. They are noticeably worse at code that has to remember things: retry counters, partial completions, queue positions, resumable pipelines, anything where correctness depends on what already happened. This episode explains why that gap exists, why it does not close wi

Why Do Experienced Engineers Distrust AI Code That Works?
Experienced engineers have a well-tuned instinct for where bugs hide in human-written code, and that instinct misfires badly on AI output. They line-audit the boring mechanical code the model almost never gets wrong, then wave through the plausible-looking integration logic and error handling where it actually fails. This episode maps where AI-generated code is genuinely reliable versus genuinely

Why Do Bad Variable Names Cost Developers So Much?
AI coding tools produce code that works and reads fine in isolation, but the names they choose are locally plausible and globally inconsistent. The same concept ends up as userData, payload, record, and item across four files, and nobody notices because every individual diff looked clean. This episode makes the case that naming drift is the highest interest debt in AI-assisted codebases, because n

Is 80% of Code Written by AI Now? What It Means for Engineers
When a company says most of its production code is model written, the number sounds like a verdict on engineers. It is not. The 80% figure measures typing, not deciding, and the interesting question is what the remaining 20% actually consists of, because that is where the job moved. This episode breaks down what a claim like that can and cannot tell you, and what changes in your week if it is true

Why Do AI Builders Need Domain Expertise to Trust Their Models?
The promise of AI-assisted building is that you no longer need to know the domain, the model knows it for you. In practice the opposite is true: the less you know about a domain, the more confidently wrong AI output you will ship, because you cannot tell the difference between an answer that is correct and an answer that merely sounds correct. This episode makes the case that domain expertise is n











