UAT: agents project show Linked Resources panel displays raw resource ULID instead of resource name, type, and sandbox strategy #2451

Open
opened 2026-04-03 18:24:29 +00:00 by freemo · 1 comment
Owner

Metadata

  • Commit Message: fix(project): show resource name, type, and sandbox in project show linked resources panel
  • Branch: bugfix/project-show-linked-resource-details

Background and Context

The specification (lines 3196–3201) defines the expected output of agents project show for the Linked Resources panel:

╭─ Linked Resources ──────────────────────────────────────────────────────╮
│ Resource          Type            Sandbox              Read-Only        │
│ ────────────────  ──────────────  ────────────────────  ─────────       │
│ local/api-repo   git-checkout    git_worktree         no                │
│ local/staging-db local/database  transaction_rollback yes               │
╰─────────────────────────────────────────────────────────────────────────╯

The panel must show:

  • Resource: the resource's namespaced name (e.g., local/api-repo)
  • Type: the resource type name (e.g., git-checkout)
  • Sandbox: the sandbox strategy (e.g., git_worktree)
  • Read-Only: whether the resource is read-only in this project context

Current Behavior

The current implementation in src/cleveragents/cli/commands/project.py (line 910) shows only the raw ULID:

lines.append(f"  - {lr.resource_id}{ro_marker}{alias_marker}")

This displays something like:

Linked Resources:
  - 01HXYZ1234567890ABCDEFGHIJ (read-only)

Instead of the spec-required table format with resource name, type, and sandbox strategy.

Expected Behavior

The agents project show command should:

  1. For each linked resource, look up the full resource details from the Resource Registry using lr.resource_id
  2. Display a table with columns: Resource (name), Type, Sandbox, Read-Only
  3. Fall back gracefully to showing the ULID if the resource is not found (e.g., deleted resource)

The spec also requires additional panels that are currently missing:

  • Validations panel (listing validations attached to linked resources)
  • Context panel (showing include/exclude patterns, max file size)
  • Indexing Status panel (text index, vector index, graph store status)
  • Active Plans panel (plans currently running against this project)

Steps to Reproduce (Code Analysis)

  1. Create a project: agents project create local/api-service
  2. Add a resource: agents resource add git-checkout local/api-repo --path /tmp/repo
  3. Link resource: agents project link-resource local/api-service local/api-repo
  4. Run: agents project show local/api-service
  5. Actual: Shows raw ULID like 01HXYZ1234567890ABCDEFGHIJ in linked resources
  6. Expected: Shows local/api-repo git-checkout git_worktree no

Code Location

  • File: src/cleveragents/cli/commands/project.py
  • Function: show() (line ~880)
  • Bug: Line 910 uses lr.resource_id instead of looking up the resource name, type, and sandbox

Subtasks

  • In show(), for each lr in proj.linked_resources, call registry.show_resource(lr.resource_id) to get full resource details
  • Display a Rich Table with columns: Resource, Type, Sandbox, Read-Only
  • Handle NotFoundError gracefully (show ULID with [deleted] marker)
  • Add Validations panel (query validations attached to linked resources)
  • Add Context panel (show effective context config for the project)
  • Add Indexing Status panel (query indexing service for status)
  • Add Active Plans panel (query plan service for active plans on this project)
  • Update JSON/YAML/plain output formats to include resource name, type, sandbox fields
  • Add unit tests for the updated show output

Definition of Done

  • All subtasks completed
  • agents project show local/api-service displays resource name, type, and sandbox strategy in the Linked Resources panel
  • JSON output includes name, type, sandbox_strategy fields for each linked resource
  • Tests pass
  • Commit pushed to bugfix/project-show-linked-resource-details with the specified commit message
  • PR merged

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

## Metadata - **Commit Message**: `fix(project): show resource name, type, and sandbox in project show linked resources panel` - **Branch**: `bugfix/project-show-linked-resource-details` ## Background and Context The specification (lines 3196–3201) defines the expected output of `agents project show` for the Linked Resources panel: ``` ╭─ Linked Resources ──────────────────────────────────────────────────────╮ │ Resource Type Sandbox Read-Only │ │ ──────────────── ────────────── ──────────────────── ───────── │ │ local/api-repo git-checkout git_worktree no │ │ local/staging-db local/database transaction_rollback yes │ ╰─────────────────────────────────────────────────────────────────────────╯ ``` The panel must show: - **Resource**: the resource's namespaced name (e.g., `local/api-repo`) - **Type**: the resource type name (e.g., `git-checkout`) - **Sandbox**: the sandbox strategy (e.g., `git_worktree`) - **Read-Only**: whether the resource is read-only in this project context ## Current Behavior The current implementation in `src/cleveragents/cli/commands/project.py` (line 910) shows only the raw ULID: ```python lines.append(f" - {lr.resource_id}{ro_marker}{alias_marker}") ``` This displays something like: ``` Linked Resources: - 01HXYZ1234567890ABCDEFGHIJ (read-only) ``` Instead of the spec-required table format with resource name, type, and sandbox strategy. ## Expected Behavior The `agents project show` command should: 1. For each linked resource, look up the full resource details from the Resource Registry using `lr.resource_id` 2. Display a table with columns: Resource (name), Type, Sandbox, Read-Only 3. Fall back gracefully to showing the ULID if the resource is not found (e.g., deleted resource) The spec also requires additional panels that are currently missing: - **Validations** panel (listing validations attached to linked resources) - **Context** panel (showing include/exclude patterns, max file size) - **Indexing Status** panel (text index, vector index, graph store status) - **Active Plans** panel (plans currently running against this project) ## Steps to Reproduce (Code Analysis) 1. Create a project: `agents project create local/api-service` 2. Add a resource: `agents resource add git-checkout local/api-repo --path /tmp/repo` 3. Link resource: `agents project link-resource local/api-service local/api-repo` 4. Run: `agents project show local/api-service` 5. **Actual**: Shows raw ULID like `01HXYZ1234567890ABCDEFGHIJ` in linked resources 6. **Expected**: Shows `local/api-repo git-checkout git_worktree no` ## Code Location - **File**: `src/cleveragents/cli/commands/project.py` - **Function**: `show()` (line ~880) - **Bug**: Line 910 uses `lr.resource_id` instead of looking up the resource name, type, and sandbox ## Subtasks - [ ] In `show()`, for each `lr` in `proj.linked_resources`, call `registry.show_resource(lr.resource_id)` to get full resource details - [ ] Display a Rich `Table` with columns: Resource, Type, Sandbox, Read-Only - [ ] Handle `NotFoundError` gracefully (show ULID with `[deleted]` marker) - [ ] Add Validations panel (query validations attached to linked resources) - [ ] Add Context panel (show effective context config for the project) - [ ] Add Indexing Status panel (query indexing service for status) - [ ] Add Active Plans panel (query plan service for active plans on this project) - [ ] Update JSON/YAML/plain output formats to include resource name, type, sandbox fields - [ ] Add unit tests for the updated show output ## Definition of Done - [ ] All subtasks completed - [ ] `agents project show local/api-service` displays resource name, type, and sandbox strategy in the Linked Resources panel - [ ] JSON output includes `name`, `type`, `sandbox_strategy` fields for each linked resource - [ ] Tests pass - [ ] Commit pushed to `bugfix/project-show-linked-resource-details` with the specified commit message - [ ] PR merged --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: ca-uat-tester
Author
Owner

Issue triaged by project owner:

  • State: Verified
  • MoSCoW: Should Have — Important spec requirement or quality improvement. Should be included in the milestone if possible.

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

Issue triaged by project owner: - **State**: Verified - **MoSCoW**: Should Have — Important spec requirement or quality improvement. Should be included in the milestone if possible. --- **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.

Dependencies

No dependencies set.

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