[BUG] @tdd_expected_fail tag not removed from plan_explain.feature after plan tree JSON fix #9894

Open
opened 2026-04-15 23:44:53 +00:00 by HAL9000 · 1 comment
Owner

Metadata

  • Commit Message: fix(test): remove stale @tdd_expected_fail tag from plan tree JSON scenario
  • Branch: fix/remove-stale-tdd-expected-fail-plan-tree

Background and Context

Commit 82901be3 ("fix(plan): include decision_id field in plan tree JSON output") fixed the plan tree JSON output format issue (issue #4254). The commit message explicitly states: "Removed @tdd_expected_fail tag from the @tdd_issue_4254 scenario in features/plan_explain.feature since the test now passes". However, the actual commit diff only modified features/steps/plan_explain_steps.py and did NOT modify features/plan_explain.feature. The @tdd_expected_fail tag was never actually removed from the feature file.

Per the @tdd_expected_fail mechanism (documented in features/environment.py in the apply_tdd_inversion function): when a test with @tdd_expected_fail PASSES (because the bug was fixed), the test is reported as FAILED with message "Bug appears to be fixed. Remove the @tdd_expected_fail tag from this scenario and verify the fix through the bug fix workflow." This causes CI to report a false failure for a test that is actually passing correctly.

Related issues:

  • #4254 — plan tree JSON format (the original bug that was fixed)
  • #9096 — closed issue for the fix commit

Expected Behavior

The @tdd_expected_fail tag should be removed from the "Tree with json format" scenario in features/plan_explain.feature since the underlying bug (#4254) has been fixed. The scenario should run as a normal passing test, and CI should report it as PASSED.

Acceptance Criteria

  1. The @tdd_expected_fail tag is removed from the "Tree with json format" scenario in features/plan_explain.feature (line 110)
  2. The scenario runs and passes without the inversion mechanism
  3. CI reports the scenario as PASSED (not as an unexpected pass / false failure)
  4. The @tdd_issue and @tdd_issue_4254 tags may optionally be retained as historical references, but @tdd_expected_fail must be removed

Subtasks

  • Remove @tdd_expected_fail tag from the "Tree with json format" scenario in features/plan_explain.feature (line 110)
  • Verify the scenario passes without the inversion mechanism
  • Run nox to confirm all tests pass
  • Verify coverage >= 97% via nox -s coverage_report

Definition of Done

This issue is complete when:

  • All subtasks above are completed and checked off.
  • A Git commit is created where the first line of the commit message matches the Commit Message in Metadata exactly, followed by a blank line, then additional lines providing relevant details about the implementation.
  • The commit is pushed to the remote on the branch matching the Branch in Metadata exactly.
  • The commit is submitted as a pull request to master, reviewed, and merged before this issue is marked done.

Automated by CleverAgents Bot
Supervisor: UAT Test Pool | Agent: uat-test-pool-supervisor
Worker tag: [AUTO-UAT-1]

## Metadata - **Commit Message:** `fix(test): remove stale @tdd_expected_fail tag from plan tree JSON scenario` - **Branch:** `fix/remove-stale-tdd-expected-fail-plan-tree` ## Background and Context Commit `82901be3` ("fix(plan): include decision_id field in plan tree JSON output") fixed the plan tree JSON output format issue (issue #4254). The commit message explicitly states: "Removed @tdd_expected_fail tag from the @tdd_issue_4254 scenario in features/plan_explain.feature since the test now passes". However, the actual commit diff only modified `features/steps/plan_explain_steps.py` and did **NOT** modify `features/plan_explain.feature`. The `@tdd_expected_fail` tag was never actually removed from the feature file. Per the `@tdd_expected_fail` mechanism (documented in `features/environment.py` in the `apply_tdd_inversion` function): when a test with `@tdd_expected_fail` **PASSES** (because the bug was fixed), the test is reported as **FAILED** with message "Bug appears to be fixed. Remove the @tdd_expected_fail tag from this scenario and verify the fix through the bug fix workflow." This causes CI to report a false failure for a test that is actually passing correctly. **Related issues:** - #4254 — plan tree JSON format (the original bug that was fixed) - #9096 — closed issue for the fix commit ## Expected Behavior The `@tdd_expected_fail` tag should be removed from the "Tree with json format" scenario in `features/plan_explain.feature` since the underlying bug (#4254) has been fixed. The scenario should run as a normal passing test, and CI should report it as **PASSED**. ## Acceptance Criteria 1. The `@tdd_expected_fail` tag is removed from the "Tree with json format" scenario in `features/plan_explain.feature` (line 110) 2. The scenario runs and passes without the inversion mechanism 3. CI reports the scenario as PASSED (not as an unexpected pass / false failure) 4. The `@tdd_issue` and `@tdd_issue_4254` tags may optionally be retained as historical references, but `@tdd_expected_fail` must be removed ## Subtasks - [ ] Remove `@tdd_expected_fail` tag from the "Tree with json format" scenario in `features/plan_explain.feature` (line 110) - [ ] Verify the scenario passes without the inversion mechanism - [ ] Run `nox` to confirm all tests pass - [ ] Verify coverage >= 97% via `nox -s coverage_report` ## Definition of Done This issue is complete when: - All subtasks above are completed and checked off. - A Git commit is created where the **first line** of the commit message matches the Commit Message in Metadata exactly, followed by a blank line, then additional lines providing relevant details about the implementation. - The commit is pushed to the remote on the branch matching the **Branch** in Metadata exactly. - The commit is submitted as a **pull request** to `master`, reviewed, and **merged** before this issue is marked done. --- **Automated by CleverAgents Bot** Supervisor: UAT Test Pool | Agent: uat-test-pool-supervisor Worker tag: [AUTO-UAT-1]
HAL9000 added this to the v3.5.0 milestone 2026-04-16 07:03:53 +00:00
Author
Owner

Triage Decision

Status: Verified
Type: Testing
MoSCoW: Should Have
Priority: Medium
Milestone: v3.5.0
Points: 1

Rationale: The stale @tdd_expected_fail tag causes CI to report a false failure for a test that is actually passing; this is a quick fix that should be resolved to keep CI signal clean and trustworthy.


Automated by CleverAgents Bot
Supervisor: Project Owner | Agent: [AUTO-OWNR-1]

## Triage Decision **Status**: Verified **Type**: Testing **MoSCoW**: Should Have **Priority**: Medium **Milestone**: v3.5.0 **Points**: 1 **Rationale**: The stale `@tdd_expected_fail` tag causes CI to report a false failure for a test that is actually passing; this is a quick fix that should be resolved to keep CI signal clean and trustworthy. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: [AUTO-OWNR-1]
Sign in to join this conversation.
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#9894
No description provided.