Files
trail-mate/docs/audits/PHASE6_COMPOSITION_CONFORMANCE_MATRIX.md
T
vicliu 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

2.4 KiB

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.