docs: add full dbus-next migration plan to eliminate architectural impedance mismatch

This commit is contained in:
Joe Particle 2025-07-16 20:47:31 +00:00
parent 826bc0be93
commit 865d7477b6
2 changed files with 20 additions and 1 deletions

18
TODO.md
View file

@ -153,6 +153,24 @@
## Next Phase 🎯
### Full dbus-next Migration & Architecture Decoupling (PLANNED)
- 🎯 **Phase 1: Foundation & Core Decoupling**
- Create centralized `AptOstreeDaemon` class with pure Python logic (no D-Bus dependencies)
- Consolidate D-Bus setup in main entry point (`apt_ostree_new.py` or similar)
- Refine `interface_simple.py` to pure D-Bus interface definitions using `dbus-next`
- Eliminate circular imports and architectural impedance mismatch
- 🎯 **Phase 2: Implementing dbus-next Correctly & Decoupling Logic**
- Implement all D-Bus properties using `@dbus_property` decorators
- Correctly define and emit D-Bus signals using `@signal()` and `.emit()`
- Integrate progress callbacks into `ShellIntegration` for real-time updates
- Refactor methods for proper asynchronous operations with `asyncio`
- Remove all legacy `dbus-python` code and hybrid patterns
- 🎯 **Phase 3: Testing & Cleanup**
- Implement comprehensive integration tests using `dbus-next` as client
- Service activation, introspection, method call, and signal monitoring tests
- Remove obsolete code and legacy D-Bus interfaces
- Establish clean, maintainable architecture for future development
### Production Readiness
- ✅ **Systemd Integration**: Complete systemd service file and unit configuration
- Service file with security hardening and OSTree integration

View file

@ -1,2 +1,3 @@
## [Unreleased]
- D-Bus signal emission implemented: TransactionProgress, PropertyChanged, and StatusChanged signals are now emitted from interface_simple.py for all relevant methods (InstallPackages, RemovePackages, Deploy, Upgrade, Rollback, GetStatus).
- D-Bus signal emission implemented: TransactionProgress, PropertyChanged, and StatusChanged signals are now emitted from interface_simple.py for all relevant methods (InstallPackages, RemovePackages, Deploy, Upgrade, Rollback, GetStatus).
- **PLANNED: Full dbus-next Migration & Architecture Decoupling** - Comprehensive plan to eliminate hybrid dbus-python/dbus-next architecture, establish clean separation of concerns, and create maintainable D-Bus interface using modern async patterns.