Spot known anti-patterns and apply tested cures.
teleon.dev/docs/smells keeps 61 anti-pattern detectors, SMELL-001 to SMELL-061, each paired with a cure written as an AST, SQL or Wasm change and a record of the run that verified it.
| Detector | Smell | Cure |
|---|---|---|
| SMELL-001 | Keyless heap table | uuidv7 key, clustering index |
| SMELL-016 | N+1 fan-out | batched DataLoader |
| SMELL-021 | Cache stampede | SingleFlight, XFetch |
| SMELL-031 | Context drift | context firewall, L0 to L2 |
| SMELL-033 | Solver in evaluator | out-of-process verifier |
| SMELL-038 | MCP schema bloat | L0 cards, 50 tokens |
| SMELL-061 | FF3 ciphers | FF1 only |
Seven of the 61 detectors, from all four families. The newest, SMELL-061, joined in v47.0.
What it does
Four families
Database and SQL, distributed systems and caching, agents and LLMs, and search, media, robotics, tenancy and crypto.
A cure for each smell
A keyless heap table gets a uuidv7 key; a cache stampede gets SingleFlight, XFetch and stale-if-error.
Cures proven first
Every cure carries a verification record from a sandbox run before it is offered as a change.
The contract
A detector names its family, its signature and its cure; the cure's verification record shows the run that proved it.
SMELL-001 to SMELL-061, store S126SMELL-061 in v47.0: FF3 ciphers, cured by FF1 onlySMELL-001SMELL-061
Endpoints
| Method | Path | Access | What it does | Status |
|---|---|---|---|---|
GET | /v1/smells | RING-3 | Browse the 61 detectors and their cures | |
POST | /v1/smells/scan | RING-2 | Scan code or a schema for anti-patterns | |
GET | /v1/smells/{id}/verification | RING-3 | Read the run that verified a cure |
Listed paths appear in the service’s published files today. This surface comes from the Teleon Omnibus Codex v1.0 to v50.0, Oct 25, 2026. In the one-host plan every path here is served under api.teleon.dev/v1/smells.
For agents
Give your agent the read-only guide first. It reports back before any write.
Words on this page
- Anti-pattern
- A common design that seems reasonable and causes trouble at scale. Each one here comes with a tested cure.
- SingleFlight
- Request coalescing: when many callers ask for the same missing item at once, one fetch runs and every caller shares its result.
- XFetch
- Probabilistic early recomputation: a cached item refreshes shortly before it expires, so refreshes spread out and misses stay rare.