PHP DEAD INDEX

METHODOLOGY / mvp-1.2.0

КАК МЫ ЭТО НАСЧИТАЛИ / И ГДЕ ОГРАНИЧЕНИЯ

Методология
без тумана.

BOOTSTRAP

Версия mvp-1.2.0 является публичным immutable-контрактом. Изменение формулы, weights, thresholds или freshness требует новой версии.

Scope coverage40%

Coverage profile100%

Effective from05.10.2026 07:00UTC

Applicationd5a38a7f8291b1e1ac1d54aeab5f7add59777838

FORMULA / 01

Профиль — Core Development + Package Ecosystem

Vitality Index = Σ(Category Score × Effective Weight)

Configured weights в полной модели нормализуются внутри профиля: Core Development 20% → 50%; Package Ecosystem 20% → 50%. Это объясняет разницу между coverage и scope coverage.

CATEGORY / 01

Core Development

Configured 20% / effective 50%

01 / PROVISIONAL

php-src commits over 30 days

clamp(current / 600 × 100, 0, 100)

Вес
40%
Диапазон
0—600 commits
Direction
higher_is_better
Max age
48 часов

02 / PROVISIONAL

php-src commits over 365 days

clamp(current / 7 200 × 100, 0, 100)

Вес
60%
Диапазон
0—7 200 commits
Direction
higher_is_better
Max age
48 часов

CATEGORY / 02

Package Ecosystem

Configured 20% / effective 50%

01 / PROVISIONAL

Packagist downloads over 28 days

clamp((current − window_start) / 8 000 000 000 × 100, 0, 100)

Вес
40%
Диапазон
0—8 000 000 000 downloads
Direction
higher_is_better
Max age
48 часов
Окно
ровно 28 дней
Raw metric
packagist_downloads_total
Отрицательный прирост
блокирует публикацию

02 / PROVISIONAL

Packagist net new packages over 28 days

clamp((current − window_start) / 5 000 × 100, 0, 100)

Вес
60%
Диапазон
0—5 000 packages
Direction
higher_is_better
Max age
48 часов
Окно
ровно 28 дней
Raw metric
packagist_packages_total
Отрицательный прирост
0 points

RULES / 02

Что происходит при проблемах с данными

  1. Calculation использует только observations, полученные не позже фиксированного cutoff.
  2. Последнее valid observation допускается только в пределах настроенного max age.
  3. Если обязательный input устарел или отсутствует, новый snapshot не публикуется.
  4. Weights не перераспределяются после временной ошибки provider.
  5. Предыдущий snapshot остаётся доступным и помечается как stale при чтении.
  6. Авторитетные decimal-вычисления не используют binary floating-point и не округляются до presentation boundary.

MARKETING / 03

Death Probability драматичнее, чем кажется

Death Probability = 100 − Vitality Index

Это обратное представление индекса для коммуникации. Оно не является статистически рассчитанной вероятностью смерти PHP или наступления какого-либо события.

STATUS / 04

Статусные пороги

VERY ALIVEscore ≥ 80

ALIVEscore ≥ 60

STABLEscore ≥ 40

DYINGscore ≥ 20

CRITICAL0 < score < 20

DEADscore = 0

REGISTER / 05

Опубликованные версии

mvp-1.2.0 05.10.2026 07:00 UTC CURRENT mvp-1.1.0 28.08.2026 07:00 UTC

CONFIGURATION SHA-256

08075cc2bd7bab560653f5196e4fa0afa641b178138a3ed2dcd8c5c1397bd437