Symbol extraction (symbols.rs):
- tree-sitter parsers for Rust, TypeScript, Python
- Extracts: functions, structs, enums, traits, classes, interfaces
- Signatures, docstrings, line ranges for each symbol
- extract_project_symbols() walks project directory
- Skips hidden/vendor/target/node_modules, files >100KB
Proto: IndexSymbols + SymbolEntry messages for client→server symbol relay
Client: after SessionReady, extracts symbols and sends IndexSymbols
to Sol for indexing into the code search index.
14 unit tests for symbol extraction across Rust/TS/Python.