The message quality metric knows whether conventional format is used but not which types. This distribution is informative:
Pattern | Signal
-- | --
90%+ feat:, near-zero refactor:/chore: | No maintenance work; only adding
0% test: commits | Tests only written alongside features, never as standalone improvement
High fix: with low refactor: | Patching without addressing root causes
This is zero additional git calls — it's a groupBy on already-parsed message data. Add message_type_distribution: { feat: N, fix: N, refactor: N, test: N, chore: N, other: N } to the summary.
The message quality metric knows whether conventional format is used but not which types. This distribution is informative:
Pattern | Signal -- | -- 90%+ feat:, near-zero refactor:/chore: | No maintenance work; only adding 0% test: commits | Tests only written alongside features, never as standalone improvement High fix: with low refactor: | Patching without addressing root causesThis is zero additional git calls — it's a groupBy on already-parsed message data. Add
message_type_distribution: { feat: N, fix: N, refactor: N, test: N, chore: N, other: N }to the summary.