UAT: agents config list output missing spec-required 'Overrides' and 'Config File' panels; JSON output missing standard envelope and nested structure #3429

Open
opened 2026-04-05 16:41:58 +00:00 by freemo · 1 comment
Owner

Metadata

  • Branch: fix/config-list-output-missing-panels-and-json-envelope
  • Commit Message: fix(cli): add Overrides and Config File panels to config list output and fix JSON envelope
  • Milestone: (none — backlog)
  • Parent Epic: #3370

Description

The specification (docs/specification.md, section "agents config list") defines a specific output format for the agents config list command that the implementation does not match.

What was tested:
Code-level analysis of src/cleveragents/cli/commands/config.py — specifically the config_list() function's output rendering.

Expected behavior (from spec — Rich format):

╭─ Config ───────────────────────────────────────────────────╮
│ Key               Value               Source   Modified    │
│ ────────────────  ──────────────────  ───────  ────────    │
│ core.automation-profile  trusted             config   yes  │
│ actor.default.invariant local/reconciler    config   yes   │
│ core.log.level          FATAL               default  no    │
╰────────────────────────────────────────────────────────────╯

╭─ Overrides ─────╮
│ Env: none       │
│ CLI Flags: none │
╰─────────────────╯

╭─ Config File ───────────────────────╮
│ Path: ~/.cleveragents/config.toml   │
│ Size: 284 bytes                     │
│ Valid: yes                          │
╰─────────────────────────────────────╯

✓ OK 6 settings listed

Expected behavior (from spec — JSON format):

{
  "command": "config list",
  "status": "ok",
  "exit_code": 0,
  "data": {
    "settings": [
      { "key": "core.automation-profile", "value": "trusted", "source": "config", "modified": true },
      { "key": "core.log.level", "value": "FATAL", "source": "default", "modified": false }
    ],
    "overrides": { "env": null, "cli_flags": null },
    "config_file": {
      "path": "~/.cleveragents/config.toml",
      "size_bytes": 284,
      "valid": true
    }
  },
  "timing": { "started": "...", "duration_ms": 25 },
  "messages": ["6 settings listed"]
}

Actual behavior:
The implementation shows only the settings table:

                    Configuration (103 settings)                    
 Key                                    Value  Source   Modified 
 ─────────────────────────────────────  ─────  ───────  ──────── 
 actor.default.estimation               None   default           
 actor.default.execution                None   default           
 ...

Missing from rich output:

  1. "Overrides" panel — showing active env var and CLI flag overrides
  2. "Config File" panel — showing config file path, size, and validity

For JSON output, the implementation returns a flat array of settings objects, missing:

  • data.settings nesting (returns flat array instead)
  • data.overrides object
  • data.config_file object
  • Standard envelope (command, status, exit_code, timing, messages)

Code location:

  • src/cleveragents/cli/commands/config.pyconfig_list() function (around line 310–430)

Steps to reproduce:

  1. Run agents config list
  2. Observe: Only settings table shown, no "Overrides" or "Config File" panels
  3. Run agents config list --format json
  4. Observe: Flat array output, missing nested structure and standard envelope

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

Subtasks

  • Read spec section "agents config list" to confirm all required Rich panels and JSON envelope fields
  • Implement "Overrides" panel in config_list() Rich output (env var overrides + CLI flag overrides)
  • Implement "Config File" panel in config_list() Rich output (path, size, validity)
  • Refactor JSON output to use standard envelope (command, status, exit_code, data, timing, messages)
  • Nest settings under data.settings, add data.overrides and data.config_file to JSON output
  • Write Behave unit test scenarios covering all new Rich panels and JSON envelope fields
  • Write Robot Framework integration test for agents config list end-to-end output validation
  • Run nox to confirm all quality gates pass
  • Open PR, obtain two approving reviews, merge

Definition of Done

  • agents config list Rich output includes "Overrides" panel with env var and CLI flag override status
  • agents config list Rich output includes "Config File" panel with path, size, and validity
  • agents config list --format json returns standard envelope with command, status, exit_code, data, timing, messages
  • JSON data contains settings (array), overrides (object), and config_file (object) as per spec
  • Behave BDD scenarios written and passing for all new output elements
  • Robot Framework integration test written and passing
  • All nox stages pass
  • Coverage >= 97%
  • PR merged and issue closed

Automated by CleverAgents Bot
Supervisor: UAT Testing | Agent: ca-new-issue-creator

## Metadata - **Branch**: `fix/config-list-output-missing-panels-and-json-envelope` - **Commit Message**: `fix(cli): add Overrides and Config File panels to config list output and fix JSON envelope` - **Milestone**: *(none — backlog)* - **Parent Epic**: #3370 ## Description The specification (`docs/specification.md`, section "agents config list") defines a specific output format for the `agents config list` command that the implementation does not match. **What was tested:** Code-level analysis of `src/cleveragents/cli/commands/config.py` — specifically the `config_list()` function's output rendering. **Expected behavior (from spec — Rich format):** ``` ╭─ Config ───────────────────────────────────────────────────╮ │ Key Value Source Modified │ │ ──────────────── ────────────────── ─────── ──────── │ │ core.automation-profile trusted config yes │ │ actor.default.invariant local/reconciler config yes │ │ core.log.level FATAL default no │ ╰────────────────────────────────────────────────────────────╯ ╭─ Overrides ─────╮ │ Env: none │ │ CLI Flags: none │ ╰─────────────────╯ ╭─ Config File ───────────────────────╮ │ Path: ~/.cleveragents/config.toml │ │ Size: 284 bytes │ │ Valid: yes │ ╰─────────────────────────────────────╯ ✓ OK 6 settings listed ``` **Expected behavior (from spec — JSON format):** ```json { "command": "config list", "status": "ok", "exit_code": 0, "data": { "settings": [ { "key": "core.automation-profile", "value": "trusted", "source": "config", "modified": true }, { "key": "core.log.level", "value": "FATAL", "source": "default", "modified": false } ], "overrides": { "env": null, "cli_flags": null }, "config_file": { "path": "~/.cleveragents/config.toml", "size_bytes": 284, "valid": true } }, "timing": { "started": "...", "duration_ms": 25 }, "messages": ["6 settings listed"] } ``` **Actual behavior:** The implementation shows only the settings table: ``` Configuration (103 settings) Key Value Source Modified ───────────────────────────────────── ───── ─────── ──────── actor.default.estimation None default actor.default.execution None default ... ``` Missing from rich output: 1. **"Overrides" panel** — showing active env var and CLI flag overrides 2. **"Config File" panel** — showing config file path, size, and validity For JSON output, the implementation returns a flat array of settings objects, missing: - `data.settings` nesting (returns flat array instead) - `data.overrides` object - `data.config_file` object - Standard envelope (`command`, `status`, `exit_code`, `timing`, `messages`) **Code location:** - `src/cleveragents/cli/commands/config.py` — `config_list()` function (around line 310–430) **Steps to reproduce:** 1. Run `agents config list` 2. Observe: Only settings table shown, no "Overrides" or "Config File" panels 3. Run `agents config list --format json` 4. Observe: Flat array output, missing nested structure and standard envelope > **Backlog note:** This issue was discovered during autonomous operation > on milestone v3.6.0. It does not block milestone completion and has been > placed in the backlog for human review and future milestone assignment. ## Subtasks - [ ] Read spec section "agents config list" to confirm all required Rich panels and JSON envelope fields - [ ] Implement "Overrides" panel in `config_list()` Rich output (env var overrides + CLI flag overrides) - [ ] Implement "Config File" panel in `config_list()` Rich output (path, size, validity) - [ ] Refactor JSON output to use standard envelope (`command`, `status`, `exit_code`, `data`, `timing`, `messages`) - [ ] Nest settings under `data.settings`, add `data.overrides` and `data.config_file` to JSON output - [ ] Write Behave unit test scenarios covering all new Rich panels and JSON envelope fields - [ ] Write Robot Framework integration test for `agents config list` end-to-end output validation - [ ] Run `nox` to confirm all quality gates pass - [ ] Open PR, obtain two approving reviews, merge ## Definition of Done - [ ] `agents config list` Rich output includes "Overrides" panel with env var and CLI flag override status - [ ] `agents config list` Rich output includes "Config File" panel with path, size, and validity - [ ] `agents config list --format json` returns standard envelope with `command`, `status`, `exit_code`, `data`, `timing`, `messages` - [ ] JSON `data` contains `settings` (array), `overrides` (object), and `config_file` (object) as per spec - [ ] Behave BDD scenarios written and passing for all new output elements - [ ] Robot Framework integration test written and passing - [ ] All nox stages pass - [ ] Coverage >= 97% - [ ] PR merged and issue closed --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: ca-new-issue-creator
freemo added this to the v3.7.0 milestone 2026-04-05 17:06:19 +00:00
Author
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: Backlog (confirmed) — config list output missing Overrides and Config File panels. Output format polish.
  • Milestone: v3.7.0 (assigned — CLI output completeness)
  • Story Points: 3 (M) — Add two Rich panels + restructure JSON output with envelope and nested structure
  • MoSCoW: Could Have — The settings table is functional. Missing panels are informational extras. JSON envelope issue is covered by #3431 (the root cause).
  • Parent Epic: #3370 (Automation Profile & Safety Profile CLI)

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

Issue triaged by project owner: - **State**: Verified - **Priority**: Backlog (confirmed) — `config list` output missing Overrides and Config File panels. Output format polish. - **Milestone**: v3.7.0 (assigned — CLI output completeness) - **Story Points**: 3 (M) — Add two Rich panels + restructure JSON output with envelope and nested structure - **MoSCoW**: Could Have — The settings table is functional. Missing panels are informational extras. JSON envelope issue is covered by #3431 (the root cause). - **Parent Epic**: #3370 (Automation Profile & Safety Profile CLI) --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
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.

Reference
cleveragents/cleveragents-core#3429
No description provided.