Vyasa Extension Refactor Audit and Execution Plan

Target Folder ShapeURL copied

Every built-in extension should use this shape:

vyasa/extensions_builtin/<extension_id>/
  __init__.py
  extension.py
  config.py
  render.py
  routes.py
  store.py
  views.py
  static/
    <extension_id>.css
    <extension_id>.js
  tests.md

Not every file is required. Empty responsibilities should be absent.

Rules:

  • __init__.py exports only EXTENSION.
  • extension.py owns the VyasaExtension subclass and metadata.
  • render.py owns markdown renderers.
  • routes.py owns HTTP handlers.
  • store.py owns durable state for that extension only.
  • views.py owns extension-owned FastHTML view fragments.
  • static/ owns browser behavior and CSS for that extension.