Blog
Notes on explainable AI, AI safety, Chain-of-Thought reasoning, and building trustworthy AI products.
Posts
-
2026
I Measured an Agent Gate Without a Model in the Loop. Here Is What It Catches, and What It Costs.
The paper behind ReasonGate, now on Zenodo. A provenance gate on tool calls, measured by replaying the fully hijacked agent through AgentDojo with no model at all: attack success from 95.6% to 3.1%, 34 points of the user's own tasks as the price, what it costs in front of real MCP servers, the fourteen defects found in my own gate, a coverage map next to another gateway, and the model that did not need it.
-
2026
Four Ways to Grow a Classifier, and Why the Safest One Cannot Learn
My paper on arXiv: the obvious way to deepen a soft decision tree without changing its function leaves the new gates with a gradient that is exactly zero, not small, so the added level never learns. The proof, what it cost on Iris, Wine and Digits, why the cost is zero on two-class problems and tens of points on multi-class ones, and what the other three growth decisions actually buy.
-
2026
I Built neural-trees. It Is Ready for Other People. Here Is What It Does and What It Does Not.
A scikit-learn compatible library of tree models that train by gradient descent: soft, multivariate and omnivariate trees, a hierarchical mixture of experts and a growing network. Every claim is regenerated in CI, every prediction comes with a path and a verified counterfactual, the model exports to JSON and ONNX, and the honest benchmark says where it loses.
-
2026
What I Measured After Hacker News Broke My LLM Agent Gate
In July a Show HN produced a working bypass and two people saying signature matching was the wrong method. They were right. What the rule layer actually catches on real attacks (19.8%), why 59% of the misses cannot be caught by any input filter, a provenance gate measured on AgentDojo (97% to 9% attack success, at a measured price in utility), five changes each re-measured, a model that did not need the gate, and a policy judge for the 59%.
-
2026
A Warehouse Robot Stops and a Worker Walks Into It. Can Anyone Find Out Why?
A robot stops, a worker collides with it, and the logs say what happened without saying why. Post-hoc explanation answers the wrong question: it explains one prediction, while an investigation needs the decision sequence. How TRACE builds the audit trail into the architecture across four layers, the three metrics an outside engineer can compute from the log, the 0.12 ms it costs per cycle, and the 30 petabytes a fleet would need.
-
2026
A Robot Ran 100 Metres in 8.64 Seconds in Beijing: So What Does That Number Mean?
The Games by the numbers, the specifications of the record-setting Tiangong Ultra, and what happened after the finish line: several runners, the champion included, hit a padded barrier. Why stopping is harder than running, with the two limits worked through, why the arithmetic inverts off the track, numbers from my own slip measurements, and the deceleration test I would like the Games to add.
-
2026
Can My Robot Tell What Ground It Is On? I Measured It, and the Answer Came Eight Seconds Late
Three tests on the precondition for a terrain classifier: what it does on ground it has never seen, whether the information is in the data at all, and when the answer arrives. The experiment sheet, the tables, why derivative features cannot tell two steady states apart, and a warning that every number here was measured on a rig I later found to be faulty.
-
2026
I Reviewed for Five Conferences This Year. The Same Paper Keeps Arriving.
Most submissions I score low are not wrong, they are unfalsifiable by the reader. I know that failure from the inside: my own slip study reported 0.869 accuracy and a 72 percent error reduction, and the effect was manufactured by a robot resting on its front edge. Why correct ablations are blind to a fault in the substrate every arm shares, and the five questions I ask instead.
-
2026
My Robot Was Tipping 13 Degrees. That Was the Whole Result.
A wheel-slip study invalidated by its own apparatus. The robot had been resting on its front edge at 13.3 degrees, confirmed by ground truth, IMU orientation and accelerometer alike and predicted by the geometry, and the chassis dragging was what produced the slip being measured. Why four months of correct ablations could not catch it, and how slip was re-established on a controlled ramp with a high-friction control arm.
-
2026
My Slip Detector Was Accurate. It Was Also Useless.
Corrected August 19, 2026: the slip in this post came from the robot dragging its chassis at a 13.3 degree tilt, not from the friction. Level the robot and the same world produces no slip at all. Originally: a slip detector scored 0.869 accuracy and cut position error by 72 percent. The control arm, driving slower with no detector at all, did better. Then a sharper measurement explained why: a robot stuck with its wheels spinning and a robot driving normally look the same to wheel encoders and an IMU, at 0.552 balanced accuracy against 0.500 for a coin.
-
2026
A short note on why I started this blog and the topics I will cover: trustworthy AI, explainable reasoning, and lessons from building real AI products.
Published elsewhere
Selected writing on external platforms.
-
2026
The Numbers in Your Tutorial Are Probably Wrong. Mine Were.
Educational material quotes numbers, then the code changes and the prose does not. I gave myself a rule: a number does not appear in a lesson unless a test recomputes it. What that rule cost, and the contrastive learning bug it uncovered after I had spent four paragraphs confidently explaining the behaviour of my own mistake.
-
2026
Why Most Machine Learning Methods Stay Unused, and What I Did About It
Some of the most robust methods in machine learning exist only in papers. They are cited thousands of times and almost never used, not because they are irrelevant but because they are inaccessible. On closing that gap with tooling.
-
2022
Java fundamentals, a four-part series
An introduction for beginners: Java Overview, Popular Java Editors, First Java Program and Java Keywords and Comments.