Bug: agents project create Rich output format doesn't match spec — missing Paths, Defaults, and Resources panels #3515

Open
opened 2026-04-05 18:45:52 +00:00 by freemo · 1 comment
Owner

Metadata

  • Branch: fix/project-create-rich-output-panels
  • Commit Message: fix(cli): align project create Rich output with spec — add Paths, Defaults, and Resources panels
  • Milestone: (none — backlog)
  • Parent Epic: #397

Background and Context

The agents project create command's Rich terminal output and JSON output formats do not match the specification. This was discovered during UAT testing of the CLI output rendering layer.

The implementation outputs a single "Project Created" panel, but the spec (§CLI Output Rendering, lines 2548–2578 of docs/specification.md) requires four separate panels: Project, Paths, Defaults, and Resources, followed by a status line.

Similarly, the JSON output format is missing the spec-required nested structure with paths, defaults, and resources sections.

Current Behavior

Rich output (from src/cleveragents/cli/commands/project.py, lines 633–645):

╭─ Project Created ──────────────────────╮
│ ✓ Project 'local/api-service' created. │
│ Namespace: local                        │
│ Description: Backend API               │
│ Resources: 0                            │
╰────────────────────────────────────────╯

JSON output (current flat structure):

{
  "namespaced_name": "local/api-service",
  "namespace": "local",
  "name": "api-service",
  "description": "Backend API",
  "linked_resources": [],
  "created_at": "...",
  "updated_at": "..."
}

Expected Behavior

Rich output (from docs/specification.md, lines 2548–2578):

╭─ Project ──────────────────────╮
│ Name: local/api-service        │
│ Description: Backend API       │
│ Type: local                    │
│ Created: 2026-02-08 12:46      │
╰────────────────────────────────╯

╭─ Paths ────────────────────────────────────╮
│ Root: /repos/api-service                   │
│ Data Dir: /repos/api-service/.cleveragents │
╰────────────────────────────────────────────╯

╭─ Defaults ──────────────────────────────╮
│ Sandbox: git_worktree                   │
│ Validations: 0                          │
│ Context Filters: none                   │
│ Automation Profile: (inherits global)   │
╰─────────────────────────────────────────╯

╭─ Resources ──────╮
│ Total: 0         │
│ Indexed: 0       │
│ Sandboxable: 0   │
╰──────────────────╯

✓ OK Project created

JSON output (spec-required nested structure):

{
  "data": {
    "project": {
      "name": "local/api-service",
      "description": "Backend API",
      "type": "local",
      "created": "2026-02-08T12:46:00Z"
    },
    "paths": {
      "root": "/repos/api-service",
      "data_dir": "/repos/api-service/.cleveragents"
    },
    "defaults": {
      "sandbox": "git_worktree",
      "validations": 0,
      "context_filters": null,
      "automation_profile": null
    },
    "resources": {
      "total": 0,
      "indexed": 0,
      "sandboxable": 0
    }
  },
  "messages": [{ "level": "ok", "text": "Project created" }]
}

Acceptance Criteria

  • agents project create Rich output renders four separate panels: Project, Paths, Defaults, and Resources, each matching the spec layout exactly.
  • The status line ✓ OK Project created appears after the four panels.
  • agents project create --output json returns the nested data structure with project, paths, defaults, and resources keys, plus a messages array.
  • The single "Project Created" panel is removed and replaced with the four-panel layout.
  • All existing agents project create tests pass; new tests cover the four-panel Rich output and the nested JSON structure.

Supporting Information

  • Code location: src/cleveragents/cli/commands/project.py, create() function, lines 534–645 (Rich output section at lines 633–645 needs replacement with four panels).
  • Spec reference: docs/specification.md, lines 2548–2578 (CLI output rendering for project create).
  • Related: Epic #397 "Server & Autonomy Infrastructure" covers output rendering and CLI polish.

Subtasks

  • Replace the single "Project Created" panel in create() (lines 633–645 of project.py) with four separate Rich panels: Project, Paths, Defaults, Resources.
  • Add the ✓ OK Project created status line after the four panels.
  • Refactor the JSON output serializer for project create to produce the nested data structure (project, paths, defaults, resources) plus messages array.
  • Add/update Behave scenarios covering the four-panel Rich output format.
  • Add/update Behave scenarios covering the nested JSON output format.
  • Run nox (all default sessions) and fix any errors.
  • Verify coverage >= 97% via nox -s coverage_report.

Definition of Done

This issue is complete when:

  • All subtasks above are completed and checked off.
  • A Git commit is created where the first line of the commit message matches the Commit Message in Metadata exactly, followed by a blank line, then additional lines providing relevant details about the implementation.
  • The commit is pushed to the remote on the branch matching the Branch in Metadata exactly.
  • The commit is submitted as a pull request to master, reviewed, and merged before this issue is marked done.
  • All nox stages pass.
  • Coverage >= 97%.

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


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

## Metadata - **Branch**: `fix/project-create-rich-output-panels` - **Commit Message**: `fix(cli): align project create Rich output with spec — add Paths, Defaults, and Resources panels` - **Milestone**: *(none — backlog)* - **Parent Epic**: #397 ## Background and Context The `agents project create` command's Rich terminal output and JSON output formats do not match the specification. This was discovered during UAT testing of the CLI output rendering layer. The implementation outputs a single "Project Created" panel, but the spec (§CLI Output Rendering, lines 2548–2578 of `docs/specification.md`) requires four separate panels: **Project**, **Paths**, **Defaults**, and **Resources**, followed by a status line. Similarly, the JSON output format is missing the spec-required nested structure with `paths`, `defaults`, and `resources` sections. ## Current Behavior **Rich output** (from `src/cleveragents/cli/commands/project.py`, lines 633–645): ``` ╭─ Project Created ──────────────────────╮ │ ✓ Project 'local/api-service' created. │ │ Namespace: local │ │ Description: Backend API │ │ Resources: 0 │ ╰────────────────────────────────────────╯ ``` **JSON output** (current flat structure): ```json { "namespaced_name": "local/api-service", "namespace": "local", "name": "api-service", "description": "Backend API", "linked_resources": [], "created_at": "...", "updated_at": "..." } ``` ## Expected Behavior **Rich output** (from `docs/specification.md`, lines 2548–2578): ``` ╭─ Project ──────────────────────╮ │ Name: local/api-service │ │ Description: Backend API │ │ Type: local │ │ Created: 2026-02-08 12:46 │ ╰────────────────────────────────╯ ╭─ Paths ────────────────────────────────────╮ │ Root: /repos/api-service │ │ Data Dir: /repos/api-service/.cleveragents │ ╰────────────────────────────────────────────╯ ╭─ Defaults ──────────────────────────────╮ │ Sandbox: git_worktree │ │ Validations: 0 │ │ Context Filters: none │ │ Automation Profile: (inherits global) │ ╰─────────────────────────────────────────╯ ╭─ Resources ──────╮ │ Total: 0 │ │ Indexed: 0 │ │ Sandboxable: 0 │ ╰──────────────────╯ ✓ OK Project created ``` **JSON output** (spec-required nested structure): ```json { "data": { "project": { "name": "local/api-service", "description": "Backend API", "type": "local", "created": "2026-02-08T12:46:00Z" }, "paths": { "root": "/repos/api-service", "data_dir": "/repos/api-service/.cleveragents" }, "defaults": { "sandbox": "git_worktree", "validations": 0, "context_filters": null, "automation_profile": null }, "resources": { "total": 0, "indexed": 0, "sandboxable": 0 } }, "messages": [{ "level": "ok", "text": "Project created" }] } ``` ## Acceptance Criteria - [ ] `agents project create` Rich output renders four separate panels: **Project**, **Paths**, **Defaults**, and **Resources**, each matching the spec layout exactly. - [ ] The status line `✓ OK Project created` appears after the four panels. - [ ] `agents project create --output json` returns the nested `data` structure with `project`, `paths`, `defaults`, and `resources` keys, plus a `messages` array. - [ ] The single "Project Created" panel is removed and replaced with the four-panel layout. - [ ] All existing `agents project create` tests pass; new tests cover the four-panel Rich output and the nested JSON structure. ## Supporting Information - **Code location**: `src/cleveragents/cli/commands/project.py`, `create()` function, lines 534–645 (Rich output section at lines 633–645 needs replacement with four panels). - **Spec reference**: `docs/specification.md`, lines 2548–2578 (CLI output rendering for `project create`). - **Related**: Epic #397 "Server & Autonomy Infrastructure" covers output rendering and CLI polish. ## Subtasks - [ ] Replace the single "Project Created" panel in `create()` (lines 633–645 of `project.py`) with four separate Rich panels: Project, Paths, Defaults, Resources. - [ ] Add the `✓ OK Project created` status line after the four panels. - [ ] Refactor the JSON output serializer for `project create` to produce the nested `data` structure (`project`, `paths`, `defaults`, `resources`) plus `messages` array. - [ ] Add/update Behave scenarios covering the four-panel Rich output format. - [ ] Add/update Behave scenarios covering the nested JSON output format. - [ ] Run `nox` (all default sessions) and fix any errors. - [ ] Verify coverage >= 97% via `nox -s coverage_report`. ## Definition of Done This issue is complete when: - All subtasks above are completed and checked off. - A Git commit is created where the **first line** of the commit message matches the Commit Message in Metadata exactly, followed by a blank line, then additional lines providing relevant details about the implementation. - The commit is pushed to the remote on the branch matching the **Branch** in Metadata exactly. - The commit is submitted as a **pull request** to `master`, reviewed, and **merged** before this issue is marked done. - All nox stages pass. - Coverage >= 97%. > **Backlog note:** This issue was discovered during autonomous operation > on milestone v3.5.0. It does not block milestone completion and has been > placed in the backlog for human review and future milestone assignment. --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: ca-new-issue-creator
freemo added this to the v3.7.0 milestone 2026-04-05 20:07:09 +00:00
Author
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: Low — agents project create Rich output shows a single panel instead of spec-required four panels (Project, Paths, Defaults, Resources).
  • Milestone: v3.7.0
  • Story Points: 2 — S — Replace single panel with four panels. Similar to #3519 and #3565 — straightforward template work.
  • MoSCoW: Could Have — Output formatting polish. The command works correctly; the output just doesn't match the spec layout. Part of a pattern of CLI output formatting issues.
  • Parent Epic: #397 (dependency link already exists)

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

Issue triaged by project owner: - **State**: Verified - **Priority**: Low — `agents project create` Rich output shows a single panel instead of spec-required four panels (Project, Paths, Defaults, Resources). - **Milestone**: v3.7.0 - **Story Points**: 2 — S — Replace single panel with four panels. Similar to #3519 and #3565 — straightforward template work. - **MoSCoW**: Could Have — Output formatting polish. The command works correctly; the output just doesn't match the spec layout. Part of a pattern of CLI output formatting issues. - **Parent Epic**: #397 (dependency link already exists) --- **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.

Blocks
#397 Epic: Server & Autonomy Infrastructure
cleveragents/cleveragents-core
Reference
cleveragents/cleveragents-core#3515
No description provided.