判定规则
异动是这五条规则跑出来的。
增速断崖
star_cliff级别:下行最近三周的新增 star 逐周不增,最新一周掉到三周前的四成以下。
- 窗口
- 最近 4 周,其中后 3 周的新增逐周不增(相等也算下降)
- 幅度
- 最新一周不到最早一周的 40%
- 基数下限
- 最早一周至少 5 个新增 star
证据:最近 4 周的周增量序列,以及触发时生效的阈值
异常加速
star_acceleration级别:好消息最近一周的新增 star 超过三周前的三倍。级别是 good,在异动流里单独一栏。
- 窗口
- 最近 4 周
- 倍数
- 最新一周超过 3 周前的 3 倍
- 绝对量下限
- 最新一周至少 50 个新增 star,3 周前至少 17 个
证据:最近 4 周的周增量序列,以及本次的倍数和两个绝对量
维护停滞
release_stall级别:风险距上次发布超过门槛。每个项目的门槛不一样,跟它自己的发布节奏走。
- 门槛
- 距上次发布超过「60 天」与「中位发布间隔 × 2」中较宽的那个
- 中位间隔
- 按周聚合的发布数算,是发布周之间隔的近似值
证据:最近 6 周的发布数,以及本次生效的门槛天数
推送停滞
commit_stall级别:提示连续四周没有提交,pushed_at 同样停在四周之前。
- 提交
- 连续 4 周提交数为 0
- 推送
- pushed_at 距今至少 28 天
- 两个条件缺一不可
- 提交数为 0 也可能是没采到;pushed_at 是另一条独立证据
证据:这 4 周的提交数(未采到的周标「未测」),以及距上次推送的天数
许可证变更
license_change级别:风险和上次观测到的许可证不同。这条没有量级,排序时不参与比较。
- 触发
- 本次观测到的许可证与上一次不同
- 不报的情况
- 第一次观测到这个仓库的许可证
证据:上次观测、本次观测,以及两次观测之间隔了多久
约定
- 绿 = 涨 / 加速,红 = 跌 / 衰退。颜色只表示涨跌方向,风险等级另用图标和标签文字表达。
- 每条规则都有绝对量下限,只有相对量的项目不进榜。
- 每条异动带 metric 和 evidence,可以自己核对这次为什么算命中。
上面每个阈值都直接读判定代码里的常量,改阈值的人不必回来改文案, 因此这一页不可能和系统给出不同的数;选型指南里是这些数怎么用。