Skip to content

Commit 5912382

Browse files
committed
feat: support annotating/labeling ratings for future grouping
* Supports adding grouping labels to ratings. The labels can be used to identify similar-related ratings— but nothing in the UI or UI JSON is doing the grouping yet. The labels are exposed to the individual checks though.
1 parent de5d21d commit 5912382

17 files changed

+22
-0
lines changed

runner/ratings/built-in-ratings/axe-rating.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ export const axeRating: PerBuildRating = {
2020
name: 'Axe Accessibility Violations',
2121
description: 'Checks for accessibility violations using the Axe-core engine.',
2222
category: RatingCategory.MEDIUM_IMPACT,
23+
groupingLabels: ['accessibility'],
2324
id: 'axe-a11y',
2425
scoreReduction: '10%',
2526
rate: ({serveResult, axeRepairAttempts}) => {

runner/ratings/built-in-ratings/code-quality-rating.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ export const codeQualityRating: LLMBasedRating = {
77
name: 'Code Quality (LLM-rated)',
88
description: `Rates the app's source code via LLM`,
99
category: RatingCategory.MEDIUM_IMPACT,
10+
groupingLabels: ['llm-judge'],
1011
id: 'common-autorater-code-quality',
1112
scoreReduction: '30%',
1213
rate: async ctx => {

runner/ratings/built-in-ratings/no-dangerously-set-inner-html-rating.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export const NoDangerouslySetInnerHtmlRating: PerFileRating = {
1616
name: RATING_NAME,
1717
id: 'no-dangerously-set-inner-html',
1818
category: RatingCategory.MEDIUM_IMPACT,
19+
groupingLabels: ['security'],
1920
scoreReduction: '50%',
2021
description: RATING_DESCRIPTION,
2122
filter: {

runner/ratings/built-in-ratings/no-inner-html-bindings-rating.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export const NoInnerHtmlBindingsRating: PerFileRating = {
1616
name: RATING_NAME,
1717
id: 'no-inner-html-bindings',
1818
category: RatingCategory.MEDIUM_IMPACT,
19+
groupingLabels: ['security'],
1920
scoreReduction: '50%',
2021
description: RATING_DESCRIPTION,
2122
filter: {

runner/ratings/built-in-ratings/no-runtime-errors-rating.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ export const noRuntimeExceptionsRating: PerBuildRating = {
77
description: "Ensures the app doesn't have runtime exceptions.",
88
kind: RatingKind.PER_BUILD,
99
category: RatingCategory.HIGH_IMPACT,
10+
groupingLabels: ['functionality', 'runability'],
1011
scoreReduction: '50%',
1112
id: 'common-no-runtime-errors',
1213
rate: ({buildResult, serveResult}) => ({

runner/ratings/built-in-ratings/safety-web-rating.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ export const safetyWebRating: PerBuildRating = {
88
name: 'SafetyWeb Violations',
99
description: 'Checks for TrustedTypes and CSP incompatible coding patterns.',
1010
category: RatingCategory.HIGH_IMPACT,
11+
groupingLabels: ['security'],
1112
id: 'safety-web',
1213
scoreReduction: '50%',
1314
rate: ({buildResult}) => {

runner/ratings/built-in-ratings/security-ratings.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ export const cspViolationsRating: PerBuildRating = {
3838
description: 'Checks for Content Security Policy violations, excluding Trusted Types.',
3939
id: 'csp-violations',
4040
category: RatingCategory.HIGH_IMPACT,
41+
groupingLabels: ['security'],
4142
scoreReduction: '50%',
4243
rate: ({serveResult}) => {
4344
if (!serveResult?.cspViolations) {
@@ -78,6 +79,7 @@ export const trustedTypesViolationsRating: PerBuildRating = {
7879
description: 'Checks for Trusted Types violations specifically.',
7980
id: 'trusted-types-violations',
8081
category: RatingCategory.HIGH_IMPACT,
82+
groupingLabels: ['security'],
8183
scoreReduction: '50%',
8284
rate: ({serveResult}) => {
8385
if (!serveResult?.cspViolations) {

runner/ratings/built-in-ratings/successful-build-rating.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ export const successfulBuildRating: PerBuildRating = {
88
id: 'common-successful-build',
99
kind: RatingKind.PER_BUILD,
1010
category: RatingCategory.HIGH_IMPACT,
11+
groupingLabels: ['functionality'],
1112
scoreReduction: '50%',
1213
// Reduce the amount of points in case we've built the code with a few repair attempts.
1314
rate: ({buildResult, repairAttempts}) => ({

runner/ratings/built-in-ratings/successful-tests-rating.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ export const successfulTestsRating: PerBuildRating = {
77
id: 'common-successful-tests',
88
kind: RatingKind.PER_BUILD,
99
category: RatingCategory.MEDIUM_IMPACT,
10+
groupingLabels: ['functionality'],
1011
scoreReduction: '30%',
1112
// Reduce the amount of points in case we've had test repair attempts.
1213
rate: ({testResult, testRepairAttempts}) => {

runner/ratings/built-in-ratings/sufficient-code-size-rating.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ export const sufficientCodeSizeRating: PerFileRating = {
1010
name: 'Sufficient Code Size (over 50b)',
1111
description: 'Ensures the generated code is not trivially small (e.g. < 50b).',
1212
category: RatingCategory.HIGH_IMPACT,
13+
groupingLabels: ['functionality'],
1314
id: 'common-generated-code-size',
1415
scoreReduction: '30%',
1516
kind: RatingKind.PER_FILE,

0 commit comments

Comments
 (0)