Skip to content

Patcher lane 5: patch commands, patch_edit agent tool, show-me - #182

Merged
0thernet merged 2 commits into
mainfrom
patch-lane5
Oct 10, 2026
Merged

0thernet merged 2 commits into
mainfrom
patch-lane5

Conversation

@0thernet

Copy link
Copy Markdown
Member

Lane 5 of the patcher design (§6.1, §6.2, §7.4, networking amendments).

  • Typed commands (src/commands/patch.ts): patch new|add|set|wire|unwire|macro|knob|rate|rm|convert|detach|load|save|show|nodes, all with --fx <name>. Each line is one revision of node-, cable- and macro-level ops through commitScore; never a whole-patch write. Node ids come from the line or newId(). Errors name the port and the nearest word, and nothing applies.
  • Receipts report rate changes (; vcf now voice-rate) and the compiler's dropped cables (a post-global node into a voice node, a feedback loop through an engine or effect node with no buffer node).
  • patch show prints the lines that rebuild the patch (cables and params in canonical order). A test replays every built-in.
  • Agent: patch_edit tool (ops run in order as one undo step; one bad op rejects the batch and is named). It also adds a prompt section with few-shot built-in recipes. Show-me types patch lines, and patch show/patch nodes stream as reads.
  • Window: user library (patch save --user, keeping knob settings) and github: loads through src/audio/patch-library.ts (Patcher lane 6b: user patch library and github: pack patches #180).
  • Ctrl-K: Sound › patch rows, plus Effects › add effect patch (src/tui/patch-menu.ts). /help gets a "sound · patch" group and DAWG.md a paragraph. Four-ways rows exist for every verb. The SDK door is marked pending lane 4 with a TODO.
  • Tests: src/commands/patch.test.ts, patch-recipe.test.ts, src/agent/patch-tool.test.ts, show-me stream test, and test/pty-patch.test.ts (build, save --user, load).

Gate: bun run check green locally (3965 pass).

🤖 Generated with Claude Code

Typed `patch new|add|set|wire|unwire|macro|knob|rate|rm|convert|detach|
load|save|show|nodes` on the focused track (--fx for effect patches).
Every line is one revision of node, cable and macro ops through
commitScore; nothing writes a whole patch. Node ids come from the line or
newId(). Errors name the port and the nearest word. Receipts report rate
changes and the compiler's dropped cables (post-global into voice nodes,
feedback loops with no buffer node).

- src/commands/patch.ts: parser, applier, applyPatchBatch, patchRecipe
  (patch show prints the lines that rebuild a patch; every built-in replays)
- src/agent/patch-tools.ts: patch_edit (ops in order, one undo step),
  prompt section and few-shot recipes; show-me types and reads patch lines
- src/main.ts: user library and github: loads via src/audio/patch-library.ts
- Ctrl-K Sound > patch and Effects > add effect patch (src/tui/patch-menu.ts)
- /help "sound · patch" group, DAWG.md paragraph, four-ways rows
  (SDK door pending patcher lane 4)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@0thernet
0thernet enabled auto-merge (squash) October 10, 2026 20:49
@vercel

vercel Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
dawg Ignored Ignored Preview Oct 10, 2026 9:00pm UTC

Request Review

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@0thernet
0thernet merged commit 330237a into main Oct 10, 2026
14 checks passed
@0thernet
0thernet deleted the patch-lane5 branch October 10, 2026 21:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant