hurui200320
9fe69c468c
test(plan): add tdd issue-capture test for cleanup_stale destroying execute output before apply
...
Add two Behave scenarios tagged @tdd_issue, @tdd_issue_11121, and @tdd_expected_fail
that capture bug #11121 : _create_sandbox_for_plan() calls
GitWorktreeSandbox.cleanup_stale() unconditionally on every execute invocation,
including when the plan is already in execute/complete state awaiting apply.
Scenario 1 asserts that the cleveragents/plan-<id> branch survives a second call
to _create_sandbox_for_plan() on an execute/complete plan. This assertion fails
because cleanup_stale deletes the branch regardless of plan state.
Scenario 2 asserts that plan apply would find at least one artifact after a
re-invoked execute on an execute/complete plan. This assertion fails because the
branch (holding execute output) was destroyed by cleanup_stale.
Both scenarios use @tdd_expected_fail so CI passes while the bug is unfixed.
The @mock_only tag ensures no database is created for these git-only tests.
The companion fix is tracked in issue #11121 .
Additional CI fixes bundled in this commit:
- Fixed PlanGenerationGraph recursion bug: _should_retry() was mutating state
in-place but LangGraph conditional edge functions cannot persist state
mutations. Replaced with a proper _handle_retry() node that increments
retry_count via state returns, resolving the GraphRecursionError that was
crashing the integration tests. Updated the graph to include handle_retry
as the 5th node, routing validate→should_retry→handle_retry→analyze.
- Fixed TDD quality gate (scripts/tdd_quality_gate.py): Renamed @tdd_bug_N
tags to @tdd_issue_N to match the CONTRIBUTING.md specification. Added
_diff_is_tdd_issue_capture() detection so that TDD issue-capture PRs
(which add @tdd_expected_fail rather than remove it) pass the quality gate
correctly. Updated all related tests (Behave unit tests, Robot integration
tests, and test helpers) to use the new tag naming.
ISSUES CLOSED : #11120
2026-05-12 16:57:50 +08:00
..
2026-05-09 12:23:24 +00:00
2026-04-10 05:21:24 +00:00
2026-03-04 18:21:19 +00:00
2026-04-10 05:21:24 +00:00
2026-03-12 14:38:57 +00:00
2026-04-08 11:02:14 +00:00
2026-04-03 00:29:46 +00:00
2026-04-26 12:35:39 +00:00
2026-03-03 03:29:31 +00:00
2026-03-10 15:09:03 +00:00
2026-03-05 15:13:19 +00:00
2026-03-05 10:27:36 -05:00
2026-03-07 14:53:18 +00:00
2026-04-05 21:26:33 +00:00
2026-04-08 11:02:14 +00:00
2026-04-27 05:00:54 +00:00
2026-04-05 21:19:40 +00:00
2026-04-08 11:02:14 +00:00
2026-05-06 04:08:25 +00:00
2026-05-09 23:13:33 +01:00
2026-04-08 11:02:14 +00:00
2026-05-05 02:01:49 +00:00
2026-04-02 23:31:25 +00:00
2026-02-25 10:30:42 +00:00
2026-03-16 01:45:50 +00:00
2026-04-17 16:28:45 +08:00
2026-04-14 14:50:55 +00:00
2026-05-06 01:07:15 +00:00
2026-03-26 13:41:31 +00:00
2026-03-18 06:58:39 +00:00
2026-02-26 09:10:35 +00:00
2026-02-25 10:01:57 +00:00
2026-04-02 16:58:36 +00:00
2026-03-04 23:47:20 +00:00
2026-04-02 16:59:07 +00:00
2026-04-14 14:50:55 +00:00
2026-04-08 11:02:14 +00:00
2026-02-28 22:06:57 +00:00
2026-04-15 03:21:05 +00:00
2026-04-14 14:50:55 +00:00
2026-03-31 23:57:39 +00:00
2026-04-14 14:50:55 +00:00
2026-04-14 14:50:55 +00:00
2026-03-18 16:51:14 +00:00
2026-03-02 10:18:14 +00:00
2026-03-21 00:29:49 +00:00
2026-03-10 12:17:51 +00:00
2026-04-14 14:50:55 +00:00
2026-04-14 14:50:55 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-05-12 01:05:10 +00:00
2026-04-17 17:40:00 +00:00
2026-03-16 01:45:50 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-05-05 02:01:49 +00:00
2026-04-14 14:50:55 +00:00
2026-03-17 13:14:37 -04:00
2026-04-14 14:50:55 +00:00
2026-03-26 18:10:14 +00:00
2026-05-01 00:59:02 +00:00
2026-03-07 11:49:14 -05:00
2026-04-14 14:50:55 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-03-27 05:58:35 +00:00
2026-04-08 11:02:14 +00:00
2026-04-14 14:50:55 +00:00
2026-04-14 14:50:55 +00:00
2026-03-05 14:11:23 +00:00
2026-04-14 14:50:55 +00:00
2026-03-05 12:58:57 +00:00
2026-04-05 20:56:32 +00:00
2026-03-25 17:49:06 +00:00
2026-03-03 17:01:57 +00:00
2026-05-05 02:01:49 +00:00
2026-03-29 16:23:04 +01:00
2026-03-23 18:41:53 +00:00
2026-03-10 14:18:04 -04:00
2026-04-14 14:50:55 +00:00
2026-05-05 06:15:57 +00:00
2026-03-04 21:20:47 +00:00
2026-03-02 14:32:31 +00:00
2026-03-16 22:50:27 +00:00
2026-04-14 14:50:55 +00:00
2026-03-10 19:29:27 +00:00
2026-03-16 01:45:50 +00:00
2026-02-23 22:19:19 +00:00
2026-02-26 16:13:44 +00:00
2026-03-16 01:45:50 +00:00
2026-03-19 07:53:43 +00:00
2026-03-16 01:45:50 +00:00
2026-02-25 10:04:31 +00:00
2026-03-05 15:42:20 +00:00
2026-04-05 18:08:56 +00:00
2026-03-10 12:17:51 +00:00
2026-02-25 10:02:38 +00:00
2026-03-16 01:45:50 +00:00
2026-04-03 02:01:45 +00:00
2026-02-25 10:05:10 +00:00
2026-03-21 01:40:58 +00:00
2026-03-02 11:54:53 +00:00
2026-03-26 11:52:52 +00:00
2026-03-03 14:48:55 -05:00
2026-03-24 22:01:48 +00:00
2026-04-14 14:50:55 +00:00
2026-04-08 11:02:14 +00:00
2026-05-11 04:39:29 +00:00
2026-04-05 17:53:56 +00:00
2026-04-26 12:35:39 +00:00
2026-03-03 03:29:31 +00:00
2026-04-27 07:33:18 +00:00
2026-03-05 15:13:19 +00:00
2026-03-05 10:27:36 -05:00
2026-03-07 14:53:18 +00:00
2026-04-08 11:02:14 +00:00
2026-04-05 21:19:40 +00:00
2026-04-27 05:00:54 +00:00
2026-04-05 21:19:40 +00:00
2026-02-24 19:12:01 +00:00
2026-05-06 04:08:25 +00:00
2026-04-05 06:55:19 +00:00
2026-04-02 23:31:25 +00:00
2026-04-17 16:28:45 +08:00
2026-04-17 16:28:45 +08:00
2026-04-09 06:11:39 +00:00
2026-05-06 01:07:15 +00:00
2026-03-26 13:41:31 +00:00
2026-03-18 06:58:39 +00:00
2026-02-26 09:10:35 +00:00
2026-02-25 10:01:57 +00:00
2026-03-04 23:47:20 +00:00
2026-04-04 20:38:16 +00:00
2026-04-08 11:02:14 +00:00
2026-03-30 13:18:07 +01:00
2026-02-28 22:06:57 +00:00
2026-05-07 18:09:26 +08:00
2026-03-21 05:30:01 +00:00
2026-03-18 16:51:14 +00:00
2026-03-18 16:51:14 +00:00
2026-03-31 23:57:39 +00:00
2026-02-25 02:55:40 +00:00
2026-04-05 08:39:14 +00:00
2026-05-12 01:05:10 +00:00
2026-04-03 20:50:17 +00:00
2026-04-02 19:09:04 +00:00
2026-03-17 13:14:37 -04:00
2026-03-07 11:49:14 -05:00
2026-02-25 10:48:05 -05:00
2026-04-04 20:38:16 +00:00
2026-03-02 15:05:20 +00:00
2026-03-30 21:48:01 +00:00
2026-03-31 23:57:39 +00:00
2026-02-27 09:47:10 -05:00
2026-03-05 14:11:23 +00:00
2026-03-05 12:58:57 +00:00
2026-04-05 20:56:32 +00:00
2026-03-25 17:49:06 +00:00
2026-04-12 16:43:30 +00:00
2026-03-29 16:23:04 +01:00
2026-04-02 16:59:40 +00:00
2026-03-10 14:18:04 -04:00
2026-04-05 04:09:27 +00:00
2026-03-04 21:20:47 +00:00
2026-03-02 14:32:31 +00:00
2026-03-16 22:50:27 +00:00
2026-03-10 19:29:27 +00:00
2026-03-04 23:47:20 +00:00
2026-02-23 22:19:19 +00:00
2026-02-26 16:13:44 +00:00
2026-02-26 16:13:44 +00:00
2026-03-19 07:53:43 +00:00
2026-03-03 12:53:28 +00:00
2026-02-25 10:04:31 +00:00
2026-03-05 15:42:20 +00:00
2026-04-08 11:02:14 +00:00
2026-03-10 12:17:51 +00:00
2026-02-25 10:02:38 +00:00
2026-03-06 19:56:21 +00:00
2026-04-03 02:01:45 +00:00
2026-03-26 21:42:37 +00:00
2026-02-25 10:05:10 +00:00
2026-03-21 01:40:58 +00:00
2026-03-03 15:42:53 +00:00
2026-03-26 11:52:52 +00:00
2026-05-02 01:36:45 +00:00
2026-03-24 22:01:48 +00:00
2026-03-04 15:36:34 +00:00
2026-04-01 04:27:09 +00:00
2026-04-02 16:51:39 +00:00
2026-04-05 05:46:05 +00:00
2026-03-04 20:26:42 +00:00
2026-03-27 23:53:22 +00:00
2026-03-03 21:44:20 +00:00
2026-03-03 17:04:17 -05:00
2026-03-30 11:51:27 +00:00
2026-03-24 13:01:12 +00:00
2026-03-24 13:01:12 +00:00
2026-03-06 18:16:47 +00:00
2026-05-01 00:59:02 +00:00
2026-04-02 19:09:04 +00:00
2026-02-24 21:55:24 +00:00
2026-05-01 00:59:02 +00:00
2026-03-30 04:45:56 +00:00
2026-03-20 21:22:10 +00:00
2026-03-30 04:45:56 +00:00
2026-03-15 20:50:02 +00:00
2026-05-01 00:59:02 +00:00
2026-03-13 14:03:37 +08:00
2026-03-13 14:03:37 +08:00
2026-03-13 14:03:37 +08:00
2026-03-13 14:03:37 +08:00
2026-05-01 00:59:02 +00:00
2026-05-01 00:59:02 +00:00
2026-05-01 00:59:02 +00:00
2026-05-01 00:59:02 +00:00
2026-04-04 20:38:16 +00:00
2026-04-02 19:09:04 +00:00
2026-02-25 14:17:34 +00:00
2026-03-10 17:23:05 +00:00
2026-03-03 14:55:58 -05:00
2026-03-30 17:48:48 +00:00
2026-03-21 03:14:40 +00:00
2026-02-28 20:21:18 +00:00
2026-03-23 23:33:33 +00:00
2026-04-22 03:26:49 +00:00
2026-03-31 01:49:16 +00:00
2026-03-30 17:06:49 -04:00
2026-04-17 08:34:33 +00:00
2026-03-17 09:53:57 +00:00
2026-04-05 20:46:24 +00:00
2026-03-03 12:10:25 +00:00
2026-02-27 09:47:10 -05:00
2026-03-23 23:33:33 +00:00
2026-03-30 13:18:07 +01:00
2026-03-18 06:58:39 +00:00
2026-02-25 14:00:04 -05:00
2026-02-27 08:02:48 +00:00
2026-04-09 06:11:39 +00:00
2026-03-18 08:13:56 +00:00
2026-03-30 23:40:36 +01:00
2026-04-15 06:37:18 +00:00
2026-03-08 21:53:21 -04:00
2026-03-17 09:53:57 +00:00
2026-03-30 14:33:28 +00:00
2026-03-08 22:19:40 +00:00
2026-02-27 09:47:10 -05:00
2026-03-20 22:28:32 +00:00
2026-03-09 23:55:33 +00:00
2026-04-01 13:02:24 +00:00
2026-03-24 13:53:41 +00:00
2026-03-27 10:50:15 +00:00
2026-02-23 22:20:44 +00:00
2026-03-30 13:44:54 +00:00
2026-03-10 03:39:32 +00:00
2026-03-24 13:21:12 +00:00
2026-03-28 00:57:51 +00:00
2026-03-03 22:21:14 +00:00
2026-03-03 22:21:14 +00:00
2026-03-04 15:59:15 +00:00
2026-02-27 23:08:55 +00:00
2026-03-29 18:57:15 +01:00
2026-03-21 04:46:45 +00:00
2026-03-21 04:46:45 +00:00
2026-04-21 16:53:08 +00:00
2026-03-06 00:49:33 +00:00
2026-02-25 10:05:57 +00:00
2026-02-26 20:33:20 +00:00
2026-02-25 10:06:27 +00:00
2026-03-30 13:18:07 +01:00
2026-03-02 22:05:53 +00:00
2026-02-28 17:46:54 +00:00
2026-03-12 14:38:57 +00:00
2026-05-11 04:39:29 +00:00
2026-05-11 04:39:29 +00:00
2026-03-05 21:38:55 +00:00
2026-03-26 13:41:31 +00:00
2026-03-08 02:57:44 +00:00
2026-03-19 09:30:35 +00:00
2026-02-24 17:57:18 +00:00
2026-04-17 11:46:38 +00:00
2026-02-26 12:29:49 +00:00
2026-02-27 20:09:26 +00:00
2026-04-14 19:26:49 +00:00
2026-03-01 09:07:06 +00:00
2026-03-18 17:07:07 +00:00
2026-03-02 09:41:25 -05:00
2026-04-30 10:56:21 +00:00
2026-04-30 10:56:21 +00:00
2026-04-02 16:50:50 +00:00
2026-03-16 01:45:50 +00:00
2026-03-19 22:24:41 +00:00
2026-03-28 02:14:55 +00:00
2026-03-12 20:42:14 +00:00
2026-04-10 05:21:24 +00:00
2026-03-19 06:31:20 +00:00
2026-03-26 02:06:28 +00:00
2026-04-02 19:09:04 +00:00
2026-04-01 00:40:46 +00:00
2026-03-30 17:06:49 -04:00
2026-03-19 06:41:26 +00:00
2026-03-31 23:57:39 +00:00
2026-03-11 02:42:13 +00:00
2026-03-11 02:42:13 +00:00
2026-03-11 02:42:13 +00:00
2026-03-11 22:50:37 +00:00
2026-03-24 17:08:22 +00:00
2026-04-22 00:45:09 +00:00
2026-03-16 01:12:24 +00:00
2026-04-10 05:21:24 +00:00
2026-03-31 07:42:06 +00:00
2026-03-11 01:36:06 +00:00
2026-04-28 03:22:06 +00:00
2026-03-08 22:11:49 +00:00
2026-04-05 17:49:35 +00:00
2026-03-20 23:51:46 +00:00
2026-03-05 19:20:39 +00:00
2026-03-18 06:58:39 +00:00
2026-03-13 18:21:50 +00:00
2026-03-16 12:11:08 +00:00
2026-03-06 23:14:30 +00:00
2026-03-04 22:40:34 +00:00
2026-03-05 21:38:55 +00:00
2026-02-25 10:03:21 +00:00
2026-04-05 03:26:37 +00:00
2026-02-25 10:03:57 +00:00
2026-04-01 03:30:00 +00:00
2026-04-04 20:38:16 +00:00
2026-04-02 17:07:26 +00:00
2026-04-02 17:07:26 +00:00
2026-04-02 16:51:46 +00:00
2026-03-26 22:33:19 +00:00
2026-03-30 14:33:28 +00:00
2026-03-13 14:03:37 +08:00
2026-04-05 07:39:57 +00:00
2026-03-04 15:36:34 +00:00
2026-04-14 14:50:55 +00:00
2026-03-31 11:03:20 +00:00
2026-04-02 16:51:39 +00:00
2026-04-08 11:02:14 +00:00
2026-04-05 05:46:05 +00:00
2026-03-27 23:53:22 +00:00
2026-03-03 21:44:20 +00:00
2026-04-14 14:50:55 +00:00
2026-03-03 17:04:17 -05:00
2026-04-14 14:50:55 +00:00
2026-03-30 11:51:27 +00:00
2026-03-24 13:01:12 +00:00
2026-03-06 18:16:47 +00:00
2026-02-25 04:49:27 +00:00
2026-03-16 01:45:50 +00:00
2026-03-16 01:45:50 +00:00
2026-02-25 04:51:15 +00:00
2026-03-16 01:45:50 +00:00
2026-04-08 11:02:14 +00:00
2026-03-16 01:45:50 +00:00
2026-04-08 11:02:14 +00:00
2026-02-27 20:20:13 +00:00
2026-03-30 09:21:51 +00:00
2026-04-08 11:02:14 +00:00
2026-04-02 19:09:04 +00:00
2026-02-25 13:17:26 +00:00
2026-03-10 17:23:05 +00:00
2026-03-03 14:55:58 -05:00
2026-04-14 14:50:55 +00:00
2026-03-19 08:46:46 +00:00
2026-03-21 03:14:40 +00:00
2026-02-28 20:21:18 +00:00
2026-03-16 01:45:50 +00:00
2026-04-14 14:50:55 +00:00
2026-04-22 03:26:49 +00:00
2026-03-31 01:49:16 +00:00
2026-03-08 23:28:05 +00:00
2026-04-17 08:34:33 +00:00
2026-04-05 20:46:24 +00:00
2026-03-03 12:10:25 +00:00
2026-05-12 16:57:50 +08:00
2026-03-23 23:33:33 +00:00
2026-04-14 14:50:55 +00:00
2026-03-16 01:45:50 +00:00
2026-03-18 06:58:39 +00:00
2026-04-14 14:50:55 +00:00
2026-02-25 14:00:04 -05:00
2026-02-27 08:02:48 +00:00
2026-04-09 06:11:39 +00:00
2026-03-18 08:13:56 +00:00
2026-03-30 23:40:36 +01:00
2026-04-15 06:37:18 +00:00
2026-03-08 21:53:21 -04:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-03-30 14:33:28 +00:00
2026-03-16 01:45:50 +00:00
2026-03-16 01:45:50 +00:00
2026-03-08 22:19:40 +00:00
2026-04-14 14:50:55 +00:00
2026-05-05 02:01:49 +00:00
2026-04-14 14:50:55 +00:00
2026-04-14 14:50:55 +00:00
2026-03-16 01:45:50 +00:00
2026-04-14 14:50:55 +00:00
2026-04-14 14:50:55 +00:00
2026-04-25 01:55:37 +00:00
2026-04-01 13:02:24 +00:00
2026-03-24 13:53:41 +00:00
2026-03-27 10:50:15 +00:00
2026-02-23 22:20:44 +00:00
2026-04-14 14:50:55 +00:00
2026-04-14 14:50:55 +00:00
2026-04-05 07:29:35 +00:00
2026-03-16 01:45:50 +00:00
2026-03-16 01:45:50 +00:00
2026-04-14 14:50:55 +00:00
2026-03-30 13:44:54 +00:00
2026-04-14 14:50:55 +00:00
2026-04-14 14:50:55 +00:00
2026-04-14 14:50:55 +00:00
2026-04-14 14:50:55 +00:00
2026-03-24 13:21:12 +00:00
2026-04-14 14:50:55 +00:00
2026-04-14 14:50:55 +00:00
2026-04-14 14:50:55 +00:00
2026-04-14 14:50:55 +00:00
2026-03-28 00:57:51 +00:00
2026-04-14 14:50:55 +00:00
2026-04-14 14:50:55 +00:00
2026-03-03 22:21:14 +00:00
2026-03-02 17:44:18 +00:00
2026-03-04 15:59:15 +00:00
2026-02-27 23:08:55 +00:00
2026-03-29 18:57:15 +01:00
2026-03-16 01:45:50 +00:00
2026-03-21 04:46:45 +00:00
2026-04-21 16:53:08 +00:00
2026-04-14 14:50:55 +00:00
2026-04-14 14:50:55 +00:00
2026-04-14 14:50:55 +00:00
2026-03-06 00:49:33 +00:00
2026-04-14 14:50:55 +00:00
2026-05-02 21:54:17 +00:00
2026-02-25 10:05:57 +00:00
2026-02-26 20:33:20 +00:00
2026-02-25 10:07:02 +00:00
2026-02-25 10:06:27 +00:00
2026-03-04 12:18:51 -05:00
2026-03-02 22:05:53 +00:00
2026-02-28 17:46:54 +00:00
2026-03-02 09:47:40 -05:00
2026-04-05 18:09:31 +00:00
2026-03-27 05:58:35 +00:00
2026-03-27 05:58:35 +00:00
2026-04-08 11:02:14 +00:00
2026-05-11 04:39:29 +00:00
2026-03-03 03:36:33 +00:00
2026-03-19 09:30:35 +00:00
2026-03-08 02:57:44 +00:00
2026-02-26 10:57:07 +00:00
2026-02-24 17:57:18 +00:00
2026-02-24 17:57:18 +00:00
2026-02-26 12:29:49 +00:00
2026-02-27 20:09:26 +00:00
2026-04-14 19:26:49 +00:00
2026-03-01 09:07:06 +00:00
2026-03-18 17:07:07 +00:00
2026-03-02 09:41:25 -05:00
2026-04-14 14:50:55 +00:00
2026-04-30 10:56:21 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-03-27 05:58:35 +00:00
2026-03-27 05:58:35 +00:00
2026-05-07 23:39:08 +01:00
2026-04-08 11:02:14 +00:00
2026-04-10 05:21:24 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-04-08 11:02:14 +00:00
2026-03-27 05:58:35 +00:00
2026-04-22 00:45:09 +00:00
2026-03-27 05:58:35 +00:00
2026-04-10 05:21:24 +00:00
2026-03-31 07:42:06 +00:00
2026-03-11 01:36:06 +00:00
2026-03-08 22:11:49 +00:00
2026-04-05 17:49:35 +00:00
2026-03-20 23:51:46 +00:00
2026-04-14 14:50:55 +00:00
2026-04-14 14:50:55 +00:00
2026-04-08 11:02:14 +00:00
2026-05-08 11:15:36 +00:00
2026-04-30 20:52:27 +00:00
2026-03-05 19:20:39 +00:00
2026-03-11 00:40:07 +00:00
2026-03-16 12:11:08 +00:00
2026-03-06 23:14:30 +00:00
2026-03-04 22:40:34 +00:00
2026-03-05 21:38:55 +00:00
2026-04-14 14:50:55 +00:00
2026-02-25 10:03:21 +00:00
2026-04-05 03:26:37 +00:00
2026-02-25 10:03:57 +00:00
2026-04-14 14:50:55 +00:00
2026-04-14 14:50:55 +00:00
2026-04-04 20:38:16 +00:00
2026-04-01 03:30:00 +00:00
2026-04-01 03:30:00 +00:00
2026-04-08 11:02:14 +00:00
2026-04-01 03:30:00 +00:00
2026-04-02 17:07:26 +00:00
2026-03-30 13:18:07 +01:00
2026-03-27 14:50:11 +00:00
2026-03-26 21:42:37 +00:00
2026-04-02 16:51:46 +00:00
2026-03-26 22:33:19 +00:00