Files
manual_slop/conductor/directives/contract_change_audit/v1.md
T

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.