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 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user