2.9 KiB
2.9 KiB
| id | ticket | title | status | created | ref_decisions | tags | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| PLN-0052 | system-os-service-ownership-and-module-layout | Promote Window Manager To SystemOS Service | done | 2026-05-14 |
|
|
Briefing
Promote WindowManager from a PrometeuHub private module into an OS service
owned or mediated by SystemOS, as required by DEC-0024.
Source Decisions
DEC-0024:WindowManagerSHALL move to the services tree and SHALL be owned or mediated bySystemOS;PrometeuHubMUST NOT own it as an OS service.
Target
Make WindowManager part of the services tree and stop treating
PrometeuHub as the owner of window management.
Dependencies
- Source decision:
DEC-0024. - Depends on
PLN-0051only for the general service layout convention.
Scope
- Move
crates/console/prometeu-system/src/programs/prometeu_hub/window_manager.rsinto theservicestree. - Expose the service from
crates/console/prometeu-system/src/services/mod.rs. - Add a
WindowManagerfield or OS-mediated access path onSystemOS. - Remove
window_managerownership fromPrometeuHub. - Update
PrometeuHubto access window management throughSystemOS. - Update tests and imports directly.
Out of Scope
- Do not implement new windowing behavior.
- Do not define surface/window lifecycle beyond the existing minimal behavior.
- Do not introduce old-path compatibility reexports.
- Do not change task/process lifecycle semantics.
Execution Plan
- Move the
WindowManagermodule intosrc/services/. - Register the new service module in
services/mod.rs. - Add
WindowManagerinitialization toSystemOS::new. - Remove
WindowManagerstorage fromPrometeuHub. - Update Hub methods so their window manager access is mediated by
SystemOS. - Update tests for the new module path and ownership location.
- Run formatting and the affected tests.
Acceptance Criteria
WindowManagerno longer lives underprograms/prometeu_hub.PrometeuHubdoes not own aWindowManagerfield.SystemOSowns or mediates access toWindowManager.- No old
programs::prometeu_hub::window_managerpath remains available. - Existing Hub behavior remains unchanged.
Tests / Validation
- Run
cargo test -p prometeu-system. - Include any focused tests for
WindowManagerafter the move.
Risks
PrometeuHubcurrently owns itsWindowManager; moving ownership may require method signatures to pass throughSystemOScleanly.- The implementation must not accidentally introduce new window/surface semantics while moving ownership.
Affected Artifacts
crates/console/prometeu-system/src/programs/prometeu_hub/mod.rscrates/console/prometeu-system/src/programs/prometeu_hub/prometeu_hub.rscrates/console/prometeu-system/src/services/mod.rscrates/console/prometeu-system/src/services/window_manager.rsor equivalentcrates/console/prometeu-system/src/os/system_os.rs