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:
ed
2026-07-02 23:56:18 -04:00
parent 8407742a14
commit 782530ba6d
12 changed files with 107 additions and 0 deletions
@@ -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.