Maturity Scale¶
In a nutshell
Many pages in this manual carry a maturity badge. It tells you how much weight a component can bear in a real deployment: a rock-solid dependency, a usable-but-moving target, or an early experiment that may change under you. The rating comes from the health of the component's source repository, not its version number. See the levels below, then read the criteria under Why it's not the version number for the detail.
The levels¶
| Badge | Level | What it means for you |
|---|---|---|
| ⬤⬤⬤⬤⬤ | Mature | Long-lived, well-proven, widely deployed, actively maintained. Depend on it freely. |
| ⬤⬤⬤⬤◯ | Stable | Established and production-ready, maintained, with real docs. Safe for production; API changes are rare and announced. |
| ⬤⬤⬤◯◯ | Beta | Works and is in real use, but younger or still settling — expect the occasional breaking change. Fine to build on with an eye on releases. |
| ⬤⬤◯◯◯ | Alpha | Functional but early: the API churns, coverage is thin, and it may change substantially. Try it, pin it, don't build a product on it yet. |
| ⬤◯◯◯◯ | Proof-of-concept | A spike or reference implementation. It may work, but it is not maintained as a product and may disappear. For exploration only. |
| ⚠️ | Deprecated | The repository is archived or no longer maintained. Avoid it for new work; the page notes what replaces it where a replacement exists. |
How maturity is judged
A component's rating comes from the health of its source repository, not its version
number. OVOS packages are versioned continuously from conventional commits. A 0.x
version says little about how well-proven the code is. A foundational library can sit at
0.8 with hundreds of releases, while a brand-new experiment can ship a 1.0. Instead, the
rating weighs signals that track maturity: how long the repository has existed,
how actively it is maintained (recent commit activity), the volume of open issues and pull
requests it fields, and whether it carries real in-repo documentation and tests.
Maturity is not a recommendation
A badge rates how reliable and maintained a component is. It does not rate whether it is the right choice for your use case. A component can be Mature (rock-solid and well-proven) and still be the wrong tool for a given job. A page may recommend against broad use of something whose code is perfectly stable. Always read the page's own recommendation alongside the badge.
Why it's not the version number¶
A version like 1.2.0 is set by the release pipeline from commit conventions. A single feat:
commit can move a 0.x library to the next minor, and a chore!: moves it to a new major. That
makes versions a precise record of what changed, but a poor proxy for how much you can rely on
it. Repository health is a better signal: age, sustained maintenance, an engaged issue tracker,
and in-repo docs. It answers the only question a maturity badge should answer: if I depend on
this, will it still be here and still work in a year?
Ratings are a point-in-time judgement and move as repositories do. Treat a badge as guidance, not a guarantee.
A release channel is not a maturity guarantee
A release channel (stable/testing/alpha) only bounds the version
range of ovos-core itself. It says nothing about the maturity of the individual
plugins it happens to pull in. A stable-channel install can still resolve to a
Beta-rated (or even Alpha-rated) plugin as a dependency. Check each plugin's own
maturity badge in the manual before relying on it. Do not assume "stable
channel" means "every component is production-grade."
Read next: Plugin Manager · Concepts Overview Related: Formal Specifications · Manual & Advanced Install · High-level Overview