UAT: agents project show displays resource IDs instead of resource names in Linked Resources section #1303

Open
opened 2026-04-02 09:34:05 +00:00 by freemo · 0 comments
Owner

Bug Report: [cli] — agents project show displays resource ULIDs instead of resource names

Severity Assessment

  • Impact: Users running agents project show <project> cannot identify which resources are linked to a project because the Linked Resources section displays raw ULIDs (e.g., 01KN6QXMWFYQXXKHWVJJK9HTSQ) instead of human-readable resource names (e.g., local/test-repo). This makes the output non-actionable and inconsistent with the spec.
  • Likelihood: High. Any user who links a resource to a project and then runs agents project show will encounter this.
  • Priority: Medium

Location

  • File: src/cleveragents/cli/commands/project.py — line ~912, the show command renders lr.resource_id (ULID) instead of looking up the resource name from the registry

Description

During UAT testing of the CLI project commands, a defect was found in the agents project show command. The Linked Resources section of the output displays raw resource ULIDs instead of the human-readable resource names that the spec requires.

Per docs/specification.md, the agents project show output should display a Linked Resources table with columns for resource name (e.g., local/api-repo), resource type, sandbox strategy, and read-only status. Instead, the command renders the internal resource_id ULID stored on the LinkedResource model, which is meaningless to the user.

Additionally, the spec shows several sections that are entirely absent from the current output: Validations, Context, Indexing Status, and Active Plans.

Evidence

Current output (actual):

Linked Resources
┌──────────────────────────────┬──────┬──────────┬───────────┐
│ Resource                     │ Type │ Sandbox  │ Read-Only │
├──────────────────────────────┼──────┼──────────┼───────────┤
│ 01KN6QXMWFYQXXKHWVJJK9HTSQ  │ ...  │ ...      │ ...       │
└──────────────────────────────┴──────┴──────────┴───────────┘

Expected output (per spec):

Linked Resources
┌─────────────────┬──────────────┬──────────────────┬───────────┐
│ Resource        │ Type         │ Sandbox Strategy │ Read-Only │
├─────────────────┼──────────────┼──────────────────┼───────────┤
│ local/test-repo │ git-checkout │ worktree         │ No        │
└─────────────────┴──────────────┴──────────────────┴───────────┘

Root cause (src/cleveragents/cli/commands/project.py, line ~912):
The show command renders lr.resource_id (a ULID) directly. The LinkedResource model only stores the resource_id foreign key; the command must look up the resource name from the Resource Registry to display it correctly.

Steps to Reproduce

  1. Run agents init --yes
  2. Run agents resource add git-checkout local/test-repo --path /tmp/test
  3. Run agents project create my-project
  4. Run agents project link-resource local/my-project local/test-repo
  5. Run agents project show local/my-project
  6. Observe: Linked Resources shows 01KN6QXMWFYQXXKHWVJJK9HTSQ instead of local/test-repo

Expected Behavior

The agents project show command should display the resource name (e.g., local/test-repo) in the Linked Resources table, not the internal ULID. Per docs/specification.md, the full output should also include Validations, Context, Indexing Status, and Active Plans sections.

Actual Behavior

The Linked Resources section shows the raw resource_id ULID. The Validations, Context, Indexing Status, and Active Plans sections are absent.

Spec Reference

docs/specification.mdagents project show section specifies the Linked Resources table should display resource names like local/api-repo, resource type, sandbox strategy, and read-only status. Additional sections (Validations, Context, Indexing Status, Active Plans) are also specified.

Category

cli / uat / project


Metadata

  • Branch: bugfix/m7-project-show-resource-name-lookup
  • Commit Message: fix(cli): resolve resource names in project show linked resources table
  • Milestone: v3.6.0
  • Parent Epic: (needs manual linking — no open CLI/project Epic identified at creation time)

Subtasks

  • Write a TDD issue-capture Behave scenario tagged @tdd_issue, @tdd_expected_fail that asserts agents project show displays resource names (not ULIDs) in the Linked Resources table
  • In src/cleveragents/cli/commands/project.py show command (~line 912), look up each LinkedResource.resource_id against the Resource Registry to retrieve the resource name, and render the name instead of the ULID
  • Investigate and implement the missing output sections per spec: Validations, Context, Indexing Status, and Active Plans (or open follow-up issues if scope is too large)
  • Remove @tdd_expected_fail tag from the TDD scenario once the fix is in place and verify it passes
  • Run nox -e typecheck to confirm no type regressions
  • Run nox -e unit_tests to confirm all Behave tests pass
  • Run nox -e coverage_report to confirm coverage remains ≥ 97%
  • Run nox (all default sessions) and fix any errors

Definition of Done

  • The @tdd_expected_fail TDD capture scenario is committed first and demonstrates the ULID-vs-name defect
  • agents project show <project> displays resource names (e.g., local/test-repo) in the Linked Resources table — not raw ULIDs
  • The TDD scenario passes without @tdd_expected_fail after the fix
  • No regressions in existing project CLI tests
  • All nox stages pass (nox -e lint, nox -e typecheck, nox -e unit_tests, nox -e integration_tests, nox -e coverage_report)
  • Coverage >= 97%
  • 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.
## Bug Report: [cli] — `agents project show` displays resource ULIDs instead of resource names ### Severity Assessment - **Impact**: Users running `agents project show <project>` cannot identify which resources are linked to a project because the Linked Resources section displays raw ULIDs (e.g., `01KN6QXMWFYQXXKHWVJJK9HTSQ`) instead of human-readable resource names (e.g., `local/test-repo`). This makes the output non-actionable and inconsistent with the spec. - **Likelihood**: High. Any user who links a resource to a project and then runs `agents project show` will encounter this. - **Priority**: Medium ### Location - **File**: `src/cleveragents/cli/commands/project.py` — line ~912, the `show` command renders `lr.resource_id` (ULID) instead of looking up the resource name from the registry ### Description During UAT testing of the CLI project commands, a defect was found in the `agents project show` command. The Linked Resources section of the output displays raw resource ULIDs instead of the human-readable resource names that the spec requires. Per `docs/specification.md`, the `agents project show` output should display a Linked Resources table with columns for resource name (e.g., `local/api-repo`), resource type, sandbox strategy, and read-only status. Instead, the command renders the internal `resource_id` ULID stored on the `LinkedResource` model, which is meaningless to the user. Additionally, the spec shows several sections that are entirely absent from the current output: **Validations**, **Context**, **Indexing Status**, and **Active Plans**. ### Evidence **Current output (actual)**: ``` Linked Resources ┌──────────────────────────────┬──────┬──────────┬───────────┐ │ Resource │ Type │ Sandbox │ Read-Only │ ├──────────────────────────────┼──────┼──────────┼───────────┤ │ 01KN6QXMWFYQXXKHWVJJK9HTSQ │ ... │ ... │ ... │ └──────────────────────────────┴──────┴──────────┴───────────┘ ``` **Expected output (per spec)**: ``` Linked Resources ┌─────────────────┬──────────────┬──────────────────┬───────────┐ │ Resource │ Type │ Sandbox Strategy │ Read-Only │ ├─────────────────┼──────────────┼──────────────────┼───────────┤ │ local/test-repo │ git-checkout │ worktree │ No │ └─────────────────┴──────────────┴──────────────────┴───────────┘ ``` **Root cause** (`src/cleveragents/cli/commands/project.py`, line ~912): The `show` command renders `lr.resource_id` (a ULID) directly. The `LinkedResource` model only stores the `resource_id` foreign key; the command must look up the resource name from the Resource Registry to display it correctly. ### Steps to Reproduce 1. Run `agents init --yes` 2. Run `agents resource add git-checkout local/test-repo --path /tmp/test` 3. Run `agents project create my-project` 4. Run `agents project link-resource local/my-project local/test-repo` 5. Run `agents project show local/my-project` 6. Observe: Linked Resources shows `01KN6QXMWFYQXXKHWVJJK9HTSQ` instead of `local/test-repo` ### Expected Behavior The `agents project show` command should display the resource name (e.g., `local/test-repo`) in the Linked Resources table, not the internal ULID. Per `docs/specification.md`, the full output should also include Validations, Context, Indexing Status, and Active Plans sections. ### Actual Behavior The Linked Resources section shows the raw `resource_id` ULID. The Validations, Context, Indexing Status, and Active Plans sections are absent. ### Spec Reference `docs/specification.md` — `agents project show` section specifies the Linked Resources table should display resource names like `local/api-repo`, resource type, sandbox strategy, and read-only status. Additional sections (Validations, Context, Indexing Status, Active Plans) are also specified. ### Category cli / uat / project --- ## Metadata - **Branch**: `bugfix/m7-project-show-resource-name-lookup` - **Commit Message**: `fix(cli): resolve resource names in project show linked resources table` - **Milestone**: v3.6.0 - **Parent Epic**: *(needs manual linking — no open CLI/project Epic identified at creation time)* ## Subtasks - [ ] Write a TDD issue-capture Behave scenario tagged `@tdd_issue`, `@tdd_expected_fail` that asserts `agents project show` displays resource names (not ULIDs) in the Linked Resources table - [ ] In `src/cleveragents/cli/commands/project.py` `show` command (~line 912), look up each `LinkedResource.resource_id` against the Resource Registry to retrieve the resource name, and render the name instead of the ULID - [ ] Investigate and implement the missing output sections per spec: Validations, Context, Indexing Status, and Active Plans (or open follow-up issues if scope is too large) - [ ] Remove `@tdd_expected_fail` tag from the TDD scenario once the fix is in place and verify it passes - [ ] Run `nox -e typecheck` to confirm no type regressions - [ ] Run `nox -e unit_tests` to confirm all Behave tests pass - [ ] Run `nox -e coverage_report` to confirm coverage remains ≥ 97% - [ ] Run `nox` (all default sessions) and fix any errors ## Definition of Done - [ ] The `@tdd_expected_fail` TDD capture scenario is committed first and demonstrates the ULID-vs-name defect - [ ] `agents project show <project>` displays resource names (e.g., `local/test-repo`) in the Linked Resources table — not raw ULIDs - [ ] The TDD scenario passes without `@tdd_expected_fail` after the fix - [ ] No regressions in existing project CLI tests - [ ] All nox stages pass (`nox -e lint`, `nox -e typecheck`, `nox -e unit_tests`, `nox -e integration_tests`, `nox -e coverage_report`) - [ ] Coverage >= 97% - 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.
freemo added this to the v3.6.0 milestone 2026-04-02 09:34:20 +00:00
freemo self-assigned this 2026-04-02 18:45:25 +00:00
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#1303
No description provided.