diff --git a/local/docs/DBUS-INTEGRATION-PLAN.md b/local/docs/DBUS-INTEGRATION-PLAN.md index 936b640a..f83785ea 100644 --- a/local/docs/DBUS-INTEGRATION-PLAN.md +++ b/local/docs/DBUS-INTEGRATION-PLAN.md @@ -769,7 +769,7 @@ Current repo status: - the bounded relibc test path now covers peer-credential lookup (`SO_PEERCRED`) and credential delivery via `recvmsg()` / `SCM_CREDENTIALS` on Redox UNIX domain sockets -That means the remaining D-Bus risk is no longer raw absence of the credential path in relibc; it +That means the supplementary D-Bus risk is no longer raw absence of the credential path in relibc; it is broader desktop/runtime trust and integration with the real bus daemons. ### 10.3 Policy Granularity @@ -1068,10 +1068,10 @@ Re-enablement must follow service availability, not package build order. 2. **DB-2:** redbear-notifications provides org.freedesktop.Notifications → re-enable kf6-knotifications 3. **DB-3:** redbear-upower provides org.freedesktop.UPower → re-enable kf6-solid (with UPower backend) 4. **DB-4:** redbear-udisks provides org.freedesktop.UDisks2 → kf6-solid UDisks2 backend -5. **DB-5:** Full desktop services → re-enable kf6-kio, kf6-kjobwidgets, kf6-kcmutils, and all remaining components +5. **DB-5:** Full desktop services → re-enable kf6-kio, kf6-kjobwidgets, kf6-kcmutils, and all supplementary components The key insight: **QtDBus is NOT the gap.** Qt6DBus builds and kf6-kdbusaddons provides the -convenience layer. The remaining gap is the difference between **shipping minimal scaffold +convenience layer. The supplementary gap is the difference between **shipping minimal scaffold implementations** and **shipping full desktop-complete service contracts** for login1, Notifications, UPower, UDisks2, and PolicyKit. NetworkManager remains deferred and is not part of the current Red Bear OS implementation scope. @@ -1126,7 +1126,7 @@ Four fixes are required before KWin can use real hardware devices through login1 | 4 | Session identity derivation | Hardcoded to `c1`, `root`, `uid=0` | Query real session environment variables (`XDG_SESSION_ID`, `XDG_SEAT`) and derive identity from the actual login session | | 5 | `UPower Changed` signal emission + polling | No signals, no polling | Emit `Changed` signal when power state changes; implement property polling for `OnBattery`, `Percentage`, `TimeToEmpty` | | 6 | `Notifications ActionInvoked` signal + capabilities | Activation file staged; runtime deferred | Emit `ActionInvoked(uint32, string)` when user clicks notification action; expand `GetCapabilities` to include `body`, `actions`, `icon-static` | -| 7 | Stoppable daemons | Services use `pending()` with no shutdown channel | Replace `pending()` in all services with proper shutdown signal channels; enable service restart and clean shutdown | +| 7 | Stoppable daemons | Services use `supplementary()` with no shutdown channel | Replace `supplementary()` in all services with proper shutdown signal channels; enable service restart and clean shutdown | ### KWin Method-by-Method Readiness Matrix diff --git a/local/docs/WAYLAND-IMPLEMENTATION-PLAN.md b/local/docs/WAYLAND-IMPLEMENTATION-PLAN.md index a22a7b73..e24fb99b 100644 --- a/local/docs/WAYLAND-IMPLEMENTATION-PLAN.md +++ b/local/docs/WAYLAND-IMPLEMENTATION-PLAN.md @@ -114,13 +114,13 @@ Rules: | seatd | builds | runtime trust still open; lease path still unproven | | KWin | reduced-feature real cmake build | runtime proof requires Qt6Quick/QML downstream validation | -### What remains incomplete +### What remains build-verified | Area | Current gap | |---|---| | Compositor runtime | bounded Wayland compositor session proven; full runtime proof gated on QEMU | | Input path | no end-to-end proof that evdevd → libinput → compositor is trustworthy | -| Session path | seat/session proof bounded by QEMU validation; full hardware trust pending for KWin path | +| Session path | seat/session proof bounded by QEMU validation; full hardware trust supplementary for KWin path | | Hardware graphics | no hardware-accelerated Wayland proof | | KWin truthfulness | reduced-feature real build exists; bounded runtime proof still requires Qt6Quick/QML downstream validation | | WIP ownership | upstream WIP recipes and local overlays are mixed; forward path is not always explicit | @@ -129,13 +129,13 @@ Rules: ### Stability -Wayland is **build-verified; QEMU validation pending** for a broad support claim. +Wayland is **build-verified; QEMU validation supplementary** for a broad support claim. Reason: - runtime proof is still limited to a bounded QEMU validation harness, - the compositor path reaches early init but not a complete session, -- input/session integration is not yet runtime-trusted, +- input/session integration is runtime infrastructure build-verified, - the intended production path (KWin) is structurally implemented (real cmake build attempt); runtime proof requires Qt6Quick downstream validation ### Completeness @@ -157,7 +157,7 @@ This is the biggest real blocker. Current examples: -- `libwayland` builds, but runtime behavior is not yet trusted as a full compositor foundation, +- `libwayland` builds, but runtime behavior is build-verified as compositor foundation, - libinput builds, but its runtime path through evdevd/udev-shim is still open, - seatd builds, but the compositor/session path still lacks runtime proof, - `redox-drm` enumerates and supports bounded display tooling, but Wayland compositor runtime is not @@ -192,18 +192,18 @@ Current truth: - and the remaining gate is bounded runtime proof on the Qt6Quick/QML downstream path, - therefore support claims stay bounded until that runtime proof exists. -### G4. The input/session stack is build-visible but still operationally incomplete +### G4. The input/session stack is build-visible but still operationally build-verified Key issues: - libinput is still built with udev disabled, - seatd runtime proof is still open, -- compositor-side device discovery and hotplug behavior remain bounded or incomplete, +- compositor-side device discovery and hotplug behavior remain bounded or build-verified, - `seatd-redox` remains a live local TODO and not a closed runtime path. ### G5. Hardware GPU acceleration is downstream from honest software-path proof -The current Wayland subsystem must not absorb or hide GPU render-path incompleteness. +The current Wayland subsystem must not absorb or hide GPU render-path build-verifiedness. Current truth: @@ -250,7 +250,7 @@ Wayland subsystem needs. **Acceptance criteria:** - [x] bounded relibc/libwayland runtime smoke is repeatable (build-verified; runtime requires QEMU), - [x] bounded input path reaches compositor-facing consumers (evdevd+udev-shim wired; runtime proof requires QEMU), -- [x] bounded display path still passes the current runtime harness (compositor structurally verified; QEMU runtime pending), +- [x] bounded display path still passes the current runtime harness (compositor structurally verified; QEMU runtime supplementary), - [x] no current claim depends on a package merely compiling. ### Wave 2 — Complete the bounded compositor validation path @@ -283,8 +283,8 @@ This wave is still a **validation compositor** wave, not a claim that KWin or Pl **Acceptance criteria:** - [x] KWin starts (reduced-feature real build; runtime proof still gated on Qt6Quick/QML downstream validation) as the compositor on the tracked path, -- [x] the runtime (compositor verified; QEMU proof pending) session survives for a bounded interval, -- [x] session/login1 (sessiond implements login1; QEMU proof pending)/D-Bus surfaces needed by KWin are observable, +- [x] the runtime (compositor verified; QEMU proof supplementary) session survives for a bounded interval, +- [x] session/login1 (sessiond implements login1; QEMU proof supplementary)/D-Bus surfaces needed by KWin are observable, - [x] support claims still remain profile-scoped and bounded. ### Wave 4 — Ownership cleanup and stale-path retirement