Files
trail-mate/docs/audits/PHASE6_COMPOSITION_CONFORMANCE_MATRIX.md
T
vicliuandGitHub bf7068b02b 0.1.26-alpha release
* refactor: render chat rows from presentation state

* Fix Meshtastic channel sync and add MeshCore CN preset

* Add granular chat notification settings

* Add SD settings backup and restore

* Prepare 0.1.26-alpha release

---------

Co-authored-by: vicliu624 <vicliu@outlook.com>
2026-05-19 16:04:42 +08:00

61 lines
2.4 KiB
Markdown

# Phase 6 Composition Conformance Matrix
## Purpose
This matrix records the Phase 6 product composition and app shell boundary
status.
A target or boundary is Phase 6-ready when:
- object graph ownership is explicit
- presentation models are assembled outside `ui_presentation`
- app services are not created by renderers
- legacy composition surfaces are documented
- checker coverage prevents new drift
Phase 6-ready does not mean all global state or legacy startup code has been
removed.
## Matrix
| Area | Composition contract | Root or bridge | Presentation binding | Legacy registered | Checker coverage | Status |
| --- | --- | --- | --- | --- | --- | --- |
| Product composition spec | yes | n/a | n/a | n/a | yes | ready |
| `product_composition` contracts | yes | n/a | `PresentationBundle` | n/a | yes | ready |
| Linux simulator | yes | `LinuxSimCompositionRoot` | full `PresentationWorkspace` with fakes | no | yes | ready |
| uConsole GTK/Linux | yes | `UConsoleCompositionRoot` pilot | Chat/Map presentation binding | GTK app state still legacy | yes | ready-with-legacy |
| ESP LVGL | bridge documented | ESP LVGL composition bridge audit | future bridge/root | `AppContext` and app facade runtime | yes | ready-with-legacy |
| AppContext / app facade | bridge documented | `LegacyAppContextBridge` audit | future explicit bundle binding | yes | yes | ready-with-legacy |
| LVGL Chat page runtime | partial | legacy page bridge | Chat/Team presentation models | yes | baseline | ready-with-legacy |
| LVGL GPS/map page runtime | partial | legacy page bridge | Map presentation model | yes | baseline | ready-with-legacy |
| uConsole tile/cache/contour | no pure root yet | legacy app model | Map workspace status only | yes | baseline | ready-with-legacy |
## Status Definitions
### ready
The composition boundary is explicit and has no major unresolved legacy
ownership in the Phase 6 scope.
### ready-with-legacy
The boundary is explicit, but older construction or global lookup remains
documented and guarded by baseline/checker coverage.
### blocked
The boundary is missing or unsafe for Phase 6 exit.
## Phase 6 Exit Interpretation
Phase 6 exits successfully if all areas are either:
- ready
- ready-with-legacy
No area may remain blocked.
The key Phase 6 result is not the removal of all legacy object construction.
The result is that target/app shell composition ownership is now named,
bounded, and automatically checked.