feat(clean): remove obsolete VS Code and Cursor extension directories (#910)
VS Code, VS Code Insiders and Cursor write a .obsolete JSON marker in their extensions root whose keys are stale extension directories left behind after an update. mo clean never read it, so obsolete extensions accumulated. Add clean_editor_obsolete_extensions: parse each editor's .obsolete, validate every key is a plain direct-child name (rejecting path traversal), and remove the listed directories via safe_clean.
T
Tw93 committed
e83730449a77ff92a937d1b1be536351eecda45a
Parent: 517a026