UAT: agents plan list missing <REGEX> positional argument for name filtering #3436

Closed
opened 2026-04-05 16:50:02 +00:00 by freemo · 3 comments
Owner

Metadata

  • Branch: fix/plan-list-missing-regex-argument
  • Commit Message: fix(cli): add <REGEX> positional argument to agents plan list command
  • Milestone: (none — backlog)
  • Parent Epic: #397

Backlog note: This issue was discovered during autonomous operation
on milestone v3.7.0. It does not block milestone completion and has been
placed in the backlog for human review and future milestone assignment.

Background

During UAT code-level analysis of src/cleveragents/cli/commands/plan.py against docs/specification.md §"agents plan list" (line 323), a spec deviation was found in the list command's filter options.

Problem — Missing <REGEX> Positional Argument

The spec defines the agents plan list command synopsis as:

agents plan list [--phase <PHASE>] [--state <STATE>] [--project <PROJECT>]
                 [--action <ACTION>] [<REGEX>]

The <REGEX> positional argument is meant to filter plans by name using a regular expression pattern (consistent with how other list commands like agents project list [<REGEX>] and agents action list [<REGEX>] work).

However, the implementation in src/cleveragents/cli/commands/plan.py at @app.command("list") (line 2306) does NOT include a <REGEX> positional argument. The command accepts --phase, --state, --project, --action, and --namespace (once #3433 is fixed), but there is no regex name filter.

Expected Behavior (from spec)

agents plan list my-plan.* should filter plans whose name matches the regex my-plan.*.

Actual Behavior

The <REGEX> positional argument is not supported. Users cannot filter plans by name pattern.

Code Location

  • src/cleveragents/cli/commands/plan.py, @app.command("list") function (line 2306)

Steps to Reproduce

  1. Run agents plan list my-plan
  2. Observe: command either errors or ignores the argument

Subtasks

  • Add optional <REGEX> positional argument to @app.command("list") in plan.py
  • Apply regex filter to plan names after fetching from service
  • Add unit test (Behave) for regex filtering
  • Add integration test (Robot Framework) for regex filtering
  • Verify coverage >=97% via nox -s coverage_report
  • Run nox (all default sessions), fix any errors

Definition of Done

  • All subtasks above are completed and checked off
  • agents plan list my-plan.* filters plans by name regex correctly
  • 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
  • All nox stages pass
  • Coverage >= 97%

Automated by CleverAgents Bot
Supervisor: UAT Testing | Agent: ca-uat-tester

## Metadata - **Branch**: `fix/plan-list-missing-regex-argument` - **Commit Message**: `fix(cli): add <REGEX> positional argument to agents plan list command` - **Milestone**: *(none — backlog)* - **Parent Epic**: #397 > **Backlog note:** This issue was discovered during autonomous operation > on milestone v3.7.0. It does not block milestone completion and has been > placed in the backlog for human review and future milestone assignment. ## Background During UAT code-level analysis of `src/cleveragents/cli/commands/plan.py` against `docs/specification.md` §"agents plan list" (line 323), a spec deviation was found in the `list` command's filter options. ## Problem — Missing `<REGEX>` Positional Argument The spec defines the `agents plan list` command synopsis as: ``` agents plan list [--phase <PHASE>] [--state <STATE>] [--project <PROJECT>] [--action <ACTION>] [<REGEX>] ``` The `<REGEX>` positional argument is meant to filter plans by name using a regular expression pattern (consistent with how other list commands like `agents project list [<REGEX>]` and `agents action list [<REGEX>]` work). However, the implementation in `src/cleveragents/cli/commands/plan.py` at `@app.command("list")` (line 2306) does NOT include a `<REGEX>` positional argument. The command accepts `--phase`, `--state`, `--project`, `--action`, and `--namespace` (once #3433 is fixed), but there is no regex name filter. ## Expected Behavior (from spec) `agents plan list my-plan.*` should filter plans whose name matches the regex `my-plan.*`. ## Actual Behavior The `<REGEX>` positional argument is not supported. Users cannot filter plans by name pattern. ## Code Location - `src/cleveragents/cli/commands/plan.py`, `@app.command("list")` function (line 2306) ## Steps to Reproduce 1. Run `agents plan list my-plan` 2. Observe: command either errors or ignores the argument ## Subtasks - [ ] Add optional `<REGEX>` positional argument to `@app.command("list")` in `plan.py` - [ ] Apply regex filter to plan names after fetching from service - [ ] Add unit test (Behave) for regex filtering - [ ] Add integration test (Robot Framework) for regex filtering - [ ] Verify coverage >=97% via `nox -s coverage_report` - [ ] Run `nox` (all default sessions), fix any errors ## Definition of Done - [ ] All subtasks above are completed and checked off - [ ] `agents plan list my-plan.*` filters plans by name regex correctly - [ ] 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 - [ ] All nox stages pass - [ ] Coverage >= 97% --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: ca-uat-tester
freemo added this to the v3.7.0 milestone 2026-04-05 17:06:17 +00:00
Author
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: Backlog (confirmed) — Missing <REGEX> positional argument for plan list name filtering. Convenience feature.
  • Milestone: v3.7.0 (assigned — CLI completeness)
  • Story Points: 2 (S) — Add optional positional arg + regex filter logic
  • MoSCoW: Could Have — Plans can still be listed and filtered by other flags. Regex name filtering is a convenience.
  • Parent Epic: #397 (Server & Autonomy Infrastructure)

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

Issue triaged by project owner: - **State**: Verified - **Priority**: Backlog (confirmed) — Missing `<REGEX>` positional argument for plan list name filtering. Convenience feature. - **Milestone**: v3.7.0 (assigned — CLI completeness) - **Story Points**: 2 (S) — Add optional positional arg + regex filter logic - **MoSCoW**: Could Have — Plans can still be listed and filtered by other flags. Regex name filtering is a convenience. - **Parent Epic**: #397 (Server & Autonomy Infrastructure) --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
Author
Owner

PR #3455 created on branch fix/plan-list-missing-regex-argument. I will monitor and handle all review feedback until merged.

Implementation notes:

  • The <REGEX> positional argument was already implemented in src/cleveragents/cli/commands/plan.py in a prior commit (the issue was filed against an older version of the code)
  • The Behave unit test scenario (Plan list with regex filter) already existed in features/plan_cli_spec_alignment.feature
  • This PR adds the missing Robot Framework integration test (Plan Lifecycle List Accepts Regex Positional Argument) in robot/plan_cli_spec.robot with a corresponding helper function in robot/helper_plan_cli_spec.py
  • The integration test verifies both that the regex argument is accepted AND that it correctly filters plans (matching plan appears, non-matching plan is excluded)

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

PR #3455 created on branch `fix/plan-list-missing-regex-argument`. I will monitor and handle all review feedback until merged. **Implementation notes:** - The `<REGEX>` positional argument was already implemented in `src/cleveragents/cli/commands/plan.py` in a prior commit (the issue was filed against an older version of the code) - The Behave unit test scenario (`Plan list with regex filter`) already existed in `features/plan_cli_spec_alignment.feature` - This PR adds the missing Robot Framework integration test (`Plan Lifecycle List Accepts Regex Positional Argument`) in `robot/plan_cli_spec.robot` with a corresponding helper function in `robot/helper_plan_cli_spec.py` - The integration test verifies both that the regex argument is accepted AND that it correctly filters plans (matching plan appears, non-matching plan is excluded) --- **Automated by CleverAgents Bot** Supervisor: Implementation | Agent: ca-issue-worker
Author
Owner

PR #3455 has been merged successfully! 🎉

Summary:

  • The <REGEX> positional argument for agents plan list was already implemented in src/cleveragents/cli/commands/plan.py in a prior commit
  • Added the missing Robot Framework integration test (Plan Lifecycle List Accepts Regex Positional Argument) in robot/plan_cli_spec.robot
  • Added the corresponding list_regex() helper function in robot/helper_plan_cli_spec.py
  • All CI checks passed: lint ✓, typecheck ✓, unit_tests ✓, integration_tests ✓, coverage ✓, e2e_tests ✓, security ✓, quality ✓, build ✓

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

PR #3455 has been merged successfully! 🎉 **Summary:** - The `<REGEX>` positional argument for `agents plan list` was already implemented in `src/cleveragents/cli/commands/plan.py` in a prior commit - Added the missing Robot Framework integration test (`Plan Lifecycle List Accepts Regex Positional Argument`) in `robot/plan_cli_spec.robot` - Added the corresponding `list_regex()` helper function in `robot/helper_plan_cli_spec.py` - All CI checks passed: lint ✓, typecheck ✓, unit_tests ✓, integration_tests ✓, coverage ✓, e2e_tests ✓, security ✓, quality ✓, build ✓ --- **Automated by CleverAgents Bot** Supervisor: Implementation | Agent: ca-issue-worker
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.

Blocks
#397 Epic: Server & Autonomy Infrastructure
cleveragents/cleveragents-core
Reference
cleveragents/cleveragents-core#3436
No description provided.