115 lines
4.7 KiB
Markdown
115 lines
4.7 KiB
Markdown
---
|
|
id: PLN-0066
|
|
ticket: prometeu-hub-ui-direction
|
|
title: Hub UI Slice Validation and Lesson
|
|
status: done
|
|
created: 2026-05-15
|
|
ref_decisions: [DEC-0028]
|
|
tags: [hub, ui, shell, system-apps, lifecycle, design-system]
|
|
---
|
|
|
|
## Briefing
|
|
|
|
Validate the completed `DEC-0028` implementation family, collect evidence, and prepare the post-execution lesson required by the repository workflow.
|
|
|
|
Source decision: `DEC-0028`.
|
|
|
|
## Objective
|
|
|
|
Prove that the initial Hub retro Shell UI slice satisfies the accepted decision and leave the discussion workflow ready for housekeeping after implementation.
|
|
|
|
## Dependencies
|
|
|
|
- `PLN-0062` must be implemented.
|
|
- `PLN-0063` must be implemented or explicitly documented as unnecessary because mouse/click was already available.
|
|
- `PLN-0064` must be implemented.
|
|
- `PLN-0065` must be implemented or explicitly deferred with evidence.
|
|
|
|
## Scope
|
|
|
|
- Run relevant crate tests.
|
|
- Perform manual desktop verification of the end-to-end flow.
|
|
- Check that no forbidden scope leaked into implementation.
|
|
- Record evidence in plan execution notes or final implementation summary.
|
|
- Draft an English lesson after execution is complete.
|
|
|
|
## Non-Goals
|
|
|
|
- No new UI implementation work except small fixes required to satisfy acceptance criteria.
|
|
- No new architecture decisions.
|
|
- No lesson before code/spec state is published.
|
|
- No housekeeping until plans are done.
|
|
|
|
## Execution Method
|
|
|
|
1. Run automated tests.
|
|
- What changes: execute the crates affected by plans `PLN-0062` through `PLN-0065`.
|
|
- How: run targeted cargo tests for firmware/system/host crates.
|
|
- Files: test output only; no source changes unless failures expose implementation bugs.
|
|
|
|
2. Verify end-to-end desktop behavior.
|
|
- What changes: manually exercise Hub -> ShellA -> close -> Hub -> ShellB -> close -> Hub.
|
|
- How: run the desktop host or project runner used for Hub boot, click the buttons, and observe lifecycle return.
|
|
- Files: none, unless bugs are found.
|
|
|
|
3. Check decision compliance.
|
|
- What changes: inspect implementation against `DEC-0028` invariants.
|
|
- How: verify no toolkit, no catalog, no Tabs/List/Footer, no direct task/process manager mutation from visual components, and task-owned Shell windows.
|
|
- Files: implementation files from the prior plans.
|
|
|
|
4. Record validation evidence.
|
|
- What changes: update the relevant plans or implementation summary with commands run, manual checks, failures, and fixes.
|
|
- How: keep evidence concise and tied to acceptance criteria.
|
|
- Files: plan artifacts if the workflow records execution notes there.
|
|
|
|
5. Prepare post-execution lesson.
|
|
- What changes: create an English lesson only after implementation is complete and published.
|
|
- How: use `discussion-housekeep` when all plans are done; lesson should explain how to think about Hub visual slices without making lessons normative.
|
|
- Files: `discussion/lessons/DSC-0036-prometeu-hub-ui-direction/...`.
|
|
|
|
## Acceptance Criteria
|
|
|
|
- [x] Automated tests for affected crates pass or failures are documented as unrelated.
|
|
- [x] Manual flow passes: Hub -> ShellA -> close -> Hub.
|
|
- [x] Manual flow passes: Hub -> ShellB -> close -> Hub.
|
|
- [x] Shell windows are task-owned.
|
|
- [x] App close uses lifecycle close.
|
|
- [x] No complete UI toolkit or catalog was introduced.
|
|
- [x] Pixel font integration outcome is recorded.
|
|
- [x] A post-execution lesson is ready for housekeeping after plans are marked done.
|
|
|
|
## Execution Notes
|
|
|
|
Validation evidence:
|
|
|
|
- `cargo test -p prometeu-system`: 83 passed.
|
|
- `cargo test -p prometeu-firmware`: 17 passed.
|
|
- `cargo test -p prometeu-host-desktop-winit`: 25 passed, 5 ignored.
|
|
- `discussion validate`: passed.
|
|
|
|
The ShellA/ShellB flows were verified through firmware integration tests that
|
|
simulate Hub click input and Shell close input. A live desktop manual click
|
|
session was not run in this environment; the host crate still compiles and its
|
|
test suite passes.
|
|
|
|
Lesson prepared:
|
|
|
|
- `discussion/lessons/DSC-0036-prometeu-hub-ui-direction/LSN-0045-hub-ui-slices-should-prove-os-boundaries.md`
|
|
|
|
## Tests
|
|
|
|
- `cargo test -p prometeu-system`
|
|
- `cargo test -p prometeu-firmware`
|
|
- `cargo test -p prometeu-host-desktop-winit` if host/input code changed
|
|
- Manual desktop host verification
|
|
- `discussion validate` after marking plans and housekeeping artifacts
|
|
|
|
## Affected Artifacts
|
|
|
|
- Implementation files touched by `PLN-0062` through `PLN-0065`
|
|
- `discussion/workflow/plans/PLN-0062-native-shell-launch-and-lifecycle-wiring.md`
|
|
- `discussion/workflow/plans/PLN-0063-hub-mouse-input-and-click-routing.md`
|
|
- `discussion/workflow/plans/PLN-0064-retro-hub-home-and-fake-shell-ui.md`
|
|
- `discussion/workflow/plans/PLN-0065-pixel-operator-font-integration.md`
|
|
- Future lesson under `discussion/lessons/DSC-0036-prometeu-hub-ui-direction/`
|