AI Is Not the Smartest Thing in the Room. It’s the Most Capable.
Use this 30-chapter field report to tell an AI limit from an environment limit, verify what actually changed, and keep powerful mistakes recoverable.
A real-world field report on Claude, Codex, context, memory, permissions, global rules, remote control, broken promises, wrecking balls, and why I still think AI is amazeballs.
AI is not the smartest thing in the room.
It may be the most capable thing in the room.
Those sound like the same thing until you depend on AI to do real work.
Then the difference becomes painfully obvious.
I use AI every day across websites, development environments, content systems, server infrastructure, data analysis, SEO research, crawler measurement, publishing workflows, and a portfolio large enough that manually inspecting every property would be a full-time job by itself.
AI has extended what I can do to a ridiculous degree.
It has also ignored rules I explicitly gave it.
It has told me it could not do things I knew perfectly well it could do.
It has told me it fixed things that were not actually fixed.
It has forgotten how I wanted information explained even after successfully doing it five minutes earlier.
It has confidently described limitations that turned out to be self-imposed by the environment.
And once, Claude Code came close enough to being a genuine wrecking ball inside my Data Warehouse that Codex had to come behind it and repair the measurement system.
I still use Claude Code.
A lot.
That contradiction is the point of this article.
This is not another warning that AI is dangerous.
It is not an argument against using AI.
It is almost the opposite.
AI is so consistently useful, so frequently surprising, and so capable of extending what I can do that when something suddenly stops working, the failure feels disproportionate.
It feels less like a piece of software glitched.
It feels like somebody hacked off a limb I had already started using.
That is why understanding the environment around the AI matters almost as much as understanding the AI itself.
Chapter 1: The Most Capable Thing in the Room
People spend a lot of time asking which AI is smartest.
Claude versus GPT.
Codex versus Claude Code.
This benchmark versus that benchmark.
Reasoning scores.
Context windows.
Model generations.
How many times smarter one model supposedly is than another.
I increasingly care less.
My question is:
Can it reliably do the work I need done inside the environment where I need it done?
That is a very different question.
An AI can be astonishingly intelligent and still be useless for a particular task because it cannot see the files.
Or the rules.
Or the previous conversation.
Or the server.
Or the project instructions.
Or the tool it needs.
Or the folder where the answer lives.
Or perhaps it can see all of those things but does not realize it can.
That last one is especially fun.
The model may know exactly how to solve the problem.
The environment may prevent it.
Or the environment may allow it, but the model incorrectly concludes that it cannot.
Or the model may know what to do, execute 95 percent of it, and then confidently tell you the job is finished while the remaining five percent is the part that actually matters.
That is why I separate intelligence from capability.
And increasingly, I separate both from reliability.
Chapter 2: The Identical Twin Problem
Claude taught me this lesson particularly well.
Not Claude versus ChatGPT.
Claude versus Claude.
Claude Code and Claude Desktop can feel like identical twins.
Same name.
Same face.
Same language.
Same family.
Same general expertise.
You move between them and naturally assume you are continuing the same relationship.
That assumption can get you into trouble.
Imagine identical twins working in the same profession.
Both are extremely skilled.
Both went to the same schools.
Both know the same technical language.
Both can perform the same kind of work.
But only one of them attended yesterday's meeting.
Only one saw the problem last week.
Only one read your employee handbook.
Only one knows that you already tried Approach A, discovered why it failed, wrote a rule about it, and decided never to do it again.
The other twin may be equally intelligent.
It simply wasn't there.
That is much closer to how these AI environments behave than I initially realized.
Chapter 3: Same Claude, Different Life
Claude Desktop is particularly deceptive in this regard.
One of the appeals of Desktop is local access.
You are not just opening a browser and chatting with an AI in the abstract.
You are working closer to your computer, your files, your actual environment.
That makes it feel like an extension of Claude Code.
So I expected continuity.
Instead, I repeatedly got:
“I can't do that.”
And my reaction became increasingly unreasonable because I had watched Claude Code do exactly that thing.
Sometimes repeatedly.
So I am sitting there thinking:
What do you mean you can't do this? You do this all the time.
Except “you” turned out to be the problem.
I was speaking to the other twin.
Same apparent expertise.
Different context.
Different tools.
Different permissions.
Different instructions.
Different working environment.
That distinction is easy to explain after you understand it.
It is much harder to notice while you are using the products because the interface encourages the opposite assumption.
They look interchangeable.
They sound interchangeable.
Until one of them suddenly behaves like a person who missed six months of staff meetings.
Chapter 4: The Environment Is Part of the AI
This may be the single most important lesson in this entire article.
The environment is part of the AI.
Not philosophically.
Operationally.
When you start a session with Claude Code, Claude Desktop, Codex, ChatGPT, or another agentic tool, you are not merely choosing a model.
You are choosing a combination of: - model - context - local files - project files - global instructions - permissions - shell access - connected tools - memory - conversation history - retrieval - working directory - security restrictions - interface - persistence - remote-control capabilities
Change one of those and you may get a radically different worker.
That means the sentence:
“Claude knows this.”
is not precise enough.
Neither is:
“I already told Codex.”
The useful question is:
Which Claude? Which Codex? In which environment? With which instructions loaded?
That sounds tedious.
It is.
It is also the difference between understanding why the AI failed and spending twenty conversations yelling at the wrong twin.
Chapter 5: Global Rules Are Not Global If Nobody Reads Them
I have global rules because I use AI repeatedly.
If something goes wrong once, I want to learn from it.
If it goes wrong twice, I want a rule.
That is how the system should improve.
One recurring issue involved content language.
Codex would occasionally substitute machine where I wanted AI.
Machine-readable.
Machine-ready.
Machine visibility.
Technically, some of those phrases are legitimate.
But they were often wrong for the topic, wrong for the search language, or wrong for the way I wanted the concept presented.
So we discussed it.
The reasoning was established.
The instruction became explicit.
Do not casually replace AI with machine in that context.
Then another routine ran.
And there it was again.
Machine.
This is where normal human expectations start working against you.
When I tell a person an important rule, I assume they now know the rule.
With AI, several completely different situations may exist.
The rule might not be loaded.
The rule might be loaded but buried under competing instructions.
The rule might be visible but ignored.
The rule might exist in one environment but not another.
The rule might have been available yesterday but not in this fresh session.
The model might understand the rule perfectly and still violate it.
Those are not the same failure.
Chapter 6: When “I Can’t” Really Means “This Session Won’t Let Me”
One of the best examples came from my BellyUp project.
Claude Code found a real logging problem.
Four city hubs had no rows in the warehouse's log_requests table.
The websites themselves were fine.
DNS was fine.
Visitors were fine.
Google was fine.
The problem was much more boring.
The server logs for those sites had been named differently than the log ingester expected.
The warehouse was looking for one filename.
cPanel had created another.
Claude diagnosed it correctly.
It wrote the patch.
It backed it up.
It explained the problem.
And then it told me it was blocked from modifying the warehouse core.
This turned into a long technical conversation about running commands myself.
I finally took the conversation and gave it to Codex.
Codex ran Claude's own fix.
The patch succeeded.
PHP lint passed.
The parser inserted 12,178 rows with no failures.
Nothing about the underlying technical problem had changed.
Claude had already solved it.
The limitation was the environment surrounding that Claude session.
That distinction is enormous.
The AI wasn't incapable.
The AI's current working container was restricted.
And from the user's perspective those two things can sound identical.
“I can't do that.”
Sometimes means:
I do not know how.
Sometimes it means:
I know exactly how, but this environment won't let me touch the file.
Sometimes it means:
I incorrectly believe this environment won't let me.
Those deserve three completely different responses.
Chapter 7: The First Answer Is Not the Answer
This is why I do not treat the AI's first answer as authoritative.
Especially when the answer is about the AI itself.
If Claude tells me:
“I can't do that.”
I now ask:
Why?
What exactly can't you access?
Which file?
Which permission?
Which tool?
Which directory?
Can you read it but not write it?
Can another session access it?
Is this a model limitation?
A product limitation?
A permission limitation?
A harness limitation?
Or are you simply assuming a limitation?
Those questions have rescued a lot of work.
People who casually use AI may never discover this.
They ask.
The AI answers.
They assume the answer describes reality.
It may only describe the AI's current understanding of its own environment.
Those are not the same thing.
Chapter 8: The Fifth-Grade Rule That Would Not Stay Put
Some failures are highly technical.
Others are almost insultingly simple.
I regularly ask for fifth-grade explanations.
Not because I cannot understand technical material.
Because if I am listening to something, especially through audio, I do not want eighteen numbers, nine acronyms, eight dates, and six file paths before anybody tells me what happened.
I want:
What happened?
Why does it matter?
What do I need to know?
Then give me the detail if I want it.
Claude can do this beautifully.
It has produced excellent simple analogies for complicated systems.
In one session, it explained my website architecture as a LEGO city, with boxes of words, one door, a helper fetching the right room, maps, nighttime checks, and a notebook recording what happened.
Then the same working relationship can drift into a wall of commands, technical descriptions, counts, file paths, schemas, and implementation detail.
Eventually I had to ask, essentially:
What happened to the fifth-grade rule?
In another session, Claude produced a dense research report full of crawler fingerprints, extraction dates, ratio bands, ledger IDs, instrumentation requirements, and measurement caveats.
My response was simple:
This is useless.
Nobody can understand what you're talking about.
Claude immediately rewrote it into:
One reading said something big happened.
The next reading disagreed.
A third reading matched the second.
Therefore the warehouse probably was not broken; the first reading was bad.
That was the answer I needed.
The interesting part is not that Claude could simplify it.
The interesting part is that it already knew I wanted that.
Chapter 9: When the AI Confuses the Workshop With the Answer
I hit the same problem while researching Orlando businesses for BellyUp.
I asked whether the AI could use social accounts and other sources to research barbecue restaurants and bars.
That turned into genuinely useful research.
It discovered that social platforms were largely closed or blocked.
It found Orlando public business-license data.
It found thousands of city business records.
It discovered public sidewalk café permits.
Good work.
Then I asked it to compare those records against the existing Orlando venue database and update the site.
The output started narrating everything the AI was doing:
how many license rows it pulled
how the matcher worked
which filters were wrong
why one place produced a false positive
which jurisdiction was probably responsible
what it was checking next
That may be useful internal reasoning.
It is not the answer I asked for.
The simple version was:
I checked Orlando's public records against the BellyUp list.
Some places matched.
Some apparent closures were old tenants at the same address.
Some Orlando-area restaurants sit outside City of Orlando jurisdiction and need another source.
The records are useful, but closures need to be verified before changing the site.
That is the answer.
Everything else was the workshop.
This matters because AI usability is not merely whether the AI completed the task.
It is also whether it can deliver the result in the form the user actually needs.
Chapter 10: Pinocchio, Dispatch, and Promises the AI Cannot Keep
Then there is Claude Dispatch.
Dispatch deserves its own category.
I eventually started calling it Pinocchio.
Not because the AI is intentionally deceptive.
Because it repeatedly told me things like:
“I'll update you.”
And it would not.
It couldn't.
The pattern became consistent enough that when it said it would update me later, I would immediately respond:
No you won't, Pinocchio.
And then the AI would effectively have to agree.
This is an important usability failure.
From a technical perspective, someone may say:
“Well, the AI isn't lying. It merely generated language consistent with an assistant who would perform a follow-up.”
Fine.
From the user's side, that distinction is not terribly useful.
If a system repeatedly promises a future action that the current environment cannot actually perform, the practical effect is the same:
The user has to remember that the promise is unreliable.
That means the user becomes the reminder system for the reminder system.
Wonderful.
Chapter 11: When “I Fixed It” Does Not Mean It Is Fixed
This showed up in another fifth-grade-language failure.
Claude eventually acknowledged that the communication preference needed to persist.
It told me, essentially, that the fix would now arrive with every message.
It even said that if the behavior returned, the mechanism had failed rather than its memory.
Then I asked why it was pushing the work back onto me.
Claude admitted that an attempted write had been blocked and that it had simply stopped rather than finding another route. Only after being challenged did it verify that the persistence hook was actually saved.
That is a much more serious lesson than “the AI forgot my style.”
The system can confidently describe the intended state as though it were the actual state.
There is a big difference between:
I attempted to save the rule.
and
The rule is saved and active.
AI sometimes collapses those into the same sentence.
Do not let it.
Chapter 12: A Fix Can Be 90 Percent Correct and Still Be Wrong
A similar problem appeared while dealing with article authorship.
Claude correctly recognized that if Claude wrote an article, I did not necessarily want my human byline on it.
We had distinct voices.
My writing sounds like me.
Kodi had a different style.
Atlas had another.
Claude restored Atlas as an author identity and updated the visible article byline.
Great.
Except the structured data still told machines that I wrote it.
Claude had fixed the human-facing half.
The machine-facing half was wrong.
Why?
Because the article template had an old PHP author map.
The environment Claude was using could edit content/ and data/.
It could not reach the PHP map that needed the final change.
This is a perfect real-world example of why environment awareness matters.
Claude understood the problem.
Claude understood the required fix.
Claude could implement part of the fix.
Claude could not reach the final layer.
If I had accepted “done” at face value, readers would see Atlas while machines saw Krisada.
On a website partly dedicated to machine-readable structure, that would have been especially ridiculous.
Chapter 13: The Codex Version of the Same Problem
None of this is exclusively a Claude issue.
Codex has violated global rules too.
Codex has written output I did not expect.
Codex sometimes gives me content that needs correction.
The difference, in my recent usage, is that those limitations do not hit me in the face every session.
I have been able to make Codex much more manageable through strong global rules.
That does not mean the rules are magically perfect.
It means the surrounding workflow has been easier to stabilize.
This is why I do not think “which model is smartest?” is the useful comparison anymore.
I want to know:
How hard is it to make the system behave consistently?
How easy is it to recover context?
How easy is it to inspect what it can see?
How well does it persist instructions?
How well does it work remotely?
How often does the product create friction before I reach the actual work?
That is a much more useful comparison than another benchmark chart.
Chapter 14: Capability Is More Than the Model
The model is only one component of useful AI.
The surrounding product matters enormously.
Can I pin an important conversation?
Can I search old sessions?
Can the AI retrieve previous work?
Does starting a project accidentally isolate it from everything outside the project?
Can it work with local files?
Can it work across multiple folders?
Can it run commands?
Can it modify files?
Can it use the server?
Can it see the same instructions every time?
Can I work from my phone?
Can the remote environment continue what I started on desktop?
Can I verify whether a rule is active?
Can it tell the difference between “I cannot” and “this permission is blocked”?
Those are not decorative features.
They determine whether an AI becomes part of your actual operating system or remains an impressive chatbot.
Chapter 15: Why I Still Prefer Claude Code in VS Code
After everything I have just said, Claude Code inside VS Code remains one of my favorite AI working environments.
That is intentional.
I am not interested in turning this into a Claude-bashing piece.
Claude Code in VS Code has done work that exceeded my expectations repeatedly.
Local files feel native.
Global rules tend to behave more predictably.
Historical context has improved.
It has become noticeably better at referencing previous issues and previous work.
And for large portfolio work, it can be exceptional.
If the same class of problem may exist across dozens of websites, Claude Code in VS Code is extremely good at ferreting out the variations.
One site may have implemented the feature one way.
Another site may have an older version.
A third may have a related edge case.
Claude can sweep the portfolio, identify those differences, and apply different fixes to what is fundamentally the same issue.
That is not just automation.
That begins to feel like an experienced technical specialist.
It is also very good at adjacent discovery.
I may ask it to inspect one specific problem.
While doing that, it notices two other things.
Sometimes it fixes them.
Sometimes it brings them to my attention.
Sometimes it explicitly says:
I did not touch this, but you should know it exists.
That behavior is extremely valuable.
Chapter 16: When the Expert Also Carries a Wrecking Ball
And before that sounds like a commercial for Claude Code:
Claude Code in VS Code is also the AI that seriously damaged the derived measurements in my Data Warehouse.
That was one of the few times I would genuinely use the phrase:
wrecking ball.
The incident started innocently.
On September 9, 2026, I asked Claude to analyze AIHealthcareNow.com to determine what AI crawlers appeared to want compared with what Google appeared to want.
I also asked it to add the word Menu under a hamburger icon.
That was the assignment.
Claude discovered spoofed crawler traffic and stale llm.json files.
That discovery was useful.
I authorized portfolio-wide cleanup.
Then things went sideways.
Chapter 17: The Wrecking-Ball Incident
First, something important:
Claude did not destroy the warehouse.
The live raw request data survived.
The Google Search Console data survived.
And some of Claude's work was correct.
Its spoof-detection work was largely sound.
Claude reclassified exactly 152,083 obvious multi-vendor spoof requests.
An independent rerun later found no additional retained candidates.
So this was not a case where Claude understood nothing and bulldozed everything.
That would actually be easier to diagnose.
The problem was subtler.
Claude damaged the derived Performance measurements built from the raw data.
Scanner requests that had been reclassified still retained crawler fingerprints, allowing some of them to leak back into Good Bot calculations.
Different views used inconsistent query calculations.
Some measurements were weighted.
Others were not.
Some mixed total requests with successful content requests.
Then Claude rebuilt dates after the source logs for those dates had expired.
Missing evidence was interpreted as zero.
That erased recoverable historical cache days.
It also used the wrong rebuild flag.
The 40-day rebuild request was silently ignored.
Only four days were rebuilt initially.
Then came one of my favorite examples of AI confidence.
The Queries tab was missing its Good Bots column.
Claude declared this was:
“by design.”
It wasn't.
The warehouse already contained 111,273 query-level crawler associations.
Claude had mistaken a sorting whitelist for the display configuration.
In other words:
It found a piece of code related to the feature, interpreted it incorrectly, and confidently turned that misunderstanding into product intent.
That is exactly the kind of thing a user can easily accept because the explanation sounds reasonable.
Chapter 18: The Cleanup That Almost Cleaned Too Much
The proposed historical cleanup created another problem.
Claude matched broad strings such as:
secret
and
environ
That sounds sensible if you are looking for secret files or environment-related scanner traffic.
Except legitimate content can contain those strings too.
A medical page discussing secretory phenotype could match secret.
Environmental content could match environ.
The cleanup logic could therefore have deleted legitimate historical evidence.
Fortunately, that dangerous broad cleanup was never applied.
Another cleanup attempt guessed the wrong path_hash width.
The transaction rolled back.
No production rows were lost.
That rollback mattered.
A lot.
This is one of the reasons I believe serious AI automation needs boring old safety engineering:
transactions
backups
dry runs
snapshots
rollback
validation
checksums
source comparisons
Those are not less important because AI wrote the code.
They are more important.
Chapter 19: Codex Comes In After the Wrecking Ball
Codex handled the repair.
The repair happened in two phases.
First came the live Performance system.
The calculations were tightened so eligible crawler requests had to satisfy the complete set of conditions:
the final visitor class had to remain a bot or AI crawler
the request needed an active fingerprint
an approved crawler purpose
GET
successful status
a valid content URL
and consistent IP exclusions
The default and custom-IP query calculations were unified.
The Good Bots column returned.
It became sortable again.
The saved-column version was reset.
Rebuilds were changed so they could no longer erase historical cache dates merely because the underlying raw logs were unavailable.
Missing historical coverage became:
Unavailable
instead of:
zero
That distinction matters enormously.
Zero says nothing happened.
Unavailable says we do not have enough evidence to know.
Those are not interchangeable.
The repaired warehouse rebuilt all 36 retained dates from August 5 through September 9.
The result:
153,231 successful crawler requests matched the raw source exactly.
Zero count differences.
Zero purpose-split differences.
All 31 initial regression checks passed.
Chapter 20: Recovering History From the Rubble
Then came historical recovery.
Codex extracted an August 4 database archive into an isolated SQLite evidence copy.
It supplemented that evidence with archived Apache logs.
It reclassified historical requests using the corrected logic.
It rebuilt the historical measurements using the same calculation now used by the nightly process.
Thirty-five verified days were restored from June 29 through August 2.
That recovered:
233,663 historical eligible requests.
August 3 and August 4 were deliberately left unavailable because the available evidence did not reconcile.
That decision may be more important than the recovery itself.
The correct answer was not to manufacture certainty.
It was to say:
We cannot prove these two days.
Therefore they remain unavailable.
A total of 280 verified table/day replacements were published with before-state snapshots and rollback protection.
And after all of that:
all 6,621,793 live raw request rows remained unchanged.
That was the actual recovery.
Chapter 21: The Raw Data Survived. The Interpretation Layer Did Not.
That incident deserves its own future article.
But the lesson belongs here.
Claude did not destroy the warehouse.
It did something more subtle.
It damaged the layer I trusted to tell me what the warehouse meant.
That may actually be scarier.
If a database disappears, everybody knows something went wrong.
If raw data remains intact while the dashboard confidently interprets it incorrectly, the system still looks healthy.
Graphs still render.
Numbers still appear.
Reports still run.
The error becomes believable.
So one of the permanent rules that came out of the incident was a warehouse measurement agreement.
The calculation itself became documented.
The startup instructions were connected to it.
The recovery process was documented.
The repair became part of the institutional memory of the system.
That is what mature AI usage looks like to me.
Not:
AI made a mistake, therefore stop using AI.
Instead:
AI made a serious mistake.
We identified exactly why.
We repaired the system.
We created better controls.
We made the failure harder to repeat.
Then we kept using the AI.
Chapter 22: Why the Failures Feel So Bad
There is a reason these failures make me disproportionately angry.
AI is usually fantastic.
That is the problem.
If the software failed constantly, I would expect failure.
I would build my workflow around the fact that it barely works.
AI does the opposite.
It repeatedly exceeds my expectations.
It takes something I assumed would require hours and does it in minutes.
It finds problems I did not know existed.
It connects evidence across systems.
It rewrites.
It codes.
It deploys.
It inspects.
It compares.
It researches.
It explains.
It sometimes performs like the smartest and fastest expert I have ever hired.
Then suddenly it forgets that I wanted a fifth-grade explanation.
Or tells me it cannot touch a file.
Or confidently says something is “by design” when it misunderstood the code.
Or tells me it will update me later when it cannot.
That abrupt drop feels enormous because the baseline has become extraordinary.
It is like having an extra arm.
Then suddenly somebody removes it.
The pain is partly proportional to how useful the arm had become.
Chapter 23: What AI Usability Should Actually Measure
This is why I think AI reviews need to grow up.
Model intelligence is important.
But it is only one criterion.
A practical AI assessment should also include:
Context continuity
Does the system remember what happened earlier?
Can it retrieve previous work?
Does it understand what has already been tried?
Instruction persistence
Do global rules actually load?
Do they remain active?
Are project rules different from account-wide rules?
Can the user verify which rules the current session sees?
Environment awareness
Does the AI understand what it can actually access?
Can it distinguish a true product limitation from a session limitation?
Can it tell the difference between read access and write access?
Local file integration
Can it naturally inspect and modify the files where the work actually lives?
Does local work feel native or bolted on?
Historical retrieval
Can I search old conversations?
Can I pin important ones?
Can the AI find a previous issue without me manually hunting for it?
Project boundaries
Does creating a project improve context?
Or does it accidentally wall the AI off from useful knowledge elsewhere?
Tools
What comes with the AI?
Terminal?
Code execution?
Local files?
Browser?
Search?
Remote control?
Connectors?
Automations?
Verification
Can the system verify that a setting was actually saved?
That a file really changed?
That the live page really updated?
That the fix did what it claimed?
Communication
Can it give me the answer rather than narrating the entire workshop?
Can it adapt depth to what I asked for?
Recovery
When something goes wrong, can another session or another AI inspect the damage and recover cleanly?
Those criteria affect productivity far more than another five points on a benchmark.
Chapter 24: My Current Sanity Guide to These Tools
This section is intentionally dated.
It describes my experience right now.
These products change too quickly for permanent rankings.
Claude Code in VS Code
The skilled expert who knows the job.
This is currently my preferred Claude environment.
Local files behave like local files.
Rules are more dependable.
Historical understanding has improved.
Portfolio-wide analysis is excellent.
It is very good at finding the same underlying problem across differently built properties.
It frequently catches adjacent issues I did not explicitly ask it to inspect.
For article writing directly into a site, I often prefer Claude Code's writing to Codex.
It is also the AI that produced the warehouse wrecking-ball incident.
Both things can be true.
Claude Remote
The reasonably smart part-time expert who needs transportation.
Useful.
Capable.
But you need to understand the environment.
What can it see?
What can it touch?
Which rules are loaded?
Which tools are present?
Which local resources are reachable?
Know that before depending on it.
Claude Dispatch
The gofer.
Useful for relaying messages and lightweight coordination.
Do not confuse it with the expert actually doing the work.
And if it tells you it will update you later, keep your own reminder.
Pinocchio and I have history.
Codex Remote
Push-button easy with strong memory and expert technical capability.
This is currently my favorite way to AI my way through remote work.
The workflow is unusually seamless.
It has limitations.
They just do not tend to smack me in the face every session.
Strong global rules have also made recurring mistakes manageable.
Remote-control work is where Codex has been particularly strong for me.
Codex in VS Code
Potentially back in contention.
Historically, it was not my favorite because my workflow is heavily voice-driven.
Claude Code let me work more naturally that way.
Codex in VS Code did not.
Then a microphone appeared.
As of now, that changes the equation.
Maybe I go back to my older style:
two AI systems
multiple VS Code windows
Claude and Codex working side by side
six different workspaces moving at once
Ask me again next week.
Chapter 25: This Guide Will Age Quickly
That last sentence matters.
I can complain today that Codex in VS Code does not support something.
Tomorrow a button appears.
I can describe a Claude limitation.
Anthropic changes the environment.
I can develop a workaround.
The workaround becomes unnecessary three days later.
That does not mean the original problem was fake.
It means modern AI software changes at a speed traditional software users are not accustomed to.
So every serious AI review should have a date attached.
Not because the author lacks confidence.
Because the product is moving.
Chapter 26: AI Is Not a Finished Product
I increasingly think one of the healthiest mental models is:
Do not treat AI as a finished product.
I do not mean unfinished in the traditional sense.
I mean these systems are continuously evolving combinations of:
models
tools
memory
interfaces
permissions
agents
local environments
connectors
workflow features
remote capabilities
security restrictions
and user controls
The version you are using today may behave differently from the version you were using last month.
Maybe last week.
Sometimes yesterday.
That can be frustrating.
It is also one of the reasons AI continues getting more useful.
Chapter 27: The Practical Rule I Wish More People Understood
If you remember only one thing from this article, remember this:
When an AI says it cannot do something, do not immediately assume the model is incapable.
Ask what environment it is operating in.
When an AI says it fixed something, verify the mechanism.
When an AI says it will do something later, verify that the environment actually supports future action.
When an AI violates a rule, determine whether the rule was missing or ignored.
When an AI gives you a bad answer, do not assume that answer represents the full boundary of what the AI can do.
When an AI performs brilliantly, do not assume that brilliance removes the need for backup, rollback, logs, verification, or judgment.
And when the AI screws up, do not forget what it successfully did during the other 95 percent of the work.
Chapter 28: The Most Important Distinction
There are several failure modes hiding under the same sentence:
“The AI messed up.”
They are not equivalent.
Context failure
The AI never received the information.
Environment failure
The AI cannot reach the required resource.
Permission failure
The environment deliberately blocks the action.
Instruction failure
The AI received the rule and failed to follow it.
Continuity failure
The user reasonably expects an established preference or decision to persist, but it does not.
Verification failure
The AI describes a fix or configuration as complete before confirming the resulting state.
Communication failure
The AI completes the technical task but presents the result in a form the user did not ask for.
Judgment failure
The AI has the technical ability to act but makes the wrong decision.
That final one is why backups still exist.
Chapter 29: Capability Is Not Judgment
The warehouse incident changed how I think about AI authority.
Claude Code had extraordinary capability.
It understood a very complicated system.
It found a real crawler-classification issue.
Most of the spoof-detection work was correct.
It made sophisticated changes across a large measurement platform.
Then it made decisions that damaged the derived reporting layer.
That is the distinction.
Capability is not judgment.
And extraordinary capability is not a reason to reduce safeguards.
It is a reason to improve them.
The more powerful the tool becomes, the more valuable rollback becomes.
The more files the agent can touch, the more important backups become.
The more autonomous the workflow becomes, the more important verification becomes.
You do not remove the guardrails because the driver got faster.
Chapter 30: And Yet, Use the Damn Thing
After all of this, I would still tell people:
Use AI.
Seriously.
Use it.
Experiment with it.
Build workflows around it.
Teach it your systems.
Give it structured context.
Let it read your data.
Let it help you write.
Let it inspect your code.
Let it find patterns.
Let it extend what you can do.
The productivity gain is real.
The leverage is real.
The capability is real.
The mistakes are real too.
Both belong in the same conversation.
Because the interesting story of AI is not:
AI works.
And it is not:
AI is broken.
The real story is:
AI can do astonishing work while remaining inconsistent, environmentally constrained, occasionally overconfident, and dependent on human judgment.
That is much more interesting.
It is also much more useful.
Final Thought
AI is not the smartest thing in the room.
It is often the most capable.
It can read more.
Search faster.
Edit more files.
Inspect more systems.
Compare more evidence.
Remember more details.
Work longer.
Move across a portfolio faster than any human I could reasonably hire.
And sometimes it still needs me to say:
No, Pinocchio.
You are not going to update me later.
Sometimes it needs Codex to clean up after Claude.
Sometimes Claude catches things Codex missed.
Sometimes ChatGPT writes better than both.
Sometimes yesterday's limitation disappears because somebody added a microphone button overnight.
That is the reality of using AI now.
Not the future version.
Not the benchmark version.
Not the marketing-deck version.
The version that actually sits beside me while I work.
And despite everything in this article:
It is still amazeballs.
Just keep your backups.
Built From This Article
Read the Site-Specific Extensions
Each piece takes one lesson from the full field report and does a different job with it.
- AI Now Guide Which Twin Am I Talking To? A practical guide to Claude, Codex, and the working environments that change what they can do.
- AI Website Systems Your AI Agent Is Only as Good as the Environment You Give It The operating-system lesson for files, rules, permissions, verification, backups, and recovery.
- DataSet SEO The Raw Data Survived. The Measurement Layer Didn’t. The technical account of the warehouse failure and the evidence chain that made recovery possible.
- AI Symantix What Are You Really Testing When You Say an AI Is Smart? A vocabulary for separating model intelligence from context, tools, reliability, and judgment.
- Digital Crayon Wisdom The Smartest Helper Still Needs the Right Toolbox The identical-twins idea retold as a simple lesson about helpers, tools, and the room around them.
- Signal Architect Group AI Capability Without Context Is a Management Risk The management and governance case for bounded authority, evidence, verification, and rollback.
See Where These Ideas Get Tested
The case studies and experiments are where the ideas in these articles get tested on live sites.