fix(ci): resolve lint errors and remove stale tdd_expected_fail tag #5264
No reviewers
Labels
No labels
auto/needs-reevaluation
controller-managed
auto/blocked-by-deps
auto/ci-timeout
auto/claimed-implementer
auto/claimed-merge
auto/claimed-reviewer
auto/driver-down
auto/invariant-violation
auto/last-attempt-tier-0
auto/last-attempt-tier-1
auto/last-attempt-tier-2
auto/last-attempt-tier-min
Automation Tracking
auto/needs-conflict-resolution
auto/needs-implementer
auto/postmortem
auto/ready-to-merge
auto/restart-throttled
auto/revert
auto/sentinel
auto/stale-inactivity
auto/unstable
Blocked
Bounty
$100
Bounty
$1000
Bounty
$10000
Bounty
$20
Bounty
$2000
Bounty
$250
Bounty
$50
Bounty
$500
Bounty
$5000
Bounty
$750
MoSCoW
Could have
MoSCoW
Must have
MoSCoW
Should have
Needs Feedback
Points
1
Points
13
Points
2
Points
21
Points
3
Points
34
Points
5
Points
55
Points
8
Points
88
Priority
Backlog
Priority
CI Blocker
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Signed-off: Owner
Signed-off: Scrum Master
Signed-off: Tech Lead
Spike
State
Completed
State
Duplicate
State
In Progress
State
In Review
State
Paused
State
Unverified
State
Verified
State
Wont Do
Type
Automation
Type
Bug
Type
Discussion
Type
Documentation
Type
Epic
Type
Feature
Type
Legendary
Type
Refactor
Type
Support
Type
Task
Type
Testing
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Blocks
#5266 fix(ci): resolve broken lint and integration_tests on master
cleveragents/cleveragents-core
Reference
cleveragents/cleveragents-core!5264
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/broken-ci"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
The
lintandintegration_testsCI jobs onmasterare currently failing. This PR fixes both:Lint (
nox -e lint) — 51 ruff violations inscripts/validate_automation_tracking.py:typing.List/Dict/Tuple/Optionalwith builtin equivalents (list,dict,tuple)Optionalimport and unused local variableissuesdict.keys()withdictin membership testsmain()Integration tests (
nox -e integration_tests) — 1 failure inrobot/coverage_threshold.robot:tdd_expected_fail,tdd_issue, andtdd_issue_4305tags from theNoxfile Contains Coverage Threshold ConstanttestCOVERAGE_THRESHOLD = 97exists innoxfile.pyLocal verification
nox -e lint— All checks passednox -e integration_tests— 1962 tests, 1962 passed, 0 failed, 0 skippedFiles changed
scripts/validate_automation_tracking.pyrobot/coverage_threshold.robottdd_expected_failtagCloses #5266
@HAL9000 please review this PR asap since it tries to get the CI back into a working state.
PR Review — fix(ci): resolve lint errors and remove stale tdd_expected_fail tag
This PR addresses the two active master CI failures. The changes are correct and well-scoped.
Lint Fix (
scripts/validate_automation_tracking.py)The 51 ruff violations are standard modernization fixes:
Optionalimporttyping.List/Dict/Tuple/Optionalto builtin equivalents — correct per Python 3.9+ conventionsdict.keys()membership test fixesThese are all mechanical correctness fixes with no behavioral change. The approach is correct.
TDD Tag Removal (
robot/coverage_threshold.robot)Removing
tdd_expected_fail,tdd_issue, andtdd_issue_4305from theNoxfile Contains Coverage Threshold Constanttest is the correct action. Per our TDD workflow:tdd_expected_failmust be removed in the same commit that fixes the underlying bugCOVERAGE_THRESHOLD = 97exists innoxfile.pyRemoving all three TDD tags together is correct procedure.
Assessment
The PR is well-formed, the changes are correct, and local verification was performed (1962 tests, 0 failures). CI checks are currently pending.
Recommendation: Merge once CI passes.
Automated by CleverAgents Bot
Supervisor: Human Liaison | Agent: human-liaison
Review Summary
Reviewed PR with focus on specification-compliance, requirements-coverage, and behavior-correctness.
The lint fixes in
scripts/validate_automation_tracking.pyare correct and well-executed. However, there is a critical TDD tag violation inrobot/coverage_threshold.robot, plus two missing required PR metadata fields.❌ Required Changes
1. [CRITICAL] TDD Regression Markers Incorrectly Removed
Location:
robot/coverage_threshold.robot—Noxfile Contains Coverage Threshold ConstanttestIssue: The PR removed ALL three TDD tags from this test, but only
tdd_expected_failshould be removed. Thetdd_issueandtdd_issue_4305tags are permanent regression markers and must remain.Master (before):
This PR (after):
Required (correct):
Why this matters: Per CONTRIBUTING.md (Bug Fix Workflow / TDD Issue Test Tags):
The
tdd_issueandtdd_issue_4305tags serve as permanent regression guards. IfCOVERAGE_THRESHOLD = 97is ever removed fromnoxfile.pyin the future, these tags ensure the test is still identifiable as a TDD regression test for issue #4305. Removing them silently strips that traceability and regression protection.2. [REQUIRED] Missing Milestone on PR
Reference: CONTRIBUTING.md — Pull Request Process, item 11:
Issue #5266 is assigned to milestone v3.2.0. This PR has no milestone assigned. Please assign milestone v3.2.0 to this PR.
3. [REQUIRED] Missing Type/ Label on PR
Reference: CONTRIBUTING.md — Pull Request Process, item 12:
This PR has no labels at all. Given this is a bug/CI fix, the appropriate label is
Type/Bug. Please apply it.⚠️ Concern (Non-blocking but should be addressed)
Issue #4305 Still Open
The PR description states: "The bug this TDD tag tracked (issue #4305) is now fixed —
COVERAGE_THRESHOLD = 97exists innoxfile.py."However, issue #4305 (
fix(integration): coverage_threshold — 1 failing test(s)) is still open withState/Verified. If the underlying fix is already merged to master, issue #4305 should be closed. Consider either:Closes #4305to this PR's description (if this PR is the appropriate place to close it), orCOVERAGE_THRESHOLD = 97tonoxfile.py✅ What's Good
scripts/validate_automation_tracking.pyare properly addressed:typing.List/Dict/Tuple/Optionalreplaced with builtin equivalents (list,dict,tuple) ✅Optionalimport removed ✅main() -> int✅dict.keys()membership test replaced withdictdirectly ✅# type: ignoresuppressions ✅fix(ci): resolve lint errors and remove stale tdd_expected_fail tag✅Closes #5266✅tdd_expected_failremoval itself is correct —COVERAGE_THRESHOLD = 97is confirmed present innoxfile.pyon master, so the TDD listener was correctly inverting a passing test to a failure ✅Summary of Required Changes
robot/coverage_threshold.robottdd_issueandtdd_issue_4305tags; keep onlytdd_expected_failremovedType/BuglabelDecision: REQUEST CHANGES 🔄
The lint fixes are solid and the CI motivation is urgent — but the TDD tag removal is incorrect and would silently eliminate permanent regression protection for issue #4305. The fix is a one-line change: restore
tdd_issueandtdd_issue_4305to theNoxfile Contains Coverage Threshold Constanttest while keepingtdd_expected_failremoved.Automated by CleverAgents Bot
Supervisor: PR Review | Agent: pr-self-reviewer
@ -9,7 +9,7 @@ Suite Teardown Cleanup Test Environment*** Test Cases ***Noxfile Contains Coverage Threshold ConstantTDD Regression Markers Incorrectly Removed
Only
tdd_expected_failshould be removed when a bug is fixed. Thetdd_issueandtdd_issue_4305tags are permanent regression markers and must remain.Current (incorrect):
Required (correct):
Per CONTRIBUTING.md TDD Issue Test Tags:
For the record, I'm merging this PR anyway since:
I see no harm on merging this, instead, merging this should bring the CI back to a working state so it will unblock other issues and PRs.
PR merged. The master CI fix is now in. Thank you @hurui200320 for the clear explanation and for resolving this promptly.
The reasoning is sound:
tdd_expected_failtag was the only remaining artifactMaster CI should now pass on the next run.
Automated by CleverAgents Bot
Supervisor: Human Liaison | Agent: human-liaison
HAL9000 referenced this pull request2026-04-09 05:48:51 +00:00
HAL9000 referenced this pull request2026-04-09 18:14:00 +00:00
HAL9000 referenced this pull request2026-04-10 18:10:04 +00:00