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

3.5 KiB

Phase 9 Fallback Containment Ledger

Phase 9.3 keeps hardcoded routing alive as contained fallback while real runtime entries begin consuming the presentation graph. Fallback presence is acceptable only when the current owner, new path, exit condition, and checker status are explicit.

Fallback Current owner Why fallback remains New path Exit condition Checker status
LinuxSim hardcoded runtime routing final apps/linux_sim_shell runtime entry plus historical simulator runtime the simulator renderer still has old routing available for failed adoption LinuxSimRuntimeEntry -> LinuxSimRuntimeEntryAdoptionProbe -> AsciiRuntimeEntryAdoption simulator renderer no longer needs hardcoded routing fallback-only after Phase 10.1
GTK hardcoded page registry final apps/linux_uconsole_gtk page registry adoption plus historical GTK page registry GTK page switching still owns existing widget creation and page list behavior LinuxUConsoleGtkPageRegistryAdoption -> GtkRuntimeEntryAdoption -> GtkUConsoleScreenGraphPresenter GTK page registry consumes descriptors as primary page source fallback-only after Phase 10.2
LVGL hardcoded menu/page creation modules/ui_lvgl_ux_packs compatibility runtime device-specific LVGL renderers still own menu and screen creation LvglPrimaryScreenGraphRuntime -> LvglRuntimeEntryAdoption -> LvglRuntimeScreenGraphPresenter LVGL renderers consume descriptor runtime before creating menu/page objects fallback-only after Phase 10.3
Chat LegacyDelivery bridges deprecated alias headers in modules/ui_legacy_adapters and modules/ui_shared downstream compatibility include paths may still exist outside main runtime ChatDeliveryActionPortAdapter and ChatDeliveryEventProjectionAdapter in modules/ui_chat_runtime remove alias headers after downstream compatibility includes are gone burned down to deprecated alias
KeyVerification legacy source/sink deprecated alias headers in modules/ui_legacy_adapters and modules/ui_shared downstream compatibility include paths may still exist outside main runtime KeyVerificationPresentationSource, KeyVerificationActionSink, and KeyVerificationSessionAdapter in modules/ui_key_verification_runtime remove alias headers after downstream compatibility includes are gone burned down to deprecated alias
MapOverlay legacy source deprecated alias headers in modules/ui_legacy_adapters and modules/ui_shared downstream compatibility include paths may still exist outside main runtime MapOverlaySnapshotSource and MapOverlayProjectionAdapter in modules/ui_map_runtime remove alias headers after downstream compatibility includes are gone and map renderers consume stable snapshots only burned down to deprecated alias

Phase 9.6 Final Readiness Alignment

The runtime fallbacks that carry into Phase 10 are:

  • LinuxSim hardcoded runtime routing: contained fallback with owner and exit condition; Phase 10 first cut makes AsciiRuntimeEntryAdoption as primary source.
  • GTK hardcoded page registry: contained fallback with owner and exit condition.
  • LVGL hardcoded menu/page creation: contained fallback with owner and exit condition.

The legacy adapter rows are not primary UI fallback rows anymore:

  • Chat LegacyDelivery bridges: main runtime callers removed; deprecated aliases only.
  • KeyVerification legacy source/sink: main runtime callers removed; deprecated aliases only.
  • MapOverlay legacy source: main runtime callers removed; deprecated aliases only.