Vyasa Extension Refactor Audit and Execution Plan

Current Contract ViolationsURL copied

Tasks Extension Does Not Own Tasks RenderingURL copied

Observed in vyasa/extensions_builtin/tasks/__init__.py:

from ..markdown.renderer import _render_tasks_block

Required:

  • Move _render_tasks_block, task fence frontmatter parsing, href normalization, and task graph HTML emission into vyasa/extensions_builtin/tasks/render.py.
  • Keep model.py and layout.py under Tasks.
  • Move Tasks JavaScript from the top of vyasa/static/scripts.js into vyasa/extensions_builtin/tasks/static/tasks.js.
  • Keep tasks_graph_core.js under Tasks and serve it through extension assets.
  • Move Tasks CSS from header.css and inline JavaScript-injected CSS into extension CSS.
  • Register both items and tasks fences, and declare both capabilities:
    • cap:markdown:fence:items
    • cap:markdown:fence:tasks