Vyasa Extension Refactor Audit and Execution Plan

Current Contract ViolationsURL copied

Core Still Assigns Default Providers After Runtime BuildURL copied

Observed in vyasa/core.py:

  • _extension_runtime = refresh_extension_runtime(...)
  • later:
    • _extension_runtime.layout_renderer = _default_layout
    • _extension_runtime.home_renderer = _default_render_blog_home
    • _extension_runtime.error_renderer = _default_not_found
    • _extension_runtime.slide_renderer = render_slide_deck

This bypasses extension ownership. It also means default_layout.py, blog_home.py, and default_errors.py have configure() functions that return None, while core wires the behavior after the fact.

Required:

  • Default layout extension registers the layout slot.
  • Blog home extension registers the home slot and feed route.
  • Default errors extension registers the error slot.
  • Slides extension registers /slides.
  • Core never writes these provider attributes itself.