# Exact declaration and case removals preserve siblings; safe deletion refuses incomplete preflights. exec semedit remove-construct --file api/decls.go --kind var --symbol Remove stdout 'Removed selected node' stdout 'diagnostic_status:' exec semedit remove-construct --file api/routes.go --kind case --in-function Route --discriminator route --target-case '"old"' stdout 'Removed selected node' exec semedit remove-construct --file api/decls.go --kind const --symbol safeMagic --safe-delete stdout 'Safe deletion checks run' ! exec semedit remove-construct --file api/decls.go --kind const --symbol blockedConstant --safe-delete stderr 'safe_delete refused' stderr 'module_reference_scan_complete' cmp api/decls.go want/api/decls.go cmp api/routes.go want/api/routes.go ! exec semedit remove-construct --file api/decls.go --kind var --symbol left stderr 'shared value spec' cmp api/decls.go want/api/decls.go stdin remove-refusal.json exec semedit mcp stdout '"isError":true' stdout '"checks_run":\["go_syntax_parse"' stdout '"refusal":' -- go.mod -- module example.com/removal go 1.23 -- api/decls.go -- package api const safeMagic = 19 const blockedConstant = 23 var ( // Keep documents this sibling. Keep = 1 // Remove documents the target. Remove = 2 ) var left, right = 1, 2 // Obsolete remains untouched by the constant-removal request. func obsolete() {} -- api/inactive_windows.go -- //go:build windows package api func inactiveUse() int { return blockedConstant } -- api/routes.go -- package api func Route(route string) { switch route { case "old": old() case "keep": println("keep") } } -- want/api/decls.go -- package api const blockedConstant = 23 var ( // Keep documents this sibling. Keep = 1 ) var left, right = 1, 2 // Obsolete remains untouched by the constant-removal request. func obsolete() {} -- want/api/routes.go -- package api func Route(route string) { switch route { case "keep": println("keep") } } -- remove-refusal.json -- {"jsonrpc":"2.0","id":1,"method":"initialize","params":{}} {"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"semantic_remove_construct","arguments":{"file":"api/decls.go","kind":"const","symbol":"blockedConstant","safe_delete":true}}}