Vyasa Extension Refactor Audit and Execution Plan

Architecture Decision FrameworkURL copied

Deepening OpportunitiesURL copied

7. Static Asset ModuleURL copied

Files:

  • vyasa/assets.py
  • vyasa/static/scripts.js
  • vyasa/static/header.css
  • vyasa/static/flexoki.css
  • vyasa/static/themes.css
  • every extension static folder

Problem:

  • Shared JS/CSS hides many unrelated modules.
  • Page assets are not selected by extension-owned page need.

Solution:

  • Keep assets.py as core asset registry and resolver.
  • Move feature CSS/JS into extension folders.
  • Add bundle scopes:
    • global
    • document
    • search
    • admin
    • slides
    • extension-specific
  • The page shell asks the frozen runtime for required bundles.

Benefits:

  • Leverage: feature assets travel with the feature.
  • Locality: asset bugs stay near feature code.
  • Tests: built pages include only required bundles.