The Detector That Couldn't See 'Ran'
We ran a 50-agent audit of our own lyric engine and found the ruler was bent: the detector that measures kinetic, high-energy writing was silently blind to the verbs kinetic writing is made of. Here is the bug, the fix, and why we went looking.
If you build a machine that measures craft, the most dangerous bug isn't in the writing. It's in the ruler. We just found one.
SongForgeAI's whole premise is that lyric quality can be measured — not perfectly, but honestly, on a published 12-metric standard with dozens of deterministic craft detectors underneath it. One of those detectors counts active verbs: the physical, moving verbs that separate a lyric that does something from one that just announces a feeling. "I ran the whole way home" is motion. "I felt so overwhelmed" is a caption. High-energy, joyful, main-character-energy writing lives or dies on that difference, so the detector that measures it is load-bearing.
It had a hole in it. And we only found it because we went looking on purpose.
The audit
We pointed fifty independent review agents at our own engine — the forge and the Song-Novel system — with one instruction: read the actual code, ground every claim in a specific line, and judge everything by whether it makes the finished lyric better. No credit for cleverness. A dedicated "complexity hawk" seat existed only to kill anything that added machinery without adding quality.
The single highest-ranked finding, agreed on independently by multiple reviewers, wasn't a missing feature. It was a bent ruler.
The bug
The active-verb detector normalizes each word before it checks it against its list of motion verbs — it strips off endings so "running," "runs," and "ran" all resolve to "run." Except that logic only handled regular endings. "Running" → "run," fine. But irregular past-tense verbs were invisible. "Ran," "sang," "came," "drank," "threw," "rose," "fell" — the machine didn't recognize a single one of them as a verb.
Sit with which verbs those are. They are the exact words a past-tense, kinetic, joyful lyric is built from. We ran. She sang. I came alive. The detector meant to reward motion was structurally blindest to the most-sung motion verbs in English — and it was reading our own best high-energy output as if it were flat.
That's not a rounding error. A song can be measured as failing the very quality it nails, and a downstream refinement pass, trusting the number, can "correct" a genuinely alive verse back toward the safe, still register it was supposed to escape. The failure the operator had actually reported months earlier — asking for spontaneous joy and getting quiet introspection — had a measurement bug sitting underneath it the whole time.
The fix
The repair is boring, which is the point. We added a lookup of about a hundred irregular past-tense and participle forms — ran → run, sang → sing, came → come — that runs before the ending-stripping logic. Pure, deterministic, no model call, no latency, no cost. Roughly twenty lines. The detector now sees the verbs it was built to see.
We shipped it first, ahead of flashier improvements from the same audit, for a specific reason: a sharpened ruler makes every measurement downstream of it more honest. Several other fixes lean on that verb signal. Fix the instrument before you trust its readings.
Why we're telling you
Because "we measure lyric craft" is only a real claim if we're willing to audit our own measurements — and to say out loud when one was wrong. The temptation, when you've built a wall of detectors, is to trust the wall. The discipline is to keep asking whether each detector actually sees what it says it sees.
The most valuable thing the audit produced wasn't a feature. It was a bent ruler, straightened. If you want to see the standard those rulers serve, it's public. If you want to hand a lyric to the sharpest of them for free, paste it into the Crucible. And if you want to hear what the engine does when the measurements are honest, forge a song.