# A buffered insertion is visible to extraction, then a later operation resolves the generated interface. stdin input.json exec semedit mcp --enable-batching stdout '"isError":false' ! stdout '"isError":true' cmp store.go .scratch/want/store.go cmp contracts.go .scratch/want/contracts.go exec go test ./... -- go.mod -- module example.com/contractbatch go 1.27.1 -- 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":"store.go","source":"func (*Store) Close() error { return nil }"}},{"tool":"refactor_extract_interface","params":{"file":"store.go","in_type":"Store","symbol":"StoreAPI","destination_file":"contracts.go","receiver_kind":"pointer","members":[{"file":"store.go","symbol":"(*Store).Read"},{"file":"store.go","symbol":"(*Store).Close"}]}},{"tool":"semantic_insert_function","params":{"file":"store.go","source":"func UseStore(store StoreAPI) {}"}}]}}} -- store.go -- package sample type Store struct{} func (*Store) Read() error { return nil } -- contracts.go -- package sample -- .scratch/want/store.go -- package sample type Store struct{} func (*Store) Read() error { return nil } func (*Store) Close() error { return nil } func UseStore(store StoreAPI) {} -- .scratch/want/contracts.go -- package sample type StoreAPI interface { Close() error Read() error }