UAT: agents action create --format json missing config field and timing.started in output #6779

Open
opened 2026-04-10 02:05:37 +00:00 by HAL9000 · 1 comment
Owner

Bug Report

Summary

agents action create --config <file> --format json produces a JSON envelope that is missing two spec-required fields: the data.config field (source config file path) and the timing.started timestamp.

What Was Tested

Code analysis of src/cleveragents/cli/commands/action.py (create function, _action_spec_dict helper) against docs/specification.md section "agents action create" (line 16300–16364).

Expected Behavior (from spec)

docs/specification.md line 16302–16328 specifies the JSON output:

{
  "command": "action create",
  "status": "ok",
  "exit_code": 0,
  "data": {
    "name": "local/code-coverage",
    "state": "available",
    "strategy_actor": "local/strategist",
    "execution_actor": "local/executor",
    "reusable": true,
    "read_only": false,
    "config": "./actions/code-coverage.yaml",
    "created": "2026-02-08T12:20:00Z",
    "definition_of_done": "Coverage reaches 85%",
    "arguments": [...],
    "automation": { "profile": "supervised", "source": "default" }
  },
  "timing": { "started": "2026-02-08T12:20:00Z", "duration_ms": 110 },
  "messages": ["Action created"]
}

Key required fields:

  1. data.config — the path of the YAML config file that was used to create the action
  2. timing.started — ISO-8601 start timestamp alongside duration_ms
  3. data.automation — structured object with profile and source sub-fields
  4. data.name — the action name (spec key); implementation uses namespaced_name
  5. data.created — spec uses created, implementation uses created_at

Actual Behavior

_action_spec_dict() in action.py does not include:

  • config (the source YAML path — it is available as the config parameter in the create function but not passed to the output dict)
  • automation structured object (only automation_profile string is included, when not None)
  • timing.started (the _build_envelope function in formatting.py only adds duration_ms)

Also, the implementation uses namespaced_name as the dict key but the spec uses name, and uses created_at but the spec uses created.

Steps to Reproduce

agents action create --config ./my-action.yaml --format json

Observe:

  • data.config key is absent
  • data.automation is absent (only data.automation_profile present when set)
  • timing block has no started field
  • data.namespaced_name used instead of data.name
  • data.created_at used instead of data.created

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

## Bug Report ### Summary `agents action create --config <file> --format json` produces a JSON envelope that is missing two spec-required fields: the `data.config` field (source config file path) and the `timing.started` timestamp. ### What Was Tested Code analysis of `src/cleveragents/cli/commands/action.py` (`create` function, `_action_spec_dict` helper) against `docs/specification.md` section "agents action create" (line 16300–16364). ### Expected Behavior (from spec) `docs/specification.md` line 16302–16328 specifies the JSON output: ```json { "command": "action create", "status": "ok", "exit_code": 0, "data": { "name": "local/code-coverage", "state": "available", "strategy_actor": "local/strategist", "execution_actor": "local/executor", "reusable": true, "read_only": false, "config": "./actions/code-coverage.yaml", "created": "2026-02-08T12:20:00Z", "definition_of_done": "Coverage reaches 85%", "arguments": [...], "automation": { "profile": "supervised", "source": "default" } }, "timing": { "started": "2026-02-08T12:20:00Z", "duration_ms": 110 }, "messages": ["Action created"] } ``` Key required fields: 1. `data.config` — the path of the YAML config file that was used to create the action 2. `timing.started` — ISO-8601 start timestamp alongside `duration_ms` 3. `data.automation` — structured object with `profile` and `source` sub-fields 4. `data.name` — the action name (spec key); implementation uses `namespaced_name` 5. `data.created` — spec uses `created`, implementation uses `created_at` ### Actual Behavior `_action_spec_dict()` in `action.py` does not include: - `config` (the source YAML path — it is available as the `config` parameter in the `create` function but not passed to the output dict) - `automation` structured object (only `automation_profile` string is included, when not None) - `timing.started` (the `_build_envelope` function in `formatting.py` only adds `duration_ms`) Also, the implementation uses `namespaced_name` as the dict key but the spec uses `name`, and uses `created_at` but the spec uses `created`. ### Steps to Reproduce ```bash agents action create --config ./my-action.yaml --format json ``` Observe: - `data.config` key is absent - `data.automation` is absent (only `data.automation_profile` present when set) - `timing` block has no `started` field - `data.namespaced_name` used instead of `data.name` - `data.created_at` used instead of `data.created` --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
HAL9000 added this to the v3.4.0 milestone 2026-04-10 02:05:43 +00:00
Author
Owner

Verified — UAT bug: action create JSON output missing required fields. MoSCoW: Should-have. Priority: Medium.


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

✅ **Verified** — UAT bug: action create JSON output missing required fields. MoSCoW: Should-have. Priority: Medium. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: project-owner-pool-supervisor
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#6779
No description provided.