onMatched / onNotMatched action — console, webhook, both or off.—
| time | rule | class | conf | delivered |
|---|
A frozen feature extractor turns each image into a vector; a small softmax head (81 parameters for v2) is the only thing trained. That's the Teachable Machine architecture, and it's why the model is a few KB and fits in a database row.
v1 is included deliberately as a broken control. It uses absolute gradient orientation, so rotating a square moves its embedding further than changing the shape does — within-class variation exceeds between-class separation and no amount of training can fix it. v2 measures orientation relative to the shape's centroid and scores ~52 points higher with 8.6× fewer dimensions.
Integrity checks run on every training. The important one is that shuffled labels must collapse to chance — with more features than samples, a head that memorised noise would still score high on permuted labels. If that check fails, the accuracy number is not trustworthy.