Private
Public Access
784 B
784 B
When changing a public interface, all callers must be updated in the same atomic commit
The contract-change check (mandatory for any edit that changes a public interface)
Before any edit, search the codebase for callers of the function/symbol/yield shape you're changing. If your edit changes:
- A function signature (add/remove/rename a parameter)
- A return type or yield shape (e.g.
yield process, gui_script->yield process, gui_script, workspace_path) - A class hierarchy (add/remove a base class, change a method's name)
- A module-level function name (rename)
- A public attribute name
...you MUST update ALL callers in the same atomic commit. Use py_find_usages to locate them. If you change a contract and don't update callers, you have broken the codebase.