.github/workflows/ci.yml has a dedicated "Run Coverage Tests" step (npm run test:cov), and package.json's jest config sets collectCoverageFrom/coverageDirectory — but there's no coverageThreshold anywhere in the jest config. jest --coverage with no threshold configured always exits 0 regardless of how low coverage is; it only reports a number, it never enforces one.
Given several already-tracked issues describe specific modules/services with near-zero test coverage (the auth module, SorobanClientService, AnalyticsService/ReputationService, several controller spec files, etc.), a coverage threshold — even a modest global one, or per-directory ones for the money-moving modules (escrow, bounties, milestones, maintenance-pool) — would turn "coverage silently stayed low" into a CI-visible, actionable signal instead of a number nobody's watching. Right now the "Run Coverage Tests" step name implies coverage is being gated on, but nothing actually gates on it.
.github/workflows/ci.ymlhas a dedicated "Run Coverage Tests" step (npm run test:cov), andpackage.json's jest config setscollectCoverageFrom/coverageDirectory— but there's nocoverageThresholdanywhere in the jest config.jest --coveragewith no threshold configured always exits 0 regardless of how low coverage is; it only reports a number, it never enforces one.Given several already-tracked issues describe specific modules/services with near-zero test coverage (the auth module,
SorobanClientService,AnalyticsService/ReputationService, several controller spec files, etc.), a coverage threshold — even a modest global one, or per-directory ones for the money-moving modules (escrow,bounties,milestones,maintenance-pool) — would turn "coverage silently stayed low" into a CI-visible, actionable signal instead of a number nobody's watching. Right now the "Run Coverage Tests" step name implies coverage is being gated on, but nothing actually gates on it.