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 @@
# ast_parse_insufficient
## v1
**Why this iteration:** Lifted verbatim from `conductor/edit_workflow.md:70-76 (Rule 7)`.
**Source:** `conductor/edit_workflow.md:70-76 (Rule 7)`
**Lifted:** 2026-07-02 (Phase A expansion harvest; user directive 2026-07-02)
@@ -0,0 +1,9 @@
### Rule 7. ast.parse() Is Not Enough
`py_check_syntax` only confirms `ast.parse()` succeeds. Semantic errors (wrong decorator targets, wrong base class, wrong attribute, missing `self`) are NOT caught. After any multi-line edit, ALWAYS:
1. Import the module: `python -c "from src.app_controller import AppController"`
2. Instantiate the class
3. Call the new method in the way it's expected to be called (`ctrl.foo_ts` for a property, `ctrl.foo_ts()` for a method)
If you skip this step, the file passes `py_check_syntax` but blows up at import time or when the new method is called. The 2026-06-05 `_capture_workspace_profile` regression (3-space indent vs 2-space class level) is the canonical example.