Review: Rename pal-e-docs-mcp to pal-e-mcp + update imports
Verdict: READY
Re-review after refinements. All three issues from the 2026-03-26 initial review have been addressed.
Template Completeness
- [x] Type -- Feature
- [x] Lineage -- references repo rename initiative + SDK dependency
- [x] Repo -- correctly identifies source and target
- [x] User Story -- present and clear
- [x] Context -- good explanation of naming convention motivation, correctly notes MCP key stays pal-e-docs. Now includes CRITICAL callout for ~/.mcp.json atomic update.
- [x] File Targets -- present with "modify," "don't touch," and "does not exist" lists
- [x] Acceptance Criteria -- 6 criteria, all testable
- [x] Test Expectations -- includes run command
- [x] Constraints -- 4 constraints documented including atomic ~/.mcp.json requirement
- [x] Checklist -- present, includes ~/.mcp.json
- [x] Related -- references SDK rename dependency and deferred phase
All required sections present. Template is complete.
Traceability
- [x] story:superuser-maintain label -- board item has it
- [x] arch:mcp label -- board item has it
- [x] type:feature label -- board item has it
- [x] Forgejo issue -- forgejo_admin/pal-e-docs-mcp#50, open
Traceability triangle is complete.
File Targets
- [x]
pyproject.toml-- verified: exists. Ticket now correctly lists ALL 5 fields: package name (line 6), script entry point (line 18), wheel path (line 28), uv source (line 42), SDK dependency (line 14). Previously only mentioned SDK dep. - [x]
~/.mcp.json-- verified: exists at/home/ldraney/.mcp.json. Contains hardcoded directory path (line 32:/home/ldraney/pal-e-docs-mcp) and module name (line 35:pal_e_docs_mcp). Ticket now lists this as CRITICAL with atomic update requirement. Previously missing entirely. - [x]
src/pal_e_docs_mcp/directory rename -- verified: directory exists with __init__.py, __main__.py, server.py, tools/ - [x]
from pal_e_docs_sdk importstatements -- verified: 1 occurrence insrc/pal_e_docs_mcp/server.py:9 - [x]
src/pal_e_docs_mcp/__main__.py-- verified: importsfrom pal_e_docs_mcp.server import main(covered by package dir rename) - [x]
.woodpecker.yml-- verified: exists, uses genericpython:3.12-slimimage. No repo name references. No changes needed. - [x]
tests/-- verified:conftest.pyhas 5pal_e_docs_mcpimports,test_param_alignment.pyhas 6pal_e_docs_mcpimports. All need updating. - [x] CLAUDE.md -- confirmed does not exist. Ticket now explicitly documents this under "Files that do NOT exist" with instruction not to create. Previously was incorrectly listed as a modification target.
Nits (not blocking)
README.md-- referencespal-e-docs-mcp(line 1) andpal_e_docs_mcp(line 12). Not listed in file targets. Any rename agent would catch this, but could be explicit.uv.lock-- containsname = "pal-e-docs-mcp"(line 302). Will regenerate automatically from pyproject.toml changes. Standard practice.
Repo Placement
Issue is filed on
forgejo_admin/pal-e-docs-mcp which is the correct repo being renamed. Downstream changes (claude-custom hooks, MEMORY.md) are correctly deferred to board item #444.Dependencies
- BLOCKER: Board item #440 (forgejo_admin/pal-e-docs-sdk#38) -- "Rename pal-e-docs-sdk to pal-e-sdk + update package" is in
backlog. The issue correctly states "SDK rename must complete first." This ticket cannot move to next_up until #440 completes (import paths depend on it). - Board item #444 ("Update claude-custom + docs for repo renames") -- downstream coordination for hooks and MEMORY.md. Must happen after this rename.
- Board item #439 ("Rename pal-e-docs repo to pal-e-api") -- sibling rename, no direct dependency.
Dependencies are correctly documented in the issue body.
Acceptance Criteria
- [x] "Forgejo repo accessible at forgejo_admin/pal-e-mcp" -- testable via API
- [x] "MCP server starts and all 36+ tools are available" -- testable
- [x] "Tool prefix remains mcp__pal-e-docs__*" -- testable, correctly documents the invariant
- [x] "SDK imports use new pal_e_sdk package name" -- testable via grep
- [x] "~/.mcp.json points to new path and module" -- now present (was missing in initial review)
- [x] "CI pipeline works on renamed repo" -- testable via Woodpecker
All criteria are testable and complete.
Blast Radius
- ~/.mcp.json -- now explicitly handled in this ticket as CRITICAL. Atomic update with directory rename. Good.
- claude-custom hooks --
block-dottie-code-writes.sh(line 31) andcleanup-worktrees.sh(line 19) referencepal-e-docs-mcppath. Correctly deferred to board item #444. - MEMORY.md --
~/pal-e-docs-mcprepo location reference. Correctly deferred to #444. - Woodpecker CI -- repo webhook URL will need re-configuration after Forgejo rename. Not explicitly called out but standard Forgejo rename behavior.
- MCP process cache -- issue correctly notes session restart is needed.
Previous Review Resolution
- CLAUDE.md removed from file targets -- FIXED. Now listed under "Files that do NOT exist" with explicit "do not create" instruction.
- ~/.mcp.json added as CRITICAL target -- FIXED. Added to File Targets with atomic update requirement, added to Context, added to Acceptance Criteria, added to Constraints, added to Checklist.
- pyproject.toml scope expanded -- FIXED. Now lists all 5 fields: package name, script entry point, wheel path, uv source, SDK dependency name.
Recommendation
No action needed. All three issues from the initial review are resolved. Two minor nits (README.md and uv.lock not in file targets) are standard rename artifacts that any agent would handle. Ticket is ready for execution once dependency #440 (SDK rename) completes.