Split monolithic modules into focused, single-responsibility components
for improved maintainability and testability.
Compiler subsystem now organized as:
- SnakeBridge.Compiler.Pipeline orchestrates the build process
- SnakeBridge.Compiler.IntrospectionRunner handles Python introspection
- Mix task delegates to Pipeline instead of containing logic
Generator subsystem split into:
- SnakeBridge.Generator.Function for function rendering
- SnakeBridge.Generator.Class for class rendering
- SnakeBridge.Generator coordinates output assembly
Runtime subsystem modularized as:
- SnakeBridge.Runtime.Payload for wire protocol construction
- SnakeBridge.Runtime.SessionResolver for session ID resolution
- SnakeBridge.Runtime.Streamer for streaming operations
Additional changes:
- run_as_script/2 now ensures application started before callback
- Examples runner uses --no-start flag with explicit app startup
- All example documentation updated with correct invocation
No breaking changes to public API. All existing functionality preserved.