--- id: PLN-0100 ticket: real-render-worker-establishment title: Migrate Local Render Publication to RenderSubmissionSink status: done created: 2026-06-06 completed: ref_decisions: [DEC-0032] tags: [runtime, renderer, platform] --- ## Objective Move local render publication call sites from `HardwareBridge::publish_render_submission` to `RenderSubmissionSink`. ## Background The sink must become the publication boundary before a real worker can replace the local path. Runtime, firmware, and Hub currently publish through the monolithic bridge. ## Scope ### Included - Runtime local render surface uses `RenderSubmissionSink`. - Firmware splash/crash publication uses the sink. - Hub Shell UI publication uses the sink or a temporary adapter. ### Excluded - Do not remove `HardwareBridge`. - Do not migrate non-render domains. - Do not change command buffering semantics yet. ## Execution Steps ### Step 1 - Adapt runtime tick publication **What:** Replace `HardwareRenderSurface` dependency on `HardwareBridge::publish_render_submission`. **How:** Route submission through `RenderSubmissionSink`. **File(s):** `crates/console/prometeu-system/src/services/vm_runtime/tick.rs`. ### Step 2 - Adapt firmware and Hub publication **What:** Stop direct calls to `hw.publish_render_submission`. **How:** Use the sink through explicit platform/render facade access or temporary adapter. **File(s):** `crates/console/prometeu-firmware/src/firmware_step_splash_screen.rs`, `crates/console/prometeu-firmware/src/firmware_step_crash_screen.rs`, `crates/console/prometeu-system/src/programs/prometeu_hub/prometeu_hub.rs`. ### Step 3 - Update tests **What:** Adjust tests that call `HardwareBridge::publish_render_submission`. **How:** Use `RenderSubmissionSink` where render publication is the target. **File(s):** `crates/console/prometeu-system/src/services/vm_runtime/tests.rs`, driver tests. ## Test Requirements ### Unit Tests - Existing render manager tests pass. ### Integration Tests - `cargo test -p prometeu-system -p prometeu-firmware -p prometeu-drivers`. ### Manual Verification - `rg "publish_render_submission" crates/console` shows only legacy implementation or intentionally unmigrated scaffold. ## Acceptance Criteria - [ ] Runtime publication uses `RenderSubmissionSink`. - [ ] Firmware/Hub publication no longer depend directly on the monolithic bridge. - [ ] Tests pass. ## Dependencies - `PLN-0099`. ## Risks - Firmware code may need a small context shape change. Keep compatibility adapters temporary and explicit.