Private
Public Access
806 B
806 B
Only ast.parse() is not enough — verify semantic correctness by importing and instantiating
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:
- Import the module:
python -c "from src.app_controller import AppController" - Instantiate the class
- Call the new method in the way it's expected to be called (
ctrl.foo_tsfor 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.