UAT: agents actor list JSON/YAML output uses flat actor array instead of spec-required data.actors/data.summary structure; command field is empty #6485

Open
opened 2026-04-09 21:09:02 +00:00 by HAL9000 · 0 comments
Owner

Summary

agents actor list --format json produces a flat array under data and an empty command field. The spec requires data.actors (array) and data.summary (object with total/builtin/custom/unsafe/providers_used), plus a non-empty command string in the envelope.

Spec Reference

docs/specification.md lines 5446–5534 — JSON output for agents actor list:

{
  "command": "agents actor list",
  "status": "ok",
  "exit_code": 0,
  "data": {
    "actors": [
      { "name": "local/reviewer", "provider": "openai", "model": "gpt-4", "default": true, "builtin": false, "unsafe": false },
      ...
    ],
    "summary": {
      "total": 3,
      "builtin": 2,
      "custom": 1,
      "unsafe": 0,
      "providers_used": 2
    }
  },
  "timing": { "duration_ms": 55 },
  "messages": [{ "level": "ok", "text": "3 actors listed" }]
}

Code Location

src/cleveragents/cli/commands/actor.py, lines 867–871:

if fmt != OutputFormat.RICH.value:
    data = [_actor_spec_dict(a) for a in actors]
    console.print(format_output(data, fmt))  # ← flat list, no command, no summary
    return

Issues:

  1. data is a flat list [...] — spec requires {"actors": [...], "summary": {...}}
  2. format_output(data, fmt) is called without command= parameter — results in "command": ""
  3. messages text is always "ok" — spec requires "N actors listed"

Steps to Reproduce

agents actor list --format json

Actual output (abbreviated):

{
  "command": "",           empty, should be "agents actor list"
  "data": [               flat array, should be {"actors": [...], "summary": {...}}
    { "name": "openai/gpt-4o", ... }
  ],
  "messages": [{ "level": "ok", "text": "ok" }]   should be "5 actors listed"
}

Expected vs Actual

Field Expected Actual
command "agents actor list" "" (empty)
data {"actors": [...], "summary": {...}} [...] (flat array)
data.summary {total, builtin, custom, unsafe, providers_used} Missing
messages[0].text "N actors listed" "ok"

Impact

Any tooling or scripts parsing the JSON output of agents actor list will fail to find data.actors or data.summary. The command field is useless for audit/logging purposes.


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

## Summary `agents actor list --format json` produces a flat array under `data` and an empty `command` field. The spec requires `data.actors` (array) and `data.summary` (object with total/builtin/custom/unsafe/providers_used), plus a non-empty `command` string in the envelope. ## Spec Reference `docs/specification.md` lines 5446–5534 — JSON output for `agents actor list`: ```json { "command": "agents actor list", "status": "ok", "exit_code": 0, "data": { "actors": [ { "name": "local/reviewer", "provider": "openai", "model": "gpt-4", "default": true, "builtin": false, "unsafe": false }, ... ], "summary": { "total": 3, "builtin": 2, "custom": 1, "unsafe": 0, "providers_used": 2 } }, "timing": { "duration_ms": 55 }, "messages": [{ "level": "ok", "text": "3 actors listed" }] } ``` ## Code Location `src/cleveragents/cli/commands/actor.py`, lines 867–871: ```python if fmt != OutputFormat.RICH.value: data = [_actor_spec_dict(a) for a in actors] console.print(format_output(data, fmt)) # ← flat list, no command, no summary return ``` Issues: 1. `data` is a flat list `[...]` — spec requires `{"actors": [...], "summary": {...}}` 2. `format_output(data, fmt)` is called without `command=` parameter — results in `"command": ""` 3. `messages` text is always `"ok"` — spec requires `"N actors listed"` ## Steps to Reproduce ```bash agents actor list --format json ``` Actual output (abbreviated): ```json { "command": "", ← empty, should be "agents actor list" "data": [ ← flat array, should be {"actors": [...], "summary": {...}} { "name": "openai/gpt-4o", ... } ], "messages": [{ "level": "ok", "text": "ok" }] ← should be "5 actors listed" } ``` ## Expected vs Actual | Field | Expected | Actual | |---|---|---| | `command` | `"agents actor list"` | `""` (empty) | | `data` | `{"actors": [...], "summary": {...}}` | `[...]` (flat array) | | `data.summary` | `{total, builtin, custom, unsafe, providers_used}` | Missing | | `messages[0].text` | `"N actors listed"` | `"ok"` | ## Impact Any tooling or scripts parsing the JSON output of `agents actor list` will fail to find `data.actors` or `data.summary`. The `command` field is useless for audit/logging purposes. --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
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.

Dependencies

No dependencies set.

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