Private
Public Access
feat(directives): harvest 6 directives from conductor/edit_workflow.md (Rules 1, 2, 6, 7, 8 contract-change, 8 EOL)
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
# contract_change_audit
|
||||
|
||||
## v1
|
||||
|
||||
**Why this iteration:** Lifted verbatim from `conductor/edit_workflow.md:90-99 (Rule 8 contract-change check)`.
|
||||
**Source:** `conductor/edit_workflow.md:90-99 (Rule 8 contract-change check)`
|
||||
**Lifted:** 2026-07-02 (Phase A expansion harvest; user directive 2026-07-02)
|
||||
@@ -0,0 +1,11 @@
|
||||
### 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.
|
||||
Reference in New Issue
Block a user