feat: summary editing + folder CRUD (edit_summary, mutate_folder) — v0.6.0#136
Merged
Conversation
…folder CRUD (v0.6.0) Two capabilities users reported missing from their agents: 1. Editing AI summaries (previously read-only). New edit_summary MCP tool (operation=correct|replace) + `correct-summary` / `set-summary` CLI. Backed by POST /ai/update_note_info; the reported use case is fixing a misspelled name in a summary. correct=literal find/replace (the summary counterpart of correct_transcript); replace=full-content overwrite. Requires an existing generated summary. 2. Folder create / edit / delete (previously only list + move-recording). New mutate_folder MCP tool (action=create|edit|delete) + `folder create|edit|delete` CLI. Backed by POST/PATCH/DELETE /filetag/. edit sends only supplied fields (name/color/icon), preserving the rest. delete is irreversible for the folder (recordings inside are kept but unfiled) so it is gated behind confirm=true (MCP) / --yes (CLI), mirroring delete_recording. MCP surface grows 10 -> 12 tools. Endpoints reverse-engineered from har-captures/plaud-summary-find-and-replace.har and plaud-folder-create-edit-delete.har. Validated: full unit suite (851+ pass) + ruff + mypy green; live round-trips against a real account (folder create/edit/delete, summary correct+revert) via both CLI and MCP handler; frozen PyInstaller mcp.exe serves all 12 tools and frozen cli.exe runs the new commands end-to-end. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
bundle-smoke (and the release build, which shares the step) were failing at "Download ffmpeg (pinned)": gyan.dev only hosts the latest version-pinned essentials build, so the ffmpeg-8.1.1 URL now 404s. Bump both ci.yml and release.yml to 8.1.2 with its gyan.dev-published SHA-256. Unrelated to the v0.6.0 feature work but required for a green bundle-smoke + release. This will recur on the next gyan.dev bump; a durable fix (immutable GitHub-hosted build source) is noted for follow-up. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Two capabilities users reported their agents couldn't do:
Both endpoints were reverse-engineered from HAR captures already in the repo (
plaud-summary-find-and-replace.har,plaud-folder-create-edit-delete.har).What
Summary editing — new
edit_summaryMCP tool +correct-summary/set-summaryCLI. Backed byPOST /ai/update_note_info.operation="correct"— literal, case-sensitive find/replace (the summary counterpart ofcorrect_transcript). Solves the name-spelling case.operation="replace"— overwrite the whole summary with new markdown.Folder CRUD — new
mutate_folderMCP tool +folder create|edit|deleteCLI. Backed byPOST/PATCH/DELETE /filetag/.create— new folder (icon/color default to Plaud's standard when omitted).edit— sends only the fields you pass (name/color/icon), preserving the rest.delete— irreversible for the folder (recordings inside are kept but become unfiled), so gated behindconfirm=true(MCP) /--yes(CLI), mirroringdelete_recording.MCP surface grows 10 → 12 tools.
Validation
ruff+mypyclean. New tests cover both client methods, both MCP handlers, the CLI commands, and the server tool-list/schema/annotations. Golden fixture + token budget updated.plaud-mcp.exe(v0.6.0) serves all 12 tools over stdio incl.edit_summary/mutate_folder;plaud-tools.exeruns the new folder commands end-to-end against the live account.Release
Version bumped to 0.6.0; CHANGELOG + compare-link + docs updated. Cut by pushing the
v0.6.0tag after merge.🤖 Generated with Claude Code