Add new_slug parameter to update_note MCP tool #2
No reviewers
Labels
No labels
domain:backend
domain:devops
domain:frontend
status:approved
status:in-progress
status:needs-fix
status:qa
type:bug
type:devops
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
forgejo_admin/pal-e-mcp!2
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "1-slug-rename"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
new_slugoptional parameter to theupdate_noteMCP tool, enabling note slug renames via the MCP interfacenew_slugtoslugin the API request body (matching the pal-e-docs API convention)Changes
src/pal_e_docs_mcp/tools/notes.py: Addednew_slug: str | None = Noneparameter toupdate_note, mapped tobody["slug"]in the requestTest Plan
Review Checklist
Related Notes
plan-2026-02-25-agent-profiles— phasephase-2026-02-25-3.5-claude-custom-cleanupPR #2 Review
BLOCKERS
None.
NITS
[x] Passed automated review-fix loopcheckbox. This should be checked after the review-fix loop completes (not a blocker since this is the first review pass, but the checkbox should be present and unchecked).SOP COMPLIANCE
1-slug-renamemaps to issue #1)template-pr-body(all 5 sections: Summary, Changes, Test Plan, Review Checklist, Related Notes)plan-2026-02-25-agent-profileswith phasephase-2026-02-25-3.5-claude-custom-cleanup)CODE REVIEW
new_slug: Annotated[str | None, Field(description="Rename the note to this slug")] = Nonecorrectly follows the existing annotation pattern used by all other optional parameters inupdate_note.new_slug(notslug) correctly avoids collision with the existingslugparameter that identifies the target note. Clear intent.body["slug"] = new_slugmatches the pal-e-docs REST API field name for slug rename (confirmed by companion PR forgejo_admin/pal-e-docs#23).if new_slug is not Nonematches the conditional pattern of all other fields. No unnecessary API payload.title, beforehtml_content) is logically ordered.VERDICT: APPROVED
Clean, minimal change. Follows existing patterns exactly. SOP fully compliant. Ready to merge pending user approval.