Skip to content

[FEATURE] Progressive test coverage gates (strangler-fig ratchet) #1398

@sergio-sisternes-epam

Description

@sergio-sisternes-epam

Is your feature request related to a problem? Please describe.
There is no coverage measurement or gating in CI today. We have no
visibility into coverage trends, and regressions can land silently.

Describe the solution you'd like
Introduce test coverage gates to CI using a strangler-fig ratchet pattern.
Start with observability, then progressively tighten thresholds across
4 phases until we reach steady-state targets of 80% unit / 70% integration.

Baselines (measured locally)

Tier Baseline Steady-state target
Unit 80% 80%
Integration 49% 70%

Phase plan

Phase Unit gate Integration gate Intent
1 Report only Report only Observability
2 75% fail Report only First unit gate
3 80% fail 55% fail Both tiers gated
4 (steady) 80% fail 70% fail Steady state

Ratchet rule

After each phase, if actual coverage exceeds the gate by 5+ points,
raise the gate to actual - 3. This prevents regression while allowing
normal fluctuation.

Describe alternatives you've considered

  • Hard-gating at 80%/70% from day one -- rejected because the 49%
    integration baseline would block all PRs until gap-fill is done.
  • No gates, report only -- rejected because reports alone do not
    prevent regressions.

Additional context
Sub-issues track each phase:

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/ci-cdGitHub workflows, merge queue, gh-aw integrations, release pipeline.area/docs-sitedocs/src/content (Starlight), README, doc generation.area/testingTest infrastructure, fixtures, e2e harness, coverage.qualitystatus/acceptedDirection approved, safe to start work.status/triagedInitial agentic triage complete; pending maintainer ratification (silence = approval).type/featureNew capability, new flag, new primitive.
    No fields configured for Feature.

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions