Files
manual_slop/conductor/directives/ast_parse_insufficient/v1.md
T

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:

  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.