Review: MCP board item move tool

review-282-2026-03-27 Review

review needs-refinement

Verdict: NEEDS_REFINEMENT

Template Completeness

  • [x] Type
  • [x] Lineage
  • [x] Repo
  • [x] User Story
  • [x] Context
  • [x] File Targets
  • [x] Acceptance Criteria
  • [x] Test Expectations
  • [x] Constraints
  • [x] Checklist
  • [x] Related

Traceability

  • [ ] story:X label — missing. Board item #282 has no story label. This is foundational MCP tooling, so arguably acceptable, but a story like story:superuser-maintain or story:agent-write would complete the triangle.
  • [ ] arch:X label — missing. Should be arch:mcp to match the component being modified.
  • [x] Forgejo issue — forgejo_admin/pal-e-mcp#45, open

File Targets

  • [ ] src/pal_e_docs_mcp/tools/boards.py — ISSUE: path is stale. Repo was renamed from pal-e-docs-mcp to pal-e-mcp; package is now pal_e_mcp. Correct path: src/pal_e_mcp/tools/boards.py
  • [x] update_board_item function — verified at line 207 (issue says ~line 209, close enough). Confirmed: title parameter is absent. create_board_item already has it (line 163). Pattern to follow is clear.
  • [x] SDK support — verified. ~/pal-e-docs-sdk/src/pal_e_sdk/boards.py lines 106 and 139 both accept title. No SDK changes needed.

Repo Placement

Issue is filed on forgejo_admin/pal-e-mcp (redirects from old name pal-e-docs-mcp). Correct — only the MCP tool layer needs the change. SDK and API already support title. Single-repo fix.

Dependencies

  • Board item #281 (pal-e-docs#192, sync_board title drift detection) is the companion issue in backlog. No dependency — they were intentionally split. This ticket can proceed independently.
  • No blockers in in_progress column that affect this work.

Acceptance Criteria

3 criteria, all verifiable by an agent. Test command pytest tests/ -k update_board_item is real — tests/test_param_alignment.py has a TestUpdateBoardItem class with 5 existing tests that exercise column, labels, whitespace, trailing comma, and omitted fields. New tests for title would follow the same pattern.

Blast Radius

  • create_board_item already has title — no drift.
  • bulk_move_board_items does not support title, but it is specifically a column-move batch tool. No concern.
  • No downstream consumers affected. The change is additive and backward compatible.

Recommendation

Two fixes needed before READY:
  • Update file path in issue body: Change src/pal_e_docs_mcp/tools/boards.py to src/pal_e_mcp/tools/boards.py. The repo rename means the old path will confuse the implementing agent.
  • Add traceability labels to board item #282: Add arch:mcp at minimum. Consider adding a story label (e.g. story:agent-write).
Also note: the ### Repo field says forgejo_admin/pal-e-docs-mcp which redirects but should be updated to forgejo_admin/pal-e-mcp for clarity.