The Mirror Cannot Reflect Thought
Or: By the time your hand reaches for the tool, you are already fleeing
2026-09-07
First in a six-part series on what building with AI agents did to one developer. This piece is where the hand builds a mirror — and where the person flees.
I walked to the computer barefoot. The floor was cold. The thought arrived before my feet: one more rule to add.
Drop a piece in. Wait for a number — 87, 91, 93. Each point higher, as if someone had made the call for me. No one made the call.
On the desk, another piece. I finished it and sat a long time. Hand on Enter. Did not press. Unscanned, it stayed whole. Scanned, the rules would hit my face. I left face-hitting samples outside. What kept scoring inside was only what I dared to drop in.
Not oversight. Design. Designer: me — set by the third month of building the mirror.
The number comes from a style mirror. Feed it an article; it counts surface habits of the "AI cadence" — triple parallelism, colon-bold headings, dense tables, the "this is" close — fingerprints, I call them — marks where they sit, folds the hits into an "AI-flavor" index from 0 to 100. The docs refuse to call it a score. When the run finishes, I watch only that number. It looks like a grade. I use it like one.
The three seconds — I could not sit through them. I built a mirror to sit through them for me. The one who sits does not exist. Three months to build it. Outwardly: to tell whether a piece was AI-written. Further back: to tell whether it could be trusted. Two lines twisted into one strand — know the habits, approach trust. While twisting, I thought I was laying a road. What I built was a shortcut that let me skip the body text.
For a while, the shortcut looked open. Users dropped articles in; numbers came back. Someone said: useful. Someone asked for one more rule. Someone revised, scanned again, sent a screenshot — finally sounds human. At night someone asked: could this be the first gate of review? Not many messages. Each one made me feel I was still moving forward. I tended myself the same way: less body text, more return values; fewer of those seconds, one more rule instead. The mirror was done. I had become the one who made the mirror.
Once, dropping a piece in, I watched the number tick and realized I was no longer in the article. The article was over there. I was on the number's side. The words stayed where they were. No one turned the page. First, two tech blogs. Tables dense, numbers stiff — "3.5 person-months," "67%," "30–50%." The mirror returned:
table density: 8
number authority: 12
colon-bold: 4
note: humans don't write this many tables.
He said:
The body is AI-written. But the tables and data are from experiments.
Felt like a routine patch. Measured numbers; the mirror had bitten genre. I added a filter, saved. I never finished the blog. Closed the window.
Next. Scan came back clean. I heard myself say: the rules work.
He said:
This is AI-written. But the thought is mine.
"Clean" shattered. I typed into the README: few fingerprints only means few fingerprints. Still didn't finish the body.
Later still — no sample, nothing to scan.
De-AI is pointless. An article just needs to resonate. Just needs thought.
I closed the laptop. The track for arguing was gone. "Useful" and "first gate" no longer met this sentence. Still in the screen ghost: rules.py, samples/, results-v2/. Three months of commits, seriousness stacked into a shelter. Article outside, me inside. Hand on the closed lid.
On the desktop, a folder named "to write." Inside, one file:
What Am I Still Writing in the AI Era
Empty. Open now and then, read the title, close. The title holds. The words never come.
To write an opening asks a few seconds: finished reading, no score, no one cutting first. The mirror does not ask for those seconds. It returns a number that moves. The number arrives more willingly than silence. Three user pieces. I finished none. "The thought is mine" — a good imitation of thought looks like thought; the mirror cannot tell who is speaking. I thought all of that. After thinking it, I still went to add a filter.
The mirror cannot reflect thought — that used to sound like a title. Not that the mirror was too dim. The samples that carried thought were never admitted. When the score jumped, it was not thought jumping. It was the layer I had allowed to be seen.
That day I didn't shut the computer. Sat. Typed a character, deleted it. Another, deleted it. The delete key sounded more solid than the words.
Sometimes after a paragraph, hand on the desk edge, a few seconds. No word. The mirror only eats text. Those seconds hold none. Blind there.
The hand wanted to add another filter. Already judged.
The judgment is short: stop letting a number work those seconds for you. Fingerprints can be counted. Thought asks a person to sit.
The mirror is still here. The numbers will still jump. The title is still there. The cursor still blinks.
If the words don't come, the hand stays on the keyboard. Don't touch rules.py first.
Companion essays in this series, to follow: Judging Fatigue — From Verifying AI to Verifying Myself · From "show me your code" to "show me your idea" · The Boundary of the Harness · A Reviewer Nailed Me in Six Places
Top comments (0)