5 Commits

Author SHA1 Message Date
freemo 655947c8ba fix(cli): add <REGEX> positional argument to agents plan list command
CI / push-validation (pull_request) Successful in 21s
CI / helm (pull_request) Successful in 29s
CI / lint (pull_request) Successful in 3m45s
CI / build (pull_request) Successful in 3m42s
CI / typecheck (pull_request) Successful in 4m24s
CI / quality (pull_request) Successful in 4m26s
CI / security (pull_request) Successful in 4m46s
CI / integration_tests (pull_request) Successful in 7m31s
CI / unit_tests (pull_request) Successful in 7m47s
CI / e2e_tests (pull_request) Successful in 7m39s
CI / docker (pull_request) Successful in 1m35s
CI / coverage (pull_request) Successful in 14m19s
CI / benchmark-regression (push) Waiting to run
CI / benchmark-publish (push) Waiting to run
CI / status-check (pull_request) Successful in 3s
CI / push-validation (push) Successful in 23s
CI / helm (push) Successful in 31s
CI / build (push) Successful in 3m48s
CI / lint (push) Successful in 3m54s
CI / quality (push) Successful in 4m21s
CI / typecheck (push) Successful in 4m29s
CI / security (push) Successful in 4m46s
CI / e2e_tests (push) Successful in 6m55s
CI / integration_tests (push) Successful in 7m18s
CI / unit_tests (push) Successful in 8m45s
CI / docker (push) Successful in 1m33s
CI / coverage (push) Successful in 15m12s
CI / status-check (push) Successful in 3s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Failing after 24m35s
The <REGEX> positional argument was already implemented in the CLI code
(src/cleveragents/cli/commands/plan.py) in a prior commit. This commit
adds the missing Robot Framework integration test that verifies the
argument is accepted and correctly filters plan names by regex pattern.

Changes:
- robot/helper_plan_cli_spec.py: Add list_regex() helper function that
  creates two mock plans (local/smoke-plan and local/other-plan), invokes
  'agents plan list --format json smoke.*', and verifies that only the
  matching plan appears in the output.
- robot/plan_cli_spec.robot: Add 'Plan Lifecycle List Accepts Regex
  Positional Argument' test case that calls the list-regex helper and
  asserts the plan-cli-list-regex-ok sentinel is printed.

The Behave unit test scenario ('Plan list with regex filter') already
existed in features/plan_cli_spec_alignment.feature and the step
definition in features/steps/plan_cli_spec_alignment_steps.py.

Closes #3436
2026-04-22 03:26:49 +00:00
freemo 8891160bd8 fix(cli): add Name and Updated columns to agents plan list table output
CI / lint (pull_request) Successful in 28s
CI / typecheck (pull_request) Successful in 55s
CI / quality (pull_request) Successful in 35s
CI / security (pull_request) Successful in 53s
CI / build (pull_request) Successful in 23s
CI / helm (pull_request) Successful in 22s
CI / unit_tests (pull_request) Failing after 6m42s
CI / docker (pull_request) Has been skipped
CI / e2e_tests (pull_request) Successful in 18m37s
CI / integration_tests (pull_request) Failing after 23m29s
CI / coverage (pull_request) Successful in 10m58s
CI / status-check (pull_request) Failing after 1s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Successful in 57m9s
- Implemented Updated column in the plan list rich output by extending
  lifecycle_list_plans() in src/cleveragents/cli/commands/plan.py.
  The column is inserted after the existing Project column and before
  Elapsed to maintain logical grouping.
- Added updated_str using plan.timestamps.updated_at.strftime('%Y-%m-%d %H:%M')
  for a human-friendly timestamp in local time.
- Added three Behave scenarios in features/plan_cli_spec_alignment.feature
  to assert presence of Name, Updated, and Invariants columns.
- Added 'When I run plan list with no filters' step definition.
- Added list_columns() function to robot/helper_plan_cli_spec.py verifying
  all three columns with partial header checks due to terminal truncation.
- Added 'Plan List Rich Output Includes Required Columns' test case to
  robot/plan_cli_spec.robot.

ISSUES CLOSED: #2611
2026-04-05 18:15:02 +00:00
freemo 48cff5cfe0 refactor(cli): rename plan lifecycle-list and lifecycle-apply to match specification
CI / build (push) Successful in 18s
CI / lint (push) Failing after 31s
CI / helm (push) Successful in 33s
CI / typecheck (push) Successful in 50s
CI / security (push) Failing after 51s
CI / coverage (push) Has been skipped
CI / benchmark-regression (push) Has been skipped
CI / unit_tests (push) Failing after 1m50s
CI / docker (push) Has been skipped
CI / quality (push) Successful in 3m43s
CI / integration_tests (push) Has been cancelled
CI / e2e_tests (push) Has been cancelled
CI / benchmark-publish (push) Has been cancelled
CI / status-check (push) Has been cancelled
Renames `plan lifecycle-list` to `plan list` and `plan lifecycle-apply` to `plan apply` to align with the specification's canonical command names. Removes legacy V2 plan commands that occupied those names.

- Renamed CLI command registrations from lifecycle-list/lifecycle-apply to list/apply
- Removed legacy V2 apply and list commands (~200 lines)
- Updated apply shortcut in main.py to delegate to v3 lifecycle
- Added defensive null check for plan existence in apply command
- Updated 63+ test, doc, and benchmark files for consistency

Closes #881

Co-authored-by: Jeffrey Phillips Freeman <the@jeffreyfreeman.me>
Co-committed-by: Jeffrey Phillips Freeman <the@jeffreyfreeman.me>
2026-04-02 19:09:04 +00:00
freemo 174e117d8e refactor(automation): remove automation_level legacy fields 2026-02-20 15:57:21 +00:00
freemo 65988669a6 feat(cli): align plan use/list/status flags
CI / coverage (push) Blocked by required conditions
CI / build (push) Waiting to run
CI / lint (push) Waiting to run
CI / typecheck (push) Waiting to run
CI / docker (push) Blocked by required conditions
CI / security (push) Waiting to run
CI / quality (push) Waiting to run
CI / unit_tests (push) Waiting to run
CI / integration_tests (push) Waiting to run
CI / lint (pull_request) Successful in 16s
CI / typecheck (pull_request) Successful in 26s
CI / security (pull_request) Successful in 22s
CI / quality (pull_request) Successful in 15s
CI / integration_tests (pull_request) Successful in 4m31s
CI / build (pull_request) Successful in 16s
CI / unit_tests (pull_request) Successful in 9m18s
CI / coverage (pull_request) Successful in 6m54s
CI / docker (pull_request) Successful in 39s
- plan use: accept positional PROJECT args, add --automation-profile,
  --invariant (repeatable), and actor override flags
- lifecycle-list: add --state/--processing-state, --action filters,
  optional positional REGEX for name filtering, Action column in output
- plan status: enhanced detail view with processing state, project
  links, arguments order, automation profile provenance, actor
  overrides, automation level, and full timestamps
- Add docs/reference/plan_cli.md reference documentation
- Add Behave feature (17 scenarios) with mock service steps
- Add Robot smoke test (7 cases) with import-safe helper
- Add ASV benchmarks for plan use/list/status commands
2026-02-14 13:42:02 -05:00