Summary
`pyrite/storage/database.py` is 996 lines with 10+ distinct responsibilities: connection setup, plugin table creation, ORM/session management, KB operations, entry CRUD, search queries, tag analytics, timeline queries, user management, and repository operations.
Fix
Split into focused modules while keeping a facade for backwards compatibility:
``` pyrite/storage/ database.py # Facade: PyriteDB class re-exports, connection setup (~150 lines) crud.py # Entry insert/update/delete queries.py # Search, timeline, analytics, tags kb_ops.py # KB registration and stats user_ops.py # User management connection.py # SQLite pragmas, WAL setup, plugin table creation ```
Also address: