This document is the audit and execution plan for turning the current Vyasa
extension work from a file rearrangement into a real developer-facing extension
system.
The current state is not compliant with docs/grill-sessions/vyasa-extension-contract.md.
The sharp issue is this: feature code moved under vyasa/extensions_builtin, but
most feature ownership did not move behind the extension contract. The result is
a set of folders that look like extensions while core.py, layout_page.py,
content_routes.py, build.py, and markdown/renderer.py still own the
behavior.
Good extension architecture is like a railway switchyard. Core owns the tracks,
signals, and safety rules. Extensions own trains and cargo. Right now several
extensions are just labels on cargo that still sits in the station office.