## Goal Implement the Python AST parser in `core/ast_parsers/` using tree-sitter. ## Acceptance Criteria - [ ] `PythonParser` class with `parse(path, source) -> list[dict]` interface - [ ] Extracts `name`, `kind`, `start_line`, `end_line`, `docstring` - [ ] Returns empty list for files with syntax errors (never raises) - [ ] Unit tests in `tests/unit/test_python_parser.py` with mocked tree-sitter - [ ] Indexer writes each symbol as a `Symbol` node in Neo4j with a `DEFINES` rel to the parent `File`
Goal
Implement the Python AST parser in
core/ast_parsers/using tree-sitter.Acceptance Criteria
PythonParserclass withparse(path, source) -> list[dict]interfacename,kind,start_line,end_line,docstringtests/unit/test_python_parser.pywith mocked tree-sitterSymbolnode in Neo4j with aDEFINESrel to the parentFile