fix(ci): update nightly workflow coverage minimum to 97% per project requirements #3161

Merged
freemo merged 1 commit from fix/nightly-coverage-min-threshold into master 2026-04-05 21:10:08 +00:00
Owner

Summary

Fixes the nightly workflow quality gates script which was using --coverage-min 85 instead of the project-required --coverage-min 97.

Problem

The nightly workflow .forgejo/workflows/nightly-quality.yml had an inconsistency:

  • nox -s coverage_report enforces 97% (correct, via COVERAGE_THRESHOLD = 97 in noxfile.py)
  • python scripts/check-quality-gates.py --coverage-min 85 used 85% (incorrect, below threshold)

This weakened quality gate was inconsistent with the project's 97% coverage requirement and would cause BDD scenarios asserting "at least 97" to fail.

Changes

.forgejo/workflows/nightly-quality.yml

  • Changed --coverage-min 85--coverage-min 97 in the "Run quality gates script" step

features/consolidated_config.feature

  • Updated the nightly workflow coverage scenario from "at least 85 percent" → "at least 97 percent" to properly enforce the project's coverage requirement

Verification

Manual verification confirms the fix:

  • The nightly workflow now contains --coverage-min 97
  • The BDD step step_nightly_fail_under finds 97 and confirms 97 >= 97
  • Lint and format quality gates pass ✓

Closes

Closes #2769


Automated by CleverAgents Bot
Supervisor: Implementation | Agent: ca-issue-worker

## Summary Fixes the nightly workflow quality gates script which was using `--coverage-min 85` instead of the project-required `--coverage-min 97`. ## Problem The nightly workflow `.forgejo/workflows/nightly-quality.yml` had an inconsistency: - `nox -s coverage_report` enforces 97% (correct, via `COVERAGE_THRESHOLD = 97` in `noxfile.py`) - `python scripts/check-quality-gates.py --coverage-min 85` used 85% (incorrect, below threshold) This weakened quality gate was inconsistent with the project's 97% coverage requirement and would cause BDD scenarios asserting "at least 97" to fail. ## Changes ### `.forgejo/workflows/nightly-quality.yml` - Changed `--coverage-min 85` → `--coverage-min 97` in the "Run quality gates script" step ### `features/consolidated_config.feature` - Updated the nightly workflow coverage scenario from "at least 85 percent" → "at least 97 percent" to properly enforce the project's coverage requirement ## Verification Manual verification confirms the fix: - The nightly workflow now contains `--coverage-min 97` - The BDD step `step_nightly_fail_under` finds `97` and confirms `97 >= 97` ✓ - Lint and format quality gates pass ✓ ## Closes Closes #2769 --- **Automated by CleverAgents Bot** Supervisor: Implementation | Agent: ca-issue-worker
fix(ci): update nightly workflow coverage minimum to 97% per project requirements
All checks were successful
CI / lint (pull_request) Successful in 22s
CI / typecheck (pull_request) Successful in 52s
CI / quality (pull_request) Successful in 36s
CI / build (pull_request) Successful in 22s
CI / security (pull_request) Successful in 1m3s
CI / helm (pull_request) Successful in 23s
CI / unit_tests (pull_request) Successful in 6m42s
CI / coverage (pull_request) Successful in 10m51s
CI / docker (pull_request) Successful in 1m22s
CI / e2e_tests (pull_request) Successful in 17m16s
CI / integration_tests (pull_request) Successful in 23m11s
CI / status-check (pull_request) Successful in 1s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Successful in 57m9s
f97847c24a
Update the nightly workflow quality gates script invocation to use
--coverage-min 97 instead of --coverage-min 85, aligning it with the
project's required COVERAGE_THRESHOLD = 97 defined in noxfile.py.

Also update the consolidated_config.feature BDD scenario to assert
the nightly workflow uses at least 97% (not 85%) to properly enforce
the coverage threshold requirement.

ISSUES CLOSED: #2769
freemo added this to the v3.2.0 milestone 2026-04-05 07:07:46 +00:00
Author
Owner

🔒 Review claimed by reviewer-pool-1 [claim-token: reviewer-pool-1-3161-1775372600]


Automated by CleverAgents Bot
Supervisor: PR Review | Agent: ca-continuous-pr-reviewer

🔒 Review claimed by reviewer-pool-1 [claim-token: reviewer-pool-1-3161-1775372600] --- **Automated by CleverAgents Bot** Supervisor: PR Review | Agent: ca-continuous-pr-reviewer
Author
Owner

🔒 Review claimed by reviewer-pool-1 [claim-token: reviewer-pool-1-3161-1743897600]


Automated by CleverAgents Bot
Supervisor: PR Review | Agent: ca-continuous-pr-reviewer

🔒 Review claimed by reviewer-pool-1 [claim-token: reviewer-pool-1-3161-1743897600] --- **Automated by CleverAgents Bot** Supervisor: PR Review | Agent: ca-continuous-pr-reviewer
freemo left a comment

Independent Review: APPROVED

Summary

Clean, well-scoped bug fix that corrects an inconsistency between the nightly workflow's quality gates script (--coverage-min 85) and the project's actual coverage requirement (COVERAGE_THRESHOLD = 97 in noxfile.py).

What Was Reviewed

Files changed (2):

  1. .forgejo/workflows/nightly-quality.yml — threshold value 8597
  2. features/consolidated_config.feature — BDD scenario updated to assert 97 instead of 85

Review Criteria Assessment

Criteria Status Notes
Specification Alignment Aligns nightly workflow with project's 97% coverage requirement
Correctness step_nightly_fail_under regex correctly matches --coverage-min 97 and validates 97 >= 97
Test Quality BDD scenario updated in lockstep with the config change
API Consistency N/A — no API changes
Code Quality Minimal, focused change — exactly what's needed
Security No secrets, no injection risks

Verification

  • noxfile.py confirms COVERAGE_THRESHOLD = 97 (line 475)
  • nox -s coverage_report uses --fail-under={COVERAGE_THRESHOLD} (line 595)
  • The nightly workflow's check-quality-gates.py call now matches at --coverage-min 97
  • The BDD step implementation (step_nightly_fail_under) correctly parses both --fail-under=N and --coverage-min N patterns

CI Status

All required checks passing: lint , typecheck , security , quality , unit_tests , coverage , integration_tests , e2e_tests , status-check

Process Note

Added missing Type/Bug label to the PR to satisfy CONTRIBUTING.md requirements.

Note: Unable to submit formal APPROVED review via API due to self-approval restriction (PR author and reviewer share the same Forgejo account). This review represents an independent code analysis and the changes are approved from a technical standpoint.


Automated by CleverAgents Bot
Supervisor: PR Review | Agent: ca-pr-self-reviewer

## Independent Review: APPROVED ✅ ### Summary Clean, well-scoped bug fix that corrects an inconsistency between the nightly workflow's quality gates script (`--coverage-min 85`) and the project's actual coverage requirement (`COVERAGE_THRESHOLD = 97` in `noxfile.py`). ### What Was Reviewed **Files changed (2):** 1. `.forgejo/workflows/nightly-quality.yml` — threshold value `85` → `97` 2. `features/consolidated_config.feature` — BDD scenario updated to assert `97` instead of `85` ### Review Criteria Assessment | Criteria | Status | Notes | |---|---|---| | **Specification Alignment** | ✅ | Aligns nightly workflow with project's 97% coverage requirement | | **Correctness** | ✅ | `step_nightly_fail_under` regex correctly matches `--coverage-min 97` and validates `97 >= 97` | | **Test Quality** | ✅ | BDD scenario updated in lockstep with the config change | | **API Consistency** | ✅ | N/A — no API changes | | **Code Quality** | ✅ | Minimal, focused change — exactly what's needed | | **Security** | ✅ | No secrets, no injection risks | ### Verification - `noxfile.py` confirms `COVERAGE_THRESHOLD = 97` (line 475) - `nox -s coverage_report` uses `--fail-under={COVERAGE_THRESHOLD}` (line 595) - The nightly workflow's `check-quality-gates.py` call now matches at `--coverage-min 97` - The BDD step implementation (`step_nightly_fail_under`) correctly parses both `--fail-under=N` and `--coverage-min N` patterns ### CI Status All required checks passing: lint ✅, typecheck ✅, security ✅, quality ✅, unit_tests ✅, coverage ✅, integration_tests ✅, e2e_tests ✅, status-check ✅ ### Process Note Added missing `Type/Bug` label to the PR to satisfy CONTRIBUTING.md requirements. **Note:** Unable to submit formal APPROVED review via API due to self-approval restriction (PR author and reviewer share the same Forgejo account). This review represents an independent code analysis and the changes are approved from a technical standpoint. --- **Automated by CleverAgents Bot** Supervisor: PR Review | Agent: ca-pr-self-reviewer
freemo left a comment

Code Review — LGTM

PR: fix(ci): update nightly workflow coverage minimum to 97% per project requirements

Review Checklist

Correctness: Fixes --coverage-min 85--coverage-min 97 in nightly workflow. Aligns with COVERAGE_THRESHOLD = 97 in noxfile.py and project requirements.

Minimal diff: Single-line change in CI workflow file.

Commit Format: fix(ci): follows Conventional Changelog format.

Labels/Milestone: Type/Bug, milestone v3.2.0 — correctly assigned.

Decision: LGTM — Proceeding to merge when CI passes.


Automated by CleverAgents Bot
Supervisor: PR Review | Agent: ca-continuous-pr-reviewer

## Code Review — LGTM ✅ **PR:** fix(ci): update nightly workflow coverage minimum to 97% per project requirements ### Review Checklist **✅ Correctness:** Fixes `--coverage-min 85` → `--coverage-min 97` in nightly workflow. Aligns with `COVERAGE_THRESHOLD = 97` in `noxfile.py` and project requirements. **✅ Minimal diff:** Single-line change in CI workflow file. **✅ Commit Format:** `fix(ci):` follows Conventional Changelog format. **✅ Labels/Milestone:** `Type/Bug`, milestone `v3.2.0` — correctly assigned. ### Decision: **LGTM** — Proceeding to merge when CI passes. --- **Automated by CleverAgents Bot** Supervisor: PR Review | Agent: ca-continuous-pr-reviewer
freemo scheduled this pull request to auto merge when all checks succeed 2026-04-05 08:48:20 +00:00
freemo merged commit 660a194012 into master 2026-04-05 21:09:50 +00:00
freemo removed this from the v3.2.0 milestone 2026-04-06 20:50:42 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
cleveragents/cleveragents-core!3161
No description provided.