Apply the deletion test before every move:
- If deleting a module removes complexity without reappearing elsewhere, the
module was shallow and should be folded into a deeper owner.
- If deleting a module spreads complexity across callers, the module is earning
its keep and should be deepened behind a stable interface.
Current deletion-test results:
- Deleting
vyasa/extensions_builtin/mermaid/__init__.py would only require
Markdown to keep doing Mermaid rendering. That proves Mermaid is not yet a real
extension.
- Deleting
vyasa/theme_extensions/transit_folio.py would remove almost no
complexity. Theme variants should be data files behind one theme selector
extension.
- Deleting
vyasa/static/scripts.js would break many features at once. That
proves it hides many unrelated modules and must be split for locality.
- Deleting
vyasa/extensions.py would scatter config preset and metadata
validation logic. That proves extension planning is a real core module, but
its interface must be narrowed.
- Deleting
vyasa/content_tree.py would scatter core content indexing across
routes, search, tree rendering, and build. That should remain a core module.
- Deleting
vyasa/search_service.py would scatter ranking/indexing behavior.
It should become a search extension implementation behind a search interface,
not stay a free-floating core helper.