I Ran a Five-Signal Staleness Check on 30 AI Tools I Could Still Pay For. Three Failed It.
Aug 15, 2026 · 6 min read · by Jordan Kwan
TL;DR: I built a five-signal staleness scorecard and ran it against 30 AI tools that were still taking payment on 2026-08-15. Four scored two or more stale signals (no activity in 90+ days) while selling, and one of those four turned out to be a false positive once I checked the vendor's actual repo, leaving three. The widest gap between last shipped code and a live pricing page was 194 days, at Vanna, whose GitHub commits, GitHub releases and PyPI package all stopped on the same day, 2026-02-02, while vanna.ai/pricing still lists $50 and $500 tiers. None of that means any of these companies is dying. It means the checklist takes ten minutes and you should run it before you renew.
Half of AI tool deaths ship no announcement at all, at least in the largest hand-maintained sample anyone publishes, whose authors are careful to call it "a large hand-maintained sample, not a census." So the shutdown notice is the wrong thing to watch for. By the time it exists, your decision is already made for you. Timing twenty actual shutdowns produced a median warning of 15 days, and three of the twenty produced no warning whatsoever. What you can watch instead is whether the thing is still being built.
What are the five signals?
Each one answers a different question, and each one is a public URL you can check without an account.
- Last release-notes entry.
github.com/{org}/{repo}/releases.atomgives you the date of the most recent tagged release without an API key. For closed-source tools, use the vendor's changelog page. - Last commit on the primary public repo.
api.github.com/repos/{org}/{repo}/commits?per_page=1returns it in one call. - Last publish on the package registry. registry.npmjs.org and pypi.org both return publish timestamps as JSON to an unauthenticated fetch.
- Does a status page exist, at all. I probed
status.<domain>for every tool. - Do the docs still name a retired model or API. Grep the docs for identifiers that no longer resolve, like
text-embedding-ada-002orclaude-3-opus-20240229.
I called a signal stale at 90 days with no activity, as of 2026-08-15. The 30 tools were AI infrastructure and agent products with a paid tier and a public repo, which is the only population where all five signals are checkable at once. That biases the sample toward open-core vendors and away from pure SaaS, and I would rather say so than pretend otherwise.
What did the count show?
Twenty-six of thirty came back clean or nearly clean. Most of this category ships constantly: LiteLLM, n8n, Milvus, Windmill, Activepieces, Arize Phoenix, Trigger.dev, LangChain, Onyx, Chroma and Mem0 all had commits within 48 hours of my run. The scorecard's job is to clear the field, and it did.
Four scored two or more stale signals while still accepting payment.
| Tool | Last release | Last commit | Registry | Status page | Stale signals |
|---|---|---|---|---|---|
| Vanna | 2026-02-02 | 2026-02-02 | 2026-02-02 | none | 4 |
| Portkey gateway | 2026-01-12 | 2026-05-25 | 2026-01-12 | yes | 3 |
| Tabby | 2026-03-02 | 2026-06-30 | not checked | none | 2 |
| LlamaIndex | 2026-06-24 | 2026-08-14 | 2025-12-31 (npm) | none | 2 |
Then I applied the rule that makes this useful instead of libellous: confirm against the vendor's own repo before calling anything abandoned. LlamaIndex fails immediately. The llamaindex npm package has not been republished since 2025-12-31, 227 days, but the project split into scoped packages and @llamaindex/core published on 2026-06-05, with the Python repo committing daily. The registry listing was stale; the product was not. That is one in four false, from the signal the brief warns about most.
The other three hold up. Vanna's 78th and most recent PyPI release is 2.0.2, uploaded 2026-02-02, the same day as its last commit and its last GitHub release, 194 days before I checked, while the pricing page sells $50 and $500 plans. Portkey's gateway repo last tagged a release on 2026-01-12 (215 days) and its portkey-ai npm SDK last published 2026-04-20 (117 days), while portkey.ai/pricing lists $49 a month; the repo itself committed on 2026-05-25, so the shipping is slower, not stopped. Tabby's last tagged release is 2026-03-02 (166 days) against commits on 2026-06-30 and a $19 per user per month plan.
Which signals actually earn their place?
Status page presence turned out to be the cheapest and bluntest: 8 of 30 publish nothing at status.<domain>, including Weaviate, Qdrant, LangChain and Unstructured, all of which are unambiguously alive and shipping. So it is a weak signal on its own and a decent one in combination, which is exactly how a scorecard should behave. I also could not read last-incident dates from most of the 22 that do exist, because they render client-side and the raw HTML carries no dates. I am reporting presence, not recency, because presence is what I measured.
The deprecated-model signal hit twice in the docs I grepped. LiteLLM's OpenAI provider page still lists gpt-3.5-turbo-0301, gpt-3.5-turbo-0613, gpt-4-32k, gpt-4-vision-preview and text-embedding-ada-002. Langfuse's model-cost page still carries claude-3-opus-20240229, which Anthropic's own deprecation table shows retired on 2026-01-05. Both of those tools shipped code the day I ran the check, so this signal is measuring documentation debt, not corporate health. A router that lists every model ID anyone ever sent it is doing its job.
Two tools I had picked did not survive selection, which is its own data point. superagi.com and its pricing path both return a 10-character page: nothing left to buy. And Flowise, acquired by Workday, published its last npm version on 2026-07-29, the exact code-freeze date the graveyard registries list, which is the rare case of a registry timestamp independently corroborating a shutdown claim.
What would change my mind about a stale tool?
Almost anything the vendor says. A quiet changelog is evidence of a quiet team, not a dying company. Plenty of profitable software ships twice a year. A tool with one engineer and 400 happy customers looks identical, on all five of these signals, to a tool whose founders left in March. The scorecard cannot tell those apart and neither can you from the outside, which is why the output is a question to ask on your renewal call, not a verdict.
The specific failure mode to avoid: registry and marketplace listings lag real shipping, sometimes by months, exactly as LlamaIndex demonstrated. Never call a product abandoned on a package timestamp alone. Check the repo, then check the vendor's own changelog, then ask.
What the scorecard is actually for is weighting. Three tools out of thirty scored two or more stale signals and still took my money, and for those three the sensible move is not cancellation, it is asking one question in writing (what shipped in the last quarter, and where is my export) and keeping the answer. This is the same discipline as auditing tools against their own websites or checking 30 sites for the file they claim to serve: the vendor's public artifacts are a free, dated, uncontestable record, and almost nobody reads them before signing.
Written by Jordan Kwan, founder of Reachium.
I build Reachium, the LinkedIn outreach platform behind the tactics you just read. Same brain, live product.
See what Reachium does ↗