UAT: agents plan list rich output has extra Name and Invariants columns not in spec #2957

Open
opened 2026-04-05 02:57:03 +00:00 by freemo · 3 comments
Owner

Metadata

  • Branch: fix/plan-list-rich-output-extra-columns
  • Commit Message: fix(cli): remove extra Name and Invariants columns from agents plan list rich output
  • Milestone: v3.5.0
  • Parent Epic: #397

Background and Context

The spec (docs/reference/plan_cli.md, Rich Output section for agents plan list) defines exactly 6 columns for the rich table output:

Column Description
ID Truncated plan ULID (8 chars)
Phase Current lifecycle phase
State Processing state
Action Action name
Project First linked project name (or (none))
Elapsed Wall-clock time since plan creation (HH:MM:SS)

However, the implementation in src/cleveragents/cli/commands/plan.py (lines 2456–2464) renders a table with two extra columns not present in the spec:

  • Name (column 2, inserted after ID) — shows the namespaced plan name
  • Invariants (column 6, inserted between Action and Project) — shows invariant count

The actual rendered column order is: ID, Name, Phase, State, Action, Invariants, Project, Elapsed (8 columns).

Per docs/specification.md, the specification is the authoritative source of truth. When the codebase deviates from the specification, the code must be updated to match the specification.

Code location: src/cleveragents/cli/commands/plan.py, lines 2456–2464
Spec location: docs/reference/plan_cli.md — Rich Output section for agents plan list

Steps to Reproduce

  1. Ensure at least one plan exists in the system.
  2. Run agents plan list.
  3. Observe the rendered table has 8 columns instead of the spec-required 6.

Expected Behaviour

The rich table for agents plan list renders exactly 6 columns in this order:
ID | Phase | State | Action | Project | Elapsed

Actual Behaviour

The rich table renders 8 columns:
ID | Name | Phase | State | Action | Invariants | Project | Elapsed

The Name and Invariants columns are not defined in the spec and must be removed.

Subtasks

  • Locate the rich table rendering code in src/cleveragents/cli/commands/plan.py (lines 2456–2464)
  • Remove the Name column (column 2) from the table definition and all associated data population logic
  • Remove the Invariants column (column 6) from the table definition and all associated data population logic
  • Verify the remaining column order matches the spec exactly: ID, Phase, State, Action, Project, Elapsed
  • Update existing Behave unit tests that assert on the rich table column headers or structure
  • Write new Behave unit test scenarios covering the exact 6-column spec-compliant output
  • Write a Robot Framework integration test asserting the table has exactly 6 columns with the correct headers
  • Run nox and confirm all stages pass with coverage >= 97%

Definition of Done

  • All subtasks above are checked
  • agents plan list rich output renders exactly 6 columns: ID, Phase, State, Action, Project, Elapsed
  • No Name or Invariants columns appear in the rich table output
  • Behave unit tests cover the corrected column structure
  • Robot Framework integration test passes
  • Commit pushed to fix/plan-list-rich-output-extra-columns with message fix(cli): remove extra Name and Invariants columns from agents plan list rich output
  • PR merged and issue closed
  • All nox stages pass
  • Coverage >= 97%

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

## Metadata - **Branch**: `fix/plan-list-rich-output-extra-columns` - **Commit Message**: `fix(cli): remove extra Name and Invariants columns from agents plan list rich output` - **Milestone**: v3.5.0 - **Parent Epic**: #397 ## Background and Context The spec (`docs/reference/plan_cli.md`, Rich Output section for `agents plan list`) defines exactly **6 columns** for the rich table output: | Column | Description | |--------|-------------| | ID | Truncated plan ULID (8 chars) | | Phase | Current lifecycle phase | | State | Processing state | | Action | Action name | | Project | First linked project name (or `(none)`) | | Elapsed | Wall-clock time since plan creation (HH:MM:SS) | However, the implementation in `src/cleveragents/cli/commands/plan.py` (lines 2456–2464) renders a table with **two extra columns** not present in the spec: - **Name** (column 2, inserted after ID) — shows the namespaced plan name - **Invariants** (column 6, inserted between Action and Project) — shows invariant count The actual rendered column order is: **ID, Name, Phase, State, Action, Invariants, Project, Elapsed** (8 columns). Per `docs/specification.md`, the specification is the authoritative source of truth. When the codebase deviates from the specification, the code must be updated to match the specification. **Code location**: `src/cleveragents/cli/commands/plan.py`, lines 2456–2464 **Spec location**: `docs/reference/plan_cli.md` — Rich Output section for `agents plan list` ## Steps to Reproduce 1. Ensure at least one plan exists in the system. 2. Run `agents plan list`. 3. Observe the rendered table has **8 columns** instead of the spec-required **6**. ## Expected Behaviour The rich table for `agents plan list` renders exactly 6 columns in this order: `ID | Phase | State | Action | Project | Elapsed` ## Actual Behaviour The rich table renders 8 columns: `ID | Name | Phase | State | Action | Invariants | Project | Elapsed` The `Name` and `Invariants` columns are not defined in the spec and must be removed. ## Subtasks - [ ] Locate the rich table rendering code in `src/cleveragents/cli/commands/plan.py` (lines 2456–2464) - [ ] Remove the `Name` column (column 2) from the table definition and all associated data population logic - [ ] Remove the `Invariants` column (column 6) from the table definition and all associated data population logic - [ ] Verify the remaining column order matches the spec exactly: ID, Phase, State, Action, Project, Elapsed - [ ] Update existing Behave unit tests that assert on the rich table column headers or structure - [ ] Write new Behave unit test scenarios covering the exact 6-column spec-compliant output - [ ] Write a Robot Framework integration test asserting the table has exactly 6 columns with the correct headers - [ ] Run `nox` and confirm all stages pass with coverage >= 97% ## Definition of Done - [ ] All subtasks above are checked - [ ] `agents plan list` rich output renders exactly 6 columns: ID, Phase, State, Action, Project, Elapsed - [ ] No `Name` or `Invariants` columns appear in the rich table output - [ ] Behave unit tests cover the corrected column structure - [ ] Robot Framework integration test passes - [ ] Commit pushed to `fix/plan-list-rich-output-extra-columns` with message `fix(cli): remove extra Name and Invariants columns from agents plan list rich output` - [ ] PR merged and issue closed - [ ] All nox stages pass - [ ] Coverage >= 97% --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: ca-uat-tester
freemo added this to the v3.5.0 milestone 2026-04-05 02:57:07 +00:00
Author
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: Confirmed
  • MoSCoW: Should Have

Valid finding verified during batch triage.


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

Issue triaged by project owner: - **State**: Verified - **Priority**: Confirmed - **MoSCoW**: Should Have Valid finding verified during batch triage. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
Author
Owner

Milestone Triage Decision: Moved to Backlog

This CLI output formatting issue has been moved out of v3.5.0 during aggressive milestone triage. While important for spec compliance, it does not block core autonomy hardening functionality.

Reasoning:

  • v3.5.0 focus: Essential autonomy hardening (guard enforcement, A2A facade, plan lifecycle)
  • This issue: CLI output formatting (plan list extra columns) - spec compliance
  • Impact: UX consistency, not functional capability

Will be addressed in a future milestone focused on CLI polish and spec compliance.

**Milestone Triage Decision: Moved to Backlog** This CLI output formatting issue has been moved out of v3.5.0 during aggressive milestone triage. While important for spec compliance, it does not block core autonomy hardening functionality. **Reasoning:** - v3.5.0 focus: Essential autonomy hardening (guard enforcement, A2A facade, plan lifecycle) - This issue: CLI output formatting (`plan list` extra columns) - spec compliance - Impact: UX consistency, not functional capability Will be addressed in a future milestone focused on CLI polish and spec compliance.
Author
Owner

This issue has been moved to the backlog as part of an aggressive grooming of the v3.5.0 milestone. It has been deemed non-critical for the minimal viability of the milestone and will be addressed in a future release.

This issue has been moved to the backlog as part of an aggressive grooming of the v3.5.0 milestone. It has been deemed non-critical for the minimal viability of the milestone and will be addressed in a future release.
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#2957
No description provided.