Vyasa Extension Refactor Audit and Execution Plan

Mechanical Migration PlanURL copied

Phase 5: Extract Tasks Rendering From MarkdownURL copied

Goal:

  • Tasks extension owns all task fence behavior.

Cut:

mkdir -p vyasa/extensions_builtin/tasks/static
awk '/^def _resolve_items_node_href/{flag=1} /^def _clean_scalar/{flag=0} flag' vyasa/extensions_builtin/markdown/renderer.py > /tmp/tasks_render_helpers.py
awk '/^def _render_tasks_block/{flag=1} /^def _clean_scalar/{flag=0} flag' vyasa/extensions_builtin/markdown/renderer.py > /tmp/tasks_render.py

Move:

  • _resolve_items_node_href
  • _normalize_items_model_hrefs
  • _split_fence_frontmatter if not shared
  • _render_tasks_block

Then:

  • If _split_fence_frontmatter is needed by multiple extensions, move it to a core markdown utility with a public name, not a private Markdown renderer function.
  • Register items and tasks separately.
  • Delete fallback branches from Markdown.

Acceptance:

  • rg "_render_tasks_block|parse_tasks_text|build_collapsed_graph" vyasa/extensions_builtin/markdown/renderer.py returns no results.