Quality Gates

Automated checks that block deployment.

Gate Types

GateTriggerBlocks When
Type CheckEvery compileErrors
TestsEvery commitFailures
ClippyPre-commitWarnings
CoverageNightlyDecreases
ScorePre-deployBelow B+

Three-Tier System

Tier 1: On-Save (<1s)

make tier1
  • cargo check
  • Fast clippy
  • Fast tests

Tier 2: Pre-Commit (1-5min)

make tier2
  • Format check
  • Full clippy
  • All tests
  • Score calculation

Tier 3: Nightly

make tier3
  • Tier 2 +
  • Coverage report
  • Mutation testing

Gate Configuration

# .presentar-gates.toml
[gates]
minimum_grade = "B+"
minimum_coverage = 85
max_clippy_warnings = 0
max_frame_time_ms = 16

[blockers]
critical_a11y = true
test_failures = true

Enforcement

# CI script
make tier2 || exit 1

Manual Override

# Skip gates (dangerous!)
SKIP_GATES=1 make deploy  # NOT recommended

Verified Test

#[test]
fn test_quality_gates() {
    // Gates are enforced by CI, not at runtime
    // This test verifies gate configuration exists
    let min_coverage = 85;
    let min_score = 80;  // B+

    assert!(min_coverage >= 70);
    assert!(min_score >= 80);
}