Module: utils/skipReasons

Single source of truth for the per-run "skip kinds" that represent a dispatch decision rather than an execution outcome.

A result row with status === "skipped" and one of these skipReason values means the test never actually ran — so it must NOT count toward the pass-rate denominator (evaluateQualityGates in testRunner.js, the GH check conclusionForRun summary in runResultFormatters.js, the RunDetail pass-rate badge in frontend/src/pages/RunDetail.jsx), and must NOT count as an execution outcome in scoreTestRisk's history filter (backend/src/pipeline/riskScorer.js) — otherwise a previously-skipped test gets a near-maximum risk score on the next run.

Mirrored on the frontend at frontend/src/utils/skipReasons.js. When adding a new non-executed skip kind, update BOTH files in the same PR; if they drift the backend gate and the frontend badge will disagree.

Current members:

  • over_budget — AUTO-001 (runs.js + trigger.js budget truncation)
  • skipped_no_impact — AUTO-004 (trigger.js impact-analysis filter)
Source:

Members

(static, constant) NON_EXECUTED_SKIP_REASONS :Set.<string>

Type:
  • Set.<string>
Source:

Methods

(static) isNonExecutedSkip(result) → {boolean}

Predicate — true when a result row represents a dispatch-time skip (test never executed) rather than an execution outcome.

Parameters:
Name Type Description
result Object | null | undefined
Source:
Returns:
Type
boolean