Feature: Update MCP tool definitions and tests for BoardItemType 'issue' to 'ticket' rename #53

Open
opened 2026-03-28 04:00:56 +00:00 by forgejo_admin · 0 comments

Type

Feature

Lineage

Child of forgejo_admin/claude-custom#181 (parent decomposition ticket).
Deploy order: C of 4 -- depends on Ticket B (forgejo_admin/pal-e-sdk) merging first (SDK upgrade).

Repo

forgejo_admin/pal-e-mcp

User Story

As an MCP tool user (Claude agent),
I want create_board_item and related tools to document ticket as the canonical item_type value,
So that my tool calls match the API's canonical enum and I don't use a deprecated value.

Context

The pal-e-api is renaming BoardItemType.issue to BoardItemType.ticket (Ticket A), and the SDK is updating its docstrings (Ticket B). The MCP server wraps the SDK and exposes tool parameter descriptions to agents. Those descriptions currently reference "issue" as the value for board items linked to Forgejo issues.

The API's transition alias means existing MCP calls with "issue" will keep working, but tool descriptions should lead with the new value once upstream changes land.

This ticket also requires a pal-e-sdk dependency bump in pyproject.toml to pick up the updated SDK (Ticket B).

File Targets

Files the agent should modify:

  • src/pal_e_mcp/tools/boards.py line 160 -- description: "Full Forgejo issue URL (for issue-type items)..." -> "...for ticket-type items..."
  • src/pal_e_mcp/tools/boards.py lines 180-181 -- docstring: "Use item_type to categorise (plan, phase, issue, todo, repo, project)" -> replace issue with ticket; "For issue items, provide forgejo_issue_url" -> "For ticket items..."
  • tests/test_param_alignment.py line 349 -- item_type="issue" -> "ticket"
  • tests/test_param_alignment.py line 357 -- item_type="issue" -> "ticket"
  • tests/test_param_alignment.py line 365 -- item_type="issue" -> "ticket"
  • tests/test_param_alignment.py line 372 -- item_type="issue" -> "ticket"
  • tests/test_param_alignment.py line 379 -- item_type="issue" -> "ticket"
  • pyproject.toml -- bump pal-e-sdk dependency version

Files the agent should NOT touch:

  • No other files reference BoardItemType "issue" in this repo

Acceptance Criteria

  • All tool descriptions reference "ticket" not "issue" for board item types
  • All test fixtures use item_type="ticket"
  • pal-e-sdk dependency bumped in pyproject.toml
  • MCP server restart picks up new descriptions

Test Expectations

  • Unit test: all test_param_alignment.py tests pass with "ticket" values
  • Unit test: no remaining references to item_type="issue" in test fixtures
  • Run command: pytest tests/test_param_alignment.py -v

Constraints

  • MCP process caches SDK imports -- session restart needed after SDK upgrade
  • Depends on Ticket B merging first (SDK must have updated docstrings)
  • Tool descriptions are agent-facing -- clarity matters for LLM comprehension

Checklist

  • PR opened
  • Tests pass
  • No unrelated changes
  • forgejo_admin/claude-custom#181 -- parent decomposition ticket
  • forgejo_admin/pal-e-api Ticket A -- API enum rename (transitive dependency)
  • forgejo_admin/pal-e-sdk Ticket B -- SDK docstring update (direct dependency)
  • pal-e-docs -- project this affects
### Type Feature ### Lineage Child of `forgejo_admin/claude-custom#181` (parent decomposition ticket). Deploy order: **C of 4** -- depends on Ticket B (`forgejo_admin/pal-e-sdk`) merging first (SDK upgrade). ### Repo `forgejo_admin/pal-e-mcp` ### User Story As an MCP tool user (Claude agent), I want `create_board_item` and related tools to document `ticket` as the canonical item_type value, So that my tool calls match the API's canonical enum and I don't use a deprecated value. ### Context The pal-e-api is renaming `BoardItemType.issue` to `BoardItemType.ticket` (Ticket A), and the SDK is updating its docstrings (Ticket B). The MCP server wraps the SDK and exposes tool parameter descriptions to agents. Those descriptions currently reference `"issue"` as the value for board items linked to Forgejo issues. The API's transition alias means existing MCP calls with `"issue"` will keep working, but tool descriptions should lead with the new value once upstream changes land. This ticket also requires a `pal-e-sdk` dependency bump in `pyproject.toml` to pick up the updated SDK (Ticket B). ### File Targets Files the agent should modify: - `src/pal_e_mcp/tools/boards.py` line 160 -- description: `"Full Forgejo issue URL (for issue-type items)..."` -> `"...for ticket-type items..."` - `src/pal_e_mcp/tools/boards.py` lines 180-181 -- docstring: `"Use item_type to categorise (plan, phase, issue, todo, repo, project)"` -> replace `issue` with `ticket`; `"For issue items, provide forgejo_issue_url"` -> `"For ticket items..."` - `tests/test_param_alignment.py` line 349 -- `item_type="issue"` -> `"ticket"` - `tests/test_param_alignment.py` line 357 -- `item_type="issue"` -> `"ticket"` - `tests/test_param_alignment.py` line 365 -- `item_type="issue"` -> `"ticket"` - `tests/test_param_alignment.py` line 372 -- `item_type="issue"` -> `"ticket"` - `tests/test_param_alignment.py` line 379 -- `item_type="issue"` -> `"ticket"` - `pyproject.toml` -- bump `pal-e-sdk` dependency version Files the agent should NOT touch: - No other files reference BoardItemType `"issue"` in this repo ### Acceptance Criteria - [ ] All tool descriptions reference `"ticket"` not `"issue"` for board item types - [ ] All test fixtures use `item_type="ticket"` - [ ] `pal-e-sdk` dependency bumped in `pyproject.toml` - [ ] MCP server restart picks up new descriptions ### Test Expectations - [ ] Unit test: all `test_param_alignment.py` tests pass with `"ticket"` values - [ ] Unit test: no remaining references to `item_type="issue"` in test fixtures - Run command: `pytest tests/test_param_alignment.py -v` ### Constraints - MCP process caches SDK imports -- session restart needed after SDK upgrade - Depends on Ticket B merging first (SDK must have updated docstrings) - Tool descriptions are agent-facing -- clarity matters for LLM comprehension ### Checklist - [ ] PR opened - [ ] Tests pass - [ ] No unrelated changes ### Related - `forgejo_admin/claude-custom#181` -- parent decomposition ticket - `forgejo_admin/pal-e-api` Ticket A -- API enum rename (transitive dependency) - `forgejo_admin/pal-e-sdk` Ticket B -- SDK docstring update (direct dependency) - `pal-e-docs` -- project this affects
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
forgejo_admin/pal-e-mcp#53
No description provided.