Vyasa Extension Refactor Audit and Execution Plan
- all
vyasa/extensions_builtin/**/__init__.py
ExtensionRuntime has become the interface.
- Extensions need to know internal runtime field names.
- The contract document promises
VyasaExtensionApp, but no such module exists.
- Deepen
vyasa/extensions.py into the only extension planning and registration
module.
- Add
VyasaExtension, VyasaExtensionBase, and VyasaExtensionApp.
- Make each extension expose exactly one
EXTENSION object.
- Call
EXTENSION.register(app) during runtime assembly.
- Keep
ExtensionRuntime private to core or make it read-only after freeze.
- Leverage: extension authors learn one interface.
- Locality: capability validation and runtime assembly live in one module.
- Tests: extension behavior is tested through registration output, not through
private runtime mutation.