Unbuilt Is Not Broken: Understanding AI Validation Findings | Mycroft AI
Uday Sonawane explains how a contract checker on the Mycroft project reported 725 findings, 554 of which were just draft recipes with no scripts yet. The video gives three questions for judging any count of problems.
Uday Sonawane presents his week on the Mycroft project with a surprising headline. A checker reported 725 findings, and 554 of them were not defects at all. They were unbuilt work, correctly described. The number that had been quoted was the big one, and the video explains why the real picture was much smaller.
Where the 725 came from
Two episodes earlier, Uday built a checker that counts contract mismatches between a recipe and its scripts. It reported 725 findings, and 554 of them were one message: "This step has no script." Those recipes, however, were marked draft. A draft recipe whose scripts do not exist is not broken. It is a draft, and the work is honestly described as unbuilt.
Three questions for any count of problems
The video offers three questions to ask of any count of problems:
- Does this finding contradict a claim? If nothing was claimed, nothing can be wrong.
- Which list did you match against, the specific one or anything that looks similar?
- Did the guard ever fire? A safety check that never triggers is only evidence if you know it could have.
Question one: a rule instead of a number
The answer to the first question is a rule rather than a count. A finding is a defect when it contradicts something the recipe claims. Everything else is the honest state of unfinished work, and it gets named rather than counted. Applying that rule took the count from 725 down to 171. Then 91 recipes received the status they were missing, which brought it down to 80, with 90 recipes now completely clean.
Question two: check before you label
This was the question that nearly went wrong. Before stamping 91 recipes as draft, Uday checked whether any actually had working scripts, since the label would be false for those. The first survey said 42 of them did, which would have mislabeled nearly half the batch. But that query matched any path under scripts that a recipe happened to mention, including legacy scaffolds that exist and do nothing. Narrowed to the six canonical steps in the script locations table, the real answer was zero for all 91. What got added was eight lines at the top of each file: a draft status, the count of the recipe's own open to-dos, and nulls where there is genuinely nothing yet.
Question three: a guard that never fires
The generator that writes these lines refuses to stamp draft on any recipe that does have canonical scripts on disk. Across all 91, that refusal never fired. Normally a guard that never triggers is worth nothing as evidence, but here the 42 from the first survey proves it could have fired if the narrow query had been wrong.
A mistake caught on camera
The video also admits an unplanned error. Uday's own count of recipes carrying a status line came back 98, while the checker said 97. His command searched the whole recipes folder and also matched a YAML file that happens to contain the word status. That was the same kind of mistake as the 42, made by the person making the video. The claim that nothing below line one changed can be checked from the diff alone: 91 files, 728 insertions, zero deletions, every hunk starting at line one. One more detail is that open to-do counts exclude markers inside gate test commands, which would otherwise inflate every recipe built from the template.
Key takeaways
- A raw count of findings can hide the fact that most are honest descriptions of unfinished work.
- A finding is a defect only when it contradicts something that was claimed.
- Name unbuilt work rather than counting it as a problem; the count here went from 725 to 171.
- Check that a label is true before applying it in bulk.
- Match against the specific list, not anything that looks similar.
- A guard that never fires is evidence only if you can show it could have fired.
- Claims about a change can be verified from the diff, here 91 files, 728 insertions and no deletions.
Try it yourself
Take any list of problems your tools produce and sort it by one question: does this contradict something we claimed, or is it just something we have not built yet? The video's point is that the second pile is not a backlog. It is a description.
Full transcript(auto-generated, with timestamps)
[0:00]I'm Uday Sonawane, and this is my week on Mycroft. The checker said 725 findings. 554 of those were not defects at all. They were unbuilt work correctly described, and the number being quoted was the big one. Two episodes ago, I built the thing that counts contract mismatches between a recipe and its scripts. It reported 725 findings, and 554 of them were one message, "This step has no script." But, those were recipes marked draft, unbuilt work honestly described. A draft recipe whose scripts do not exist is not broken. It is a draft. Three questions for any count of problems. One, does this finding contradict a claim? Because
[0:38]If nothing was claimed, nothing can be wrong. Two, which list did you match against? The specific one or anything that looks similar? Three, did the guard ever fire? Because a safety check that never triggers is only evidence if you know it could have. The ask was to stop counting honest states as problems, and then to fix the one that was a real problem. Question one, and the answer is a rule rather than a number. A finding is a defect when it contradicts something the recipe claims. Everything else is the honest state of unfinished work, and it gets named rather than counted. That took 725 to 171.
[1:10]Then, 91 recipes got the status they were missing, and it went to 80 with 90 recipes now completely clean. Question two, and this is the one that nearly went wrong. Before stamping 91 recipes as draft, I checked whether any of them actually had working scripts, because draft would be a lie for those. The first survey came back, 42 of them do. That would have mislabeled nearly half the batch. But, that query matched any path under scripts that a recipe happened to mention, including legacy node scaffolds that exist and do nothing. Narrowed to the six canonical steps in the script locations table, the real answer is
[1:45]Zero. All 91. Here is what actually got added, eight lines at the top of each file. Status draft, the count of its own open to-do's, and nulls where there is genuinely nothing yet. Question three, the generator that writes these refuses to stamp draft any recipe that does have canonical scripts on disk. It stops instead. Across all 91, that refusal never fired once. Now, a guard that never triggers is usually worth nothing as evidence. It is worth something here for one reason. The 42 survey proves it could have fired and would have if the narrow query had been wrong. Now, the part I did not plan. While checking
[2:19]These numbers, I ran my own count of how many recipes carry a status line. It came back 98. The checker says 97. My command searched the whole recipes folder, so it also matched a YAML file that happens to contain the word status and is not a recipe at all. That is the same mistake as the 42 in the same week committed by the person making a video about it. Verified, the claim is that nothing below line one changed in any of the 91 files, and that is checkable from the diff alone. 91 files, 728 insertions, zero deletions, and every single hunk starting at line one and
[2:52]Adding exactly eight lines. One more detail worth stealing. The open to do counts are counted per recipe, and markers that appear inside the gate test commands are excluded because two of the gates grep for to do markers, so a naive count reads too high on every recipe built from the template. Your turn. Take any list of problems your tools produce and sort it by one question. Does this contradict something we claimed, or is it just something we have not built yet? The second pile is not a backlog. It is a description. Unbuilt is not broken.
More from Mycroft Financial AI
3:35JBoss Migrator Explained | Application Migration & Java Modernization | Mycroft AI
3:35JBoss Migrator Explained | Application Migration & Java Modernization | Mycroft AI
4:50Exploring Open-Source AI Development & GitHub Collaboration | Mycroft AI
3:28What-If Simulation Agent & Workflow Validation | Mycroft AI
3:54Open-Source AI Development & Pull Request Review | Mycroft AI
2:11