Кожен репозиторій у публічному реєстрі має індекс здоров'я: єдине ціле число від 1 до 100, що підсумовує публічно видиму практику інженерії, супроводу, безпеки та врядування. Індекс існує для того, щоб бібліотеку можна було з одного погляду порівняти з альтернативами — але він є вершиною повністю прозорої ієрархії, а не чорною скринькою.
Трирівнева ієрархія
Індекс згортається через три задокументовані рівні:
- Компоненти — окремі спостережувані факти (файл ліцензії існує, останній реліз вийшов 40 днів тому, бас-фактор дорівнює 3). Кожен компонент має фіксовану вагу всередині своєї метрики.
- Метрики — зважені суми компонентів, кожна — ціле число в діапазоні 1–100. Приклади: активність розробки, стійкість мейнтейнерів, стан безпеки.
- Категорії — зважені середні своїх метрик, також у діапазоні 1–100. П'ять зважених категорій: Життєздатність, Спільнота та впровадження, Сталість та врядування, Інженерна якість та Безпека. Шоста, Готовність до ШІ, є незалежним бейджем із вагою 0.
Загальний індекс здоров'я — це зважене середнє доступних категорій:
| Категорія | Вага в загальному індексі |
|---|---|
| Сталість та врядування | 24% |
| Життєздатність | 22% |
| Інженерна якість | 20% |
| Спільнота та впровадження | 18% |
| Безпека | 16% |
| Готовність до ШІ | 0% — незалежний бейдж |
Ефективна вага метрики в загальному індексі — це вага категорії × вага в межах категорії. Кожен звіт показує цю цифру на картці кожної метрики, і кожне опубліковане значення відповідає одному з п'яти діапазонів рейтингу.
Відсутні дані — це ніколи не нуль
Якщо базові дані компонента недоступні — реєстр не публікує цифр завантажень, список контриб'юторів неможливо вибрати — компонент виключається, а ваги решти перенормовуються. Те саме правило діє рівнем вище: метрика без даних стає null, і її категорія перерозподіляє вагу; категорія без жодної оцінюваної метрики випадає із загального індексу.
Це правило є осердям справедливості. Проєкт вимірюється лише за тим, що справді можна спостерігати, а відсутність доказів звітується як відсутність — поле note метрики фіксує кожну перенормалізацію, тож читач завжди знає, що було виміряно, а що ні.
Як читати звіт
- Читайте профіль, а не лише число. 74 на збалансованих категоріях — це інша пропозиція, ніж 74, що маскує значення Безпеки 25. Радарна діаграма звіту робить профілі з піками та проваллями видимими одразу.
- Перевіряйте діапазони. Значення відповідають п'яти стандартизованим діапазонам від
excellentдоcritical; пороги діапазонів є частиною версіонованої методології. - Переобчислюйте будь-що. Кожна метрика відтворює у звіті свої вхідні дані та бали за компонентами, тож будь-яке опубліковане значення можна верифікувати вручну за розділом
dataJSON-звіту.
Версіонування
Формули, ваги та пороги діапазонів версіонуються як єдине ціле. Будь-яка зміна підвищує версію метрик, зафіксовану в кожному звіті, а повна історія публічна — див. версії методології. Частини методології можна вимикати для окремого сканування; звіт тоді документує, що саме було вимкнено — див. конфігурацію сканування.