# A public MCP batch resolves inserted and renamed declarations in one buffered working revision, including a scaffold receipt and final generated file. stdin input.json exec semedit mcp --enable-batching stdout '"tool":\s*"semantic_scaffold_file"' stdout '"tool":"semantic_scaffold_file","file":"generated.go","package":"sample","status":"ok","result":\{"edit_receipt":\{"changes":\[\{"path":"generated.go","revision":"[a-f0-9]{64}"\}\],"operation":"scaffold_file","schema_version":"semedit.edit-receipt/v1","status":"applied_working"\},"package":"sample"' stdout '"isError":false' ! stdout '"isError":true' cmp value.go .scratch/want/value.go cmp uses.go .scratch/want/uses.go cmp generated.go .scratch/want/generated.go exec go test ./... -- go.mod -- module example.com/batchbuffers go 1.24 -- input.json -- {"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"semantic_batch","arguments":{"auto_organize_imports":true,"edits":[{"tool":"semantic_insert_function","params":{"file":"uses.go","source":"func Read() int { return Value() }"}},{"tool":"refactor_rename","params":{"file":"value.go","symbol":"Value","to":"Renamed"}},{"tool":"semantic_replace_body","params":{"file":"value.go","symbol":"Renamed","body":"return 3"}},{"tool":"refactor_rename","params":{"file":"value.go","symbol":"Renamed","to":"Final"}},{"tool":"semantic_scaffold_file","params":{"file":"generated.go","package":"sample"}},{"tool":"semantic_insert_function","params":{"file":"generated.go","source":"func Generated() int { return Final() }"}},{"tool":"refactor_rename","params":{"symbol":"Generated","to":"Result"}}]}}} -- value.go -- package sample func Value() int { return 1 } -- uses.go -- package sample -- .scratch/want/value.go -- package sample func Final() int { return 3 } -- .scratch/want/uses.go -- package sample func Read() int { return Final() } -- .scratch/want/generated.go -- package sample func Result() int { return Final() }