Extension Refactor Tracker
2-min readUpdated May 22, 2026
Copied Raw Markdown!
Copied copy relative path!
Date: 2026-05-15
Done URL copied
- TaskAdd real extension contract in
vyasa/extensions.py - TaskSwitch built-ins to
EXTENSION.register(app) - TaskRemove markdown hard-coded fence fallbacks
- TaskMove Mermaid/D2/Cytograph/Tasks/Cryptograph render ownership into extension modules
- TaskMove bookmarks and annotations route/storage wiring out of
core.py - TaskMove search and RBAC admin route registration behind extensions
- TaskServe slide assets from extension-owned URLs under
/static/extensions/...
Next URL copied
- TaskSplit
vyasa/static/scripts.jsinto:- Taskshell bootstrap
- Task
extensions_builtin/mermaid/static/mermaid.js - Task
extensions_builtin/d2/static/d2.js - Task
extensions_builtin/tasks/static/tasks.js - Task
extensions_builtin/bookmarks/static/bookmarks.js - Task
extensions_builtin/annotations/static/annotations.js
- TaskShrink global script include to shell-only bootstrap
- TaskRegister real asset bundles for Mermaid/D2/Tasks/Bookmarks/Annotations instead of pointing back at global
scripts.js - TaskMove feature CSS out of
vyasa/static/header.cssinto extensionstatic/*.css - TaskEmit requested extension bundles from runtime/asset collector instead of relying on always-on global assets
- TaskMake static build copy and reference extension assets, not just package
static/ - TaskMake static build consume requested runtime bundles per page/route
Later URL copied
- Task
EXT-035document type ownership- TaskGate
.pdfand.treevisibility through owner extensions (pdf_viewer,tree_table) - TaskCover disabled type behavior in content tree, search, and static tree tests
- TaskMove raw/download ownership fully behind the document/file owner path in
EXT-023
- TaskMove remaining core-owned route surfaces behind extensions where justified:
- Tasksidebar lazy/search branch helpers
- Taskraw markdown/download/static attachment routes
- Taskoptional auth adjunct routes
- TaskReplace
vyasa/extensions_builtin/themes/__init__.pyre-export shim with real moved theme package - TaskRevisit
agent.pyas optional extension - TaskAdd contract tests for asset bundle emission and extension static build parity