hotspots
17 posts tagged hotspots.
hotspots v1.36.0: risk isn't the only axis
The headline feature here started as a research question, not a product idea: do coupling and ownership actually predict something different from complexity-times-activity, or are they just repeating the same ranking in different units? The answer shaped the entire design — four ranked lists, never blended into one.
hotspots v1.35.1–v1.35.4: an audit, twelve fixes, four days
Four releases, twelve PRs, and a pattern once I lined them up: most of these weren't reported by users hitting a wall. They were found by someone going looking — auditing coverage gaps, re-checking an old fix's scope, or just noticing a git config file that shouldn't have changed.
hotspots v1.35.0: the CLI can finally tell you it's out of date
One feature, three rounds of scope-narrowing: I asked for a self-updating CLI, got talked down to check-and-report, then had that check moved from an explicit subcommand to something that runs on every invocation without hammering GitHub's API.
hotspots v1.34.1: a parser hang, a coupling regression, and a hedge I owed the docs
Three merged PRs, one patch release: a real repro against llvm-project, a performance fix that almost undid a validated research finding, and a docs gap I caught before merging.
Hotspots v1.25.1–v1.31.0: Explanations, a Regime-Aware Ranker, and a Burst-Score Formula Term
Six versions in four weeks. Most of it is quieter infrastructure — easier installs, a cleaner ranker feature set, tighter CI policy control. The two releases worth reading closely are the ones that change what you see when you run hotspots: v1.30.0 adds a plain-English reason under every CRITICAL/HIGH function, and v1.31.0 changes the formula that decides which functions are CRITICAL/HIGH in the first place.
Why I let AI train on this
I just flipped ai-train=yes in robots.txt. Here's the reasoning, not just the setting.
How hotspots measures itself
A ranking tool that can't measure its own accuracy is just vibes with syntax highlighting. Here's how hotspots keeps itself honest.
Hotspots v1.25.0: Repo Screener, CI Workflows, and Cleaner TypeScript Names
Three things that should have existed already: a way to know if training is worth running, a one-command CI setup, and TypeScript functions that show up under their actual names.
Hotspots v1.18.0: Compact Storage
Snapshot history is valuable. Unbounded snapshot growth is not. v1.18.0 ships two compaction levels that shrink your .hotspots directory without losing the history that matters.
Hotspots v1.17.0: Model Risk Map and Monorepo Subsystems
Hotspots already tells you which functions are risky. v1.17.0 tells you which models those functions cluster around — and makes risk scores meaningful inside monorepo package boundaries.
Hotspots now handles monorepos — what changed from v1.11 to v1.15.1
The diff command shipped in v1.11. Since then: four months of OOM fixes, a new SQLite pipeline, hybrid touch mode, and --auto-analyze. Hotspots now handles 28k-function monorepos at 107 MB peak RSS.
Running Hotspots on expo/expo Without Running Out of Memory
expo/expo crashed Hotspots with an OOM. Here's the full account: what broke, the systematic fixes across memory and CPU, and the new escape-hatch flags that make very large repos practical.
hotspots diff: Compare Complexity Between Any Two Branches, Tags, or Commits
Delta mode compares a commit to its parent. That's fine for local development — but CI needs to compare a PR branch to main, and tag comparisons need to reach back further. hotspots diff closes that gap.
What Happens When You Run Hotspots on 102,000 Functions
I stress-tested Hotspots against VS Code (102k functions) and found an O(N³) bug, a sampling tail exclusion bug, and a philosophical question about approximation accuracy — all in one sitting.
The 20% Rule for Codebases: A Practical Refactoring Playbook
Use this practical worksheet to intersect change and complexity, pick three high‑leverage targets, and add simple guardrails to prevent backslide.
Stop Missing Regressions in PRs: Complexity Policy Checks in CI
Code review misses slow creep. Use Hotspots policies in CI to stop risky complexity changes before they merge — start warn‑only, then flip to blocking.
Introducing Hotspots: Find Risky Functions and Stop Regressions
Meet Hotspots — a lightweight analyzer with explainable risk, shareable reports, and CI policies so you fix what matters and keep it from slipping back.