UAT: Pre-existing @tdd_bug tags in TDD feature files violate CONTRIBUTING.md TDD tag specification #2779

Closed
opened 2026-04-04 19:24:57 +00:00 by freemo · 5 comments
Owner

Metadata

  • Branch: fix/tdd-bug-tag-compliance-audit
  • Commit Message: fix(tdd): replace non-standard @tdd_bug tags with @tdd_issue per CONTRIBUTING.md
  • Milestone: v3.2.0
  • Parent Epic: #1678

Bug Report

PR Under Test: #2629 (fix/master-ci-quality-gates, HEAD SHA 938ea8194c6a2044b17efabea1766995c62eeaf1)
Issue Being Fixed: #2597
Feature Area: tdd-tag-compliance


What Was Tested

Code-level analysis of all TDD feature files in features/ against CONTRIBUTING.md § TDD Issue Test Tags specification.

Expected Behavior

Per CONTRIBUTING.md § TDD Issue Test Tags, the correct three-tag system for TDD issue-capture tests is:

  • @tdd_issue — Generic filter tag. Present on all TDD issue tests.
  • @tdd_issue_<N> — Issue reference tag (e.g., @tdd_issue_123).
  • @tdd_expected_fail — Behavioral switch (temporary, removed when bug is fixed).

The tags @tdd_bug and @tdd_bug_<N> are not defined in CONTRIBUTING.md and are not part of the documented TDD workflow.

Actual Behavior

The following TDD feature file on the fix/master-ci-quality-gates branch (and on master) uses non-standard @tdd_bug tags instead of the CONTRIBUTING.md-specified @tdd_issue tags:

features/tdd_actor_list_no_db_update.feature:

@tdd_bug @tdd_bug_797
Feature: TDD Bug #797 — actor list should not cause a database update

This file has the same SHA (d2ee1cd0d0b9edfb8153838b3a4eafeee22f73a8) on both master and fix/master-ci-quality-gates, meaning this is a pre-existing violation that was NOT introduced by PR #2629.

PR #2629 correctly fixed features/tdd_json_decode_crash_persistence.feature (changing @tdd_bug @tdd_bug_989@tdd_issue @tdd_issue_989), but did not fix other files with the same non-standard tag pattern.

Impact

  • The @tdd_bug and @tdd_bug_<N> tags are not recognized by the validate_tdd_tags() function in features/environment.py, so they do not trigger the TDD inversion mechanism.
  • These tests run as normal tests (not as TDD expected-fail tests), which may not be the intended behavior.
  • The tags are inconsistent with CONTRIBUTING.md documentation, making the codebase harder to maintain and filter.

Files Affected (pre-existing on master)

  • features/tdd_actor_list_no_db_update.feature — uses @tdd_bug @tdd_bug_797

Note: A comprehensive audit of all TDD feature files for @tdd_bug usage may reveal additional files.

Steps to Reproduce

  1. Check out master branch
  2. Run: grep -r "@tdd_bug" features/
  3. Observe files using @tdd_bug instead of @tdd_issue

Relationship to PR #2629

This bug is pre-existing and was not introduced by PR #2629. PR #2629 correctly fixed tdd_json_decode_crash_persistence.feature but did not perform a comprehensive audit of all TDD feature files for @tdd_bug usage.


Subtasks

  • Run grep -r "@tdd_bug" features/ on master to produce a complete list of all affected files
  • For each affected file: replace @tdd_bug@tdd_issue and @tdd_bug_<N>@tdd_issue_<N>
  • Verify validate_tdd_tags() in features/environment.py correctly recognises the updated tags
  • Confirm no remaining @tdd_bug references exist in features/ after the fix
  • Run nox -s lint and nox -s unit_tests to confirm no regressions
  • Run nox (all default sessions), fix any errors
  • Verify coverage >= 97% via nox -s coverage_report

Definition of Done

  • All subtasks above are completed and checked off
  • Zero occurrences of @tdd_bug or @tdd_bug_<N> remain in features/
  • All affected feature files use the CONTRIBUTING.md-specified @tdd_issue / @tdd_issue_<N> tags
  • A Git commit is created where the first line matches the Commit Message in Metadata exactly
  • The commit is pushed to the branch matching the Branch in Metadata exactly
  • The commit is submitted as a pull request to master, reviewed, and merged
  • All nox stages pass
  • Coverage >= 97%

Automated by CleverAgents Bot
Supervisor: UAT Testing | Agent: ca-new-issue-creator

## Metadata - **Branch**: `fix/tdd-bug-tag-compliance-audit` - **Commit Message**: `fix(tdd): replace non-standard @tdd_bug tags with @tdd_issue per CONTRIBUTING.md` - **Milestone**: v3.2.0 - **Parent Epic**: #1678 ## Bug Report **PR Under Test**: #2629 (`fix/master-ci-quality-gates`, HEAD SHA `938ea8194c6a2044b17efabea1766995c62eeaf1`) **Issue Being Fixed**: #2597 **Feature Area**: tdd-tag-compliance --- ## What Was Tested Code-level analysis of all TDD feature files in `features/` against CONTRIBUTING.md § TDD Issue Test Tags specification. ## Expected Behavior Per CONTRIBUTING.md § TDD Issue Test Tags, the correct three-tag system for TDD issue-capture tests is: - `@tdd_issue` — Generic filter tag. Present on **all** TDD issue tests. - `@tdd_issue_<N>` — Issue reference tag (e.g., `@tdd_issue_123`). - `@tdd_expected_fail` — Behavioral switch (temporary, removed when bug is fixed). The tags `@tdd_bug` and `@tdd_bug_<N>` are **not defined** in CONTRIBUTING.md and are not part of the documented TDD workflow. ## Actual Behavior The following TDD feature file on the `fix/master-ci-quality-gates` branch (and on `master`) uses non-standard `@tdd_bug` tags instead of the CONTRIBUTING.md-specified `@tdd_issue` tags: **`features/tdd_actor_list_no_db_update.feature`**: ```gherkin @tdd_bug @tdd_bug_797 Feature: TDD Bug #797 — actor list should not cause a database update ``` This file has the same SHA (`d2ee1cd0d0b9edfb8153838b3a4eafeee22f73a8`) on both `master` and `fix/master-ci-quality-gates`, meaning this is a **pre-existing violation** that was NOT introduced by PR #2629. PR #2629 correctly fixed `features/tdd_json_decode_crash_persistence.feature` (changing `@tdd_bug @tdd_bug_989` → `@tdd_issue @tdd_issue_989`), but did not fix other files with the same non-standard tag pattern. ## Impact - The `@tdd_bug` and `@tdd_bug_<N>` tags are not recognized by the `validate_tdd_tags()` function in `features/environment.py`, so they do not trigger the TDD inversion mechanism. - These tests run as normal tests (not as TDD expected-fail tests), which may not be the intended behavior. - The tags are inconsistent with CONTRIBUTING.md documentation, making the codebase harder to maintain and filter. ## Files Affected (pre-existing on master) - `features/tdd_actor_list_no_db_update.feature` — uses `@tdd_bug @tdd_bug_797` Note: A comprehensive audit of all TDD feature files for `@tdd_bug` usage may reveal additional files. ## Steps to Reproduce 1. Check out `master` branch 2. Run: `grep -r "@tdd_bug" features/` 3. Observe files using `@tdd_bug` instead of `@tdd_issue` ## Relationship to PR #2629 This bug is **pre-existing** and was not introduced by PR #2629. PR #2629 correctly fixed `tdd_json_decode_crash_persistence.feature` but did not perform a comprehensive audit of all TDD feature files for `@tdd_bug` usage. --- ## Subtasks - [ ] Run `grep -r "@tdd_bug" features/` on `master` to produce a complete list of all affected files - [ ] For each affected file: replace `@tdd_bug` → `@tdd_issue` and `@tdd_bug_<N>` → `@tdd_issue_<N>` - [ ] Verify `validate_tdd_tags()` in `features/environment.py` correctly recognises the updated tags - [ ] Confirm no remaining `@tdd_bug` references exist in `features/` after the fix - [ ] Run `nox -s lint` and `nox -s unit_tests` to confirm no regressions - [ ] Run `nox` (all default sessions), fix any errors - [ ] Verify coverage >= 97% via `nox -s coverage_report` ## Definition of Done - [ ] All subtasks above are completed and checked off - [ ] Zero occurrences of `@tdd_bug` or `@tdd_bug_<N>` remain in `features/` - [ ] All affected feature files use the CONTRIBUTING.md-specified `@tdd_issue` / `@tdd_issue_<N>` tags - [ ] A Git commit is created where the first line matches the Commit Message in Metadata exactly - [ ] The commit is pushed to the branch matching the Branch in Metadata exactly - [ ] The commit is submitted as a pull request to `master`, reviewed, and merged - All nox stages pass - Coverage >= 97% --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: ca-new-issue-creator
freemo added this to the v3.2.0 milestone 2026-04-04 19:25:02 +00:00
Author
Owner

Issue triaged by project owner:

  • State: Verified | MoSCoW: Should Have — Pre-existing @tdd_bug tags violate CONTRIBUTING.md TDD workflow. These should be resolved to maintain process integrity.

Automated by CleverAgents Bot
Supervisor: Project Owner | Agent: ca-project-owner

Issue triaged by project owner: - **State**: Verified | **MoSCoW**: Should Have — Pre-existing `@tdd_bug` tags violate CONTRIBUTING.md TDD workflow. These should be resolved to maintain process integrity. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
Author
Owner

Starting implementation on branch fix/tdd-bug-tag-compliance-audit.

Audit results:

  • Found 3 files with non-compliant @tdd_bug tags:
    1. features/tdd_actor_list_no_db_update.feature@tdd_bug @tdd_bug_797@tdd_issue @tdd_issue_797
    2. features/tdd_exec_env_resolution_precedence.feature — removed @tdd_bug @tdd_bug_1080 (already had correct @tdd_issue @tdd_issue_1080)
    3. features/tdd_use_action_automation_profile.feature@tdd_bug @tdd_bug_1076@tdd_issue @tdd_issue_1076

Quality gates: lint | unit_tests (14426 scenarios passed, 0 failed)


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

Starting implementation on branch `fix/tdd-bug-tag-compliance-audit`. **Audit results:** - Found 3 files with non-compliant `@tdd_bug` tags: 1. `features/tdd_actor_list_no_db_update.feature` — `@tdd_bug @tdd_bug_797` → `@tdd_issue @tdd_issue_797` 2. `features/tdd_exec_env_resolution_precedence.feature` — removed `@tdd_bug @tdd_bug_1080` (already had correct `@tdd_issue @tdd_issue_1080`) 3. `features/tdd_use_action_automation_profile.feature` — `@tdd_bug @tdd_bug_1076` → `@tdd_issue @tdd_issue_1076` **Quality gates:** lint ✅ | unit_tests ✅ (14426 scenarios passed, 0 failed) --- **Automated by CleverAgents Bot** Supervisor: Implementation | Agent: ca-issue-worker
Author
Owner

PR #3292 created on branch fix/tdd-bug-tag-compliance-audit. PR review and merge handled by continuous review stream.

Summary of changes:

  • features/tdd_actor_list_no_db_update.feature: @tdd_bug @tdd_bug_797@tdd_issue @tdd_issue_797
  • features/tdd_exec_env_resolution_precedence.feature: removed duplicate @tdd_bug @tdd_bug_1080
  • features/tdd_use_action_automation_profile.feature: @tdd_bug @tdd_bug_1076@tdd_issue @tdd_issue_1076

Zero @tdd_bug occurrences remain in features/. All nox quality gates pass.


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

PR #3292 created on branch `fix/tdd-bug-tag-compliance-audit`. PR review and merge handled by continuous review stream. **Summary of changes:** - `features/tdd_actor_list_no_db_update.feature`: `@tdd_bug @tdd_bug_797` → `@tdd_issue @tdd_issue_797` - `features/tdd_exec_env_resolution_precedence.feature`: removed duplicate `@tdd_bug @tdd_bug_1080` - `features/tdd_use_action_automation_profile.feature`: `@tdd_bug @tdd_bug_1076` → `@tdd_issue @tdd_issue_1076` Zero `@tdd_bug` occurrences remain in `features/`. All nox quality gates pass. --- **Automated by CleverAgents Bot** Supervisor: Implementation | Agent: ca-issue-worker
Author
Owner

Label compliance fix applied:

  • Added missing label: Priority/Medium
  • Added missing label: Type/Bug
  • Reason: Issue was missing required Priority/* and Type/* labels per CONTRIBUTING.md. Inferred Type/Bug from UAT issue title (TDD tag compliance violation). Applied Priority/Medium based on the issue context (code quality/compliance issue, not blocking critical functionality).

Automated by CleverAgents Bot
Supervisor: Backlog Grooming | Agent: ca-backlog-groomer

Label compliance fix applied: - Added missing label: `Priority/Medium` - Added missing label: `Type/Bug` - Reason: Issue was missing required Priority/* and Type/* labels per CONTRIBUTING.md. Inferred `Type/Bug` from UAT issue title (TDD tag compliance violation). Applied `Priority/Medium` based on the issue context (code quality/compliance issue, not blocking critical functionality). --- **Automated by CleverAgents Bot** Supervisor: Backlog Grooming | Agent: ca-backlog-groomer
Owner

State label reconciliation:

  • Corrected to: State/Completed
  • Reason: Issue is closed but had a non-terminal state label (State/In Review, State/Verified, or State/In Progress). CONTRIBUTING.md requires closed issues to have State/Completed or State/Wont Do.

Automated by CleverAgents Bot
Supervisor: Backlog Grooming | Agent: backlog-groomer

State label reconciliation: - Corrected to: `State/Completed` - Reason: Issue is closed but had a non-terminal state label (`State/In Review`, `State/Verified`, or `State/In Progress`). CONTRIBUTING.md requires closed issues to have `State/Completed` or `State/Wont Do`. --- **Automated by CleverAgents Bot** Supervisor: Backlog Grooming | Agent: backlog-groomer
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
cleveragents/cleveragents-core#2779
No description provided.