From 801a2e3ffb8d198f753af8ff08e9abcc7ea674b4 Mon Sep 17 00:00:00 2001 From: liu weikai Date: Sat, 13 Jun 2026 12:02:17 +0800 Subject: [PATCH] Burn down legacy alias include surface --- apps/esp32_lvgl/library.json | 4 - apps/linux_sim_shell/CMakeLists.txt | 38 ---- cmake/TrailMateLinuxSources.cmake | 6 - .../CHAT_LEGACY_DELIVERY_BURN_DOWN_AUDIT.md | 23 ++- ...TION_MAP_OVERLAY_LEGACY_BURN_DOWN_AUDIT.md | 52 +++--- docs/audits/LEGACY_BURNDOWN_REGISTER.md | 24 +-- .../PHASE12_DEPRECATED_ALIAS_CLEANUP_PLAN.md | 26 +-- .../PHASE12_FALLBACK_DELETION_READINESS.md | 20 +-- .../PHASE9_FALLBACK_CONTAINMENT_LEDGER.md | 18 +- docs/audits/PHASE9_FINAL_READINESS_REPORT.md | 12 +- docs/audits/PHASE9_LEGACY_BURNDOWN_REPORT.md | 27 ++- .../POST_REFACTOR_FINAL_CLOSEOUT_REPORT.md | 4 +- modules/ui_legacy_adapters/README.md | 20 ++- .../legacy_chat_delivery_action_bridge.h | 13 -- .../legacy_key_verification_action_sink.h | 12 -- .../legacy_key_verification_session.h | 12 -- .../legacy_key_verification_source.h | 12 -- .../legacy_map_overlay_source.h | 17 -- modules/ui_legacy_adapters/library.json | 30 +--- ...at_delivery_action_bridge_legacy_alias.cpp | 12 -- ...key_verification_adapters_legacy_alias.cpp | 22 --- ...legacy_map_overlay_source_legacy_alias.cpp | 20 --- .../legacy_chat_delivery_action_bridge.h | 13 -- .../legacy_key_verification_action_sink.h | 12 -- .../legacy_key_verification_session.h | 12 -- .../legacy_key_verification_source.h | 12 -- .../legacy_map_overlay_source.h | 17 -- modules/ui_shared/library.json | 4 - platform/esp/arduino_common/library.json | 1 - .../check_phase7_runtime_ownership_ready.py | 62 +------ .../architecture/check_phase8_layout_ready.py | 37 ---- .../architecture/check_phase9_final_ready.py | 27 ++- .../check_phase9_legacy_burndown_ready.py | 166 +++++------------- .../check_post_refactor_final_ready.py | 17 +- 34 files changed, 189 insertions(+), 615 deletions(-) delete mode 100644 modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_chat_delivery_action_bridge.h delete mode 100644 modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_action_sink.h delete mode 100644 modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_session.h delete mode 100644 modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_source.h delete mode 100644 modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_map_overlay_source.h delete mode 100644 modules/ui_legacy_adapters/tests/test_legacy_chat_delivery_action_bridge_legacy_alias.cpp delete mode 100644 modules/ui_legacy_adapters/tests/test_legacy_key_verification_adapters_legacy_alias.cpp delete mode 100644 modules/ui_legacy_adapters/tests/test_legacy_map_overlay_source_legacy_alias.cpp delete mode 100644 modules/ui_shared/include/ui/presentation_sources/legacy_chat_delivery_action_bridge.h delete mode 100644 modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_action_sink.h delete mode 100644 modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_session.h delete mode 100644 modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_source.h delete mode 100644 modules/ui_shared/include/ui/presentation_sources/legacy_map_overlay_source.h diff --git a/apps/esp32_lvgl/library.json b/apps/esp32_lvgl/library.json index 6cd5a3b2..3185b9a5 100644 --- a/apps/esp32_lvgl/library.json +++ b/apps/esp32_lvgl/library.json @@ -30,7 +30,6 @@ "-I../../modules/ui_chat_runtime/include", "-I../../modules/ui_map_runtime/include", "-I../../modules/ui_gps_runtime/include", - "-I../../modules/ui_legacy_adapters/include", "-I../../modules/ui_lvgl_core/include", "-I../../modules/ui_lvgl_ux_packs/include", "-I../../platform/esp/arduino_common/include", @@ -59,9 +58,6 @@ { "name": "ui_gps_runtime" }, - { - "name": "ui_legacy_adapters" - }, { "name": "ui_lvgl_core" }, diff --git a/apps/linux_sim_shell/CMakeLists.txt b/apps/linux_sim_shell/CMakeLists.txt index bb9bcf09..38b4c20f 100644 --- a/apps/linux_sim_shell/CMakeLists.txt +++ b/apps/linux_sim_shell/CMakeLists.txt @@ -97,19 +97,6 @@ if(BUILD_TESTING) add_test(NAME trailmate_ascii_descriptor_renderer_smoke COMMAND trailmate_ascii_descriptor_renderer_smoke) - add_executable(trailmate_legacy_chat_delivery_action_bridge_alias_smoke - "${TRAIL_MATE_REPO_ROOT}/modules/ui_legacy_adapters/tests/test_legacy_chat_delivery_action_bridge_legacy_alias.cpp") - target_include_directories(trailmate_legacy_chat_delivery_action_bridge_alias_smoke - PRIVATE - "${TRAIL_MATE_REPO_ROOT}/modules/ui_legacy_adapters/include" - "${TRAIL_MATE_REPO_ROOT}/modules/ui_chat_runtime/include" - "${TRAIL_MATE_REPO_ROOT}/modules/ui_presentation/include" - "${TRAIL_MATE_REPO_ROOT}/modules/core_chat/include") - target_compile_features(trailmate_legacy_chat_delivery_action_bridge_alias_smoke - PRIVATE cxx_std_17) - add_test(NAME trailmate_legacy_chat_delivery_action_bridge_alias_smoke - COMMAND trailmate_legacy_chat_delivery_action_bridge_alias_smoke) - add_executable(trailmate_chat_presentation_source_smoke "${TRAIL_MATE_REPO_ROOT}/modules/ui_shared/tests/test_chat_presentation_source.cpp" "${TRAIL_MATE_REPO_ROOT}/modules/core_chat/src/domain/chat_model.cpp" @@ -241,19 +228,6 @@ if(BUILD_TESTING) add_test(NAME trailmate_key_verification_runtime_adapters_smoke COMMAND trailmate_key_verification_runtime_adapters_smoke) - add_executable(trailmate_legacy_key_verification_adapters_alias_smoke - "${TRAIL_MATE_REPO_ROOT}/modules/ui_legacy_adapters/tests/test_legacy_key_verification_adapters_legacy_alias.cpp") - target_include_directories(trailmate_legacy_key_verification_adapters_alias_smoke - PRIVATE - "${TRAIL_MATE_REPO_ROOT}/modules/ui_legacy_adapters/include" - "${TRAIL_MATE_REPO_ROOT}/modules/ui_key_verification_runtime/include" - "${TRAIL_MATE_REPO_ROOT}/modules/ui_presentation/include" - "${TRAIL_MATE_REPO_ROOT}/modules/core_chat/include") - target_compile_features(trailmate_legacy_key_verification_adapters_alias_smoke - PRIVATE cxx_std_17) - add_test(NAME trailmate_legacy_key_verification_adapters_alias_smoke - COMMAND trailmate_legacy_key_verification_adapters_alias_smoke) - add_executable(trailmate_map_overlay_snapshot_source_smoke "${TRAIL_MATE_REPO_ROOT}/modules/ui_map_runtime/tests/test_map_overlay_snapshot_source.cpp" "${TRAIL_MATE_REPO_ROOT}/modules/ui_map_runtime/src/map_overlay_snapshot_source.cpp" @@ -284,18 +258,6 @@ if(BUILD_TESTING) add_test(NAME trailmate_runtime_map_presentation_adapters_smoke COMMAND trailmate_runtime_map_presentation_adapters_smoke) - add_executable(trailmate_legacy_map_overlay_source_alias_smoke - "${TRAIL_MATE_REPO_ROOT}/modules/ui_legacy_adapters/tests/test_legacy_map_overlay_source_legacy_alias.cpp") - target_include_directories(trailmate_legacy_map_overlay_source_alias_smoke - PRIVATE - "${TRAIL_MATE_REPO_ROOT}/modules/ui_legacy_adapters/include" - "${TRAIL_MATE_REPO_ROOT}/modules/ui_map_runtime/include" - "${TRAIL_MATE_REPO_ROOT}/modules/ui_presentation/include") - target_compile_features(trailmate_legacy_map_overlay_source_alias_smoke - PRIVATE cxx_std_17) - add_test(NAME trailmate_legacy_map_overlay_source_alias_smoke - COMMAND trailmate_legacy_map_overlay_source_alias_smoke) - add_executable(trailmate_ui_presentation_screen_binding_registry_smoke "${TRAIL_MATE_REPO_ROOT}/modules/ui_presentation/tests/test_screen_binding_registry.cpp") target_link_libraries(trailmate_ui_presentation_screen_binding_registry_smoke diff --git a/cmake/TrailMateLinuxSources.cmake b/cmake/TrailMateLinuxSources.cmake index 8ee2a2d7..ae17d3fa 100644 --- a/cmake/TrailMateLinuxSources.cmake +++ b/cmake/TrailMateLinuxSources.cmake @@ -99,12 +99,6 @@ function(_trailmate_set_linux_paths) set(TRAIL_MATE_UI_GPS_RUNTIME_SRC_ROOT "${TRAIL_MATE_REPO_ROOT}/modules/ui_gps_runtime/src" PARENT_SCOPE) - set(TRAIL_MATE_UI_LEGACY_ADAPTERS_INCLUDE_ROOT - "${TRAIL_MATE_REPO_ROOT}/modules/ui_legacy_adapters/include" - PARENT_SCOPE) - set(TRAIL_MATE_UI_LEGACY_ADAPTERS_SRC_ROOT - "${TRAIL_MATE_REPO_ROOT}/modules/ui_legacy_adapters/src" - PARENT_SCOPE) set(TRAIL_MATE_UI_LVGL_CORE_INCLUDE_ROOT "${TRAIL_MATE_REPO_ROOT}/modules/ui_lvgl_core/include" PARENT_SCOPE) diff --git a/docs/audits/CHAT_LEGACY_DELIVERY_BURN_DOWN_AUDIT.md b/docs/audits/CHAT_LEGACY_DELIVERY_BURN_DOWN_AUDIT.md index 7f61749b..32e0dc87 100644 --- a/docs/audits/CHAT_LEGACY_DELIVERY_BURN_DOWN_AUDIT.md +++ b/docs/audits/CHAT_LEGACY_DELIVERY_BURN_DOWN_AUDIT.md @@ -24,27 +24,27 @@ Their responsibilities are now owned by `ChatDeliveryMessageProjection` and | Chat delivery event port | Runtime/UI event sink for projected delivery events | formalized as `ui_chat_runtime::IChatDeliveryEventPort` | | Chat delivery action adapter | Compatibility mapping from UI `MessageRef` to delivery action request | owned by `ui_chat_runtime::ChatDeliveryActionPortAdapter` | | Chat delivery event projection adapter | Compatibility mapping from send-result/ACK events to delivery projection | owned by `ui_chat_runtime::ChatDeliveryEventProjectionAdapter` | -| Legacy UI bridge headers | Downstream source compatibility only | action bridge remains a deprecated forwarding alias; event bridge is deleted | +| Legacy UI bridge headers | Historical compatibility surface | action and event bridge headers are removed from the active build include surface | ## LegacyChatDeliveryActionBridge | Field | Value | | --- | --- | -| Current compatibility header | `modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_chat_delivery_action_bridge.h` | +| Current compatibility header | removed from active build include surface | | Former implementation source | `modules/ui_legacy_adapters/src/legacy_chat_delivery_action_bridge.cpp` | | Current source status | removed; no real implementation remains under `ui_legacy_adapters/src` | -| Current callers | no main runtime callers; only legacy alias compatibility tests and documentation references | +| Current callers | no main runtime callers; documentation references only | | Replacement | `modules/ui_chat_runtime/include/ui_chat_runtime/chat_delivery_action_port_adapter.h` and `modules/ui_chat_runtime/src/chat_delivery_action_port_adapter.cpp` | | Port | `modules/ui_chat_runtime/include/ui_chat_runtime/chat_delivery_action_port.h` | -| Migration decision | main runtime code includes `ui_chat_runtime/chat_delivery_action_port_adapter.h`; the old header is a deprecated alias only | +| Migration decision | main runtime code includes `ui_chat_runtime/chat_delivery_action_port_adapter.h`; the old header path is not build-visible | Caller classification: | Caller class | Status | | --- | --- | | Main runtime caller | migrated to `ChatDeliveryActionPortAdapter` | -| Test caller | `test_chat_delivery_action_port_adapter.cpp` tests the real adapter; `test_legacy_chat_delivery_action_bridge_legacy_alias.cpp` tests compatibility alias only | -| Forwarding header | old `ui_legacy_adapters` and `ui_shared` compatibility headers alias the stable adapter | +| Test caller | `test_chat_delivery_action_port_adapter.cpp` tests the real adapter | +| Forwarding header | removed from `ui_legacy_adapters` and `ui_shared` | | Audit/doc reference | allowed for burn-down history and removal planning | ## LegacyChatDeliveryEventBridge @@ -75,14 +75,13 @@ The main runtime path now uses stable headers: - `ui_chat_runtime/chat_delivery_action_port_adapter.h` - `ui_chat_runtime/chat_delivery_event_projection_adapter.h` -The following direct include is forbidden outside compatibility alias tests and -forwarding headers: +The following direct includes are forbidden: - `ui_legacy_adapters/legacy_chat_delivery_action_bridge.h` +- `ui/presentation_sources/legacy_chat_delivery_action_bridge.h` ## Removal Condition -The remaining action legacy headers may be deleted after downstream consumers -no longer include either compatibility path. Until then, they must stay -forwarding-only aliases and must not regain implementation logic. The event -bridge compatibility path is already removed. +The action and event legacy headers are removed from the active build include +surface. Downstream users must migrate to `ui_chat_runtime` headers rather than +reintroducing forwarding aliases. diff --git a/docs/audits/KEY_VERIFICATION_MAP_OVERLAY_LEGACY_BURN_DOWN_AUDIT.md b/docs/audits/KEY_VERIFICATION_MAP_OVERLAY_LEGACY_BURN_DOWN_AUDIT.md index 20917275..3a08bee8 100644 --- a/docs/audits/KEY_VERIFICATION_MAP_OVERLAY_LEGACY_BURN_DOWN_AUDIT.md +++ b/docs/audits/KEY_VERIFICATION_MAP_OVERLAY_LEGACY_BURN_DOWN_AUDIT.md @@ -5,7 +5,7 @@ Phase 9.5 burns down the remaining key verification and map overlay legacy presentation adapters from main runtime ownership. The goal is not to move these surfaces under `legacy/`; the goal is to make stable runtime modules the real -owners and leave old `Legacy*` headers as deprecated compatibility aliases only. +owners and remove old `Legacy*` headers from the active build include surface. Audit fields intentionally include current callers, main runtime callers, test callers, docs references, replacement, and migration decision for each legacy surface. @@ -14,61 +14,61 @@ docs references, replacement, and migration decision for each legacy surface. | Field | Value | | --- | --- | -| Current compatibility header | `modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_session.h` | +| Current compatibility header | removed from active build include surface | | Former compatibility header | `modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_session.h` | -| Current implementation source | none; deprecated alias only | +| Current implementation source | none; runtime session adapter owns the state | | Former implementation source | session state was embedded in the legacy key verification adapter implementation | -| Current callers | deprecated alias headers and `test_legacy_key_verification_adapters_legacy_alias.cpp` only | +| Current callers | documentation references only | | Main runtime callers | none | -| Test callers | legacy alias smoke only | +| Test callers | runtime adapter tests only | | Docs references | historical Phase 7/8 audits and this burn-down audit | | Replacement | `ui_key_verification_runtime::KeyVerificationSessionAdapter` | -| Migration decision | main runtime owns the stable session adapter name directly; old headers forward to it with `[[deprecated]]` | +| Migration decision | main runtime owns the stable session adapter name directly; old headers are not build-visible | ## LegacyKeyVerificationSource | Field | Value | | --- | --- | -| Current compatibility header | `modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_source.h` | +| Current compatibility header | removed from active build include surface | | Former compatibility header | `modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_source.h` | | Current implementation source | `modules/ui_key_verification_runtime/src/key_verification_presentation_source.cpp` | | Former implementation source | `modules/ui_legacy_adapters/src/legacy_key_verification_source.cpp` | -| Current callers | main runtime includes `ui_key_verification_runtime/key_verification_presentation_source.h`; legacy alias headers/tests only use the old name | +| Current callers | main runtime includes `ui_key_verification_runtime/key_verification_presentation_source.h`; docs may mention the old name historically | | Main runtime callers | `modules/ui_shared/src/ui/screens/chat/chat_page_runtime.cpp` and `modules/ui_chat_runtime/src/chat_page_runtime_event_pump.cpp` use `KeyVerificationPresentationSource` | -| Test callers | `modules/ui_key_verification_runtime/tests/test_key_verification_runtime_adapters.cpp`; legacy alias smoke remains for compatibility | +| Test callers | `modules/ui_key_verification_runtime/tests/test_key_verification_runtime_adapters.cpp` | | Docs references | historical Phase 7/8 audits and this burn-down audit | | Replacement | `ui_key_verification_runtime::KeyVerificationPresentationSource` implementing `IKeyVerificationPresentationSource` | -| Migration decision | event pump and chat runtime consume the stable presentation source; old header is a deprecated alias | +| Migration decision | event pump and chat runtime consume the stable presentation source; old header is not build-visible | ## LegacyKeyVerificationActionSink | Field | Value | | --- | --- | -| Current compatibility header | `modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_action_sink.h` | +| Current compatibility header | removed from active build include surface | | Former compatibility header | `modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_action_sink.h` | | Current implementation source | `modules/ui_key_verification_runtime/src/key_verification_action_sink.cpp` | | Former implementation source | `modules/ui_legacy_adapters/src/legacy_key_verification_action_sink.cpp` | -| Current callers | main runtime includes `ui_key_verification_runtime/key_verification_action_sink.h`; legacy alias headers/tests only use the old name | +| Current callers | main runtime includes `ui_key_verification_runtime/key_verification_action_sink.h`; docs may mention the old name historically | | Main runtime callers | `modules/ui_shared/src/ui/screens/chat/chat_page_runtime.cpp` uses `KeyVerificationActionSink` | -| Test callers | `modules/ui_key_verification_runtime/tests/test_key_verification_runtime_adapters.cpp`; legacy alias smoke remains for compatibility | +| Test callers | `modules/ui_key_verification_runtime/tests/test_key_verification_runtime_adapters.cpp` | | Docs references | historical Phase 7/8 audits and this burn-down audit | | Replacement | `ui_key_verification_runtime::KeyVerificationActionSink` implementing `IKeyVerificationActionSink` | -| Migration decision | key verification actions go through the stable command sink; old header is a deprecated alias | +| Migration decision | key verification actions go through the stable command sink; old header is not build-visible | ## LegacyMapOverlaySource | Field | Value | | --- | --- | -| Current compatibility header | `modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_map_overlay_source.h` | +| Current compatibility header | removed from active build include surface | | Former compatibility header | `modules/ui_shared/include/ui/presentation_sources/legacy_map_overlay_source.h` | | Current implementation source | `modules/ui_map_runtime/src/map_overlay_snapshot_source.cpp` | | Former implementation source | `modules/ui_legacy_adapters/src/legacy_map_overlay_source.cpp` | -| Current callers | main runtime includes `ui_map_runtime/map_overlay_snapshot_source.h`; legacy alias headers/tests only use the old name | +| Current callers | main runtime includes `ui_map_runtime/map_overlay_snapshot_source.h`; docs may mention the old name historically | | Main runtime callers | `modules/ui_shared/src/ui/screens/gps/gps_page_runtime.cpp` uses `MapOverlaySnapshotSource` | -| Test callers | `modules/ui_map_runtime/tests/test_map_overlay_snapshot_source.cpp`; legacy alias smoke remains for compatibility | +| Test callers | `modules/ui_map_runtime/tests/test_map_overlay_snapshot_source.cpp` | | Docs references | historical Phase 7/8 audits and this burn-down audit | | Replacement | `ui::map_overlay::MapOverlaySnapshotSource` and `ui::map_overlay::MapOverlayProjectionAdapter` | -| Migration decision | GPS/map runtime consumes the stable snapshot source; old header is a deprecated alias | +| Migration decision | GPS/map runtime consumes the stable snapshot source; old header is not build-visible | ## Caller Classification @@ -78,18 +78,14 @@ Main runtime callers were migrated to stable owners: - `chat_page_runtime_event_pump.*` uses `KeyVerificationPresentationSource`. - `gps_page_runtime.cpp` uses `MapOverlaySnapshotSource`. -Compatibility callers are intentionally limited: - -- `test_legacy_key_verification_adapters_legacy_alias.cpp` -- `test_legacy_map_overlay_source_legacy_alias.cpp` -- deprecated alias headers under `modules/ui_legacy_adapters/include` -- deprecated alias headers under `modules/ui_shared/include/ui/presentation_sources` +Compatibility callers are not build-visible. The old names are historical doc +references only; tests use runtime headers directly. ## Burn-down Decision The old `LegacyKeyVerification*` and `LegacyMapOverlaySource` names are no -longer runtime owners. They remain only as compatibility aliases so downstream -includes fail softly while the main runtime graph uses stable module names. +longer runtime owners. Their alias build include surface is removed; the main +runtime graph uses stable module names. ## Checker Decision @@ -97,10 +93,8 @@ includes fail softly while the main runtime graph uses stable module names. - main-code includes of the old key verification and map overlay legacy headers - old key verification or map overlay legacy implementation sources in build lists -- legacy headers that contain real implementation logic +- legacy alias headers or tests returning to the build include surface It may allow: -- deprecated forwarding aliases -- legacy alias smoke tests - historical docs references diff --git a/docs/audits/LEGACY_BURNDOWN_REGISTER.md b/docs/audits/LEGACY_BURNDOWN_REGISTER.md index 81c7b9f9..90177942 100644 --- a/docs/audits/LEGACY_BURNDOWN_REGISTER.md +++ b/docs/audits/LEGACY_BURNDOWN_REGISTER.md @@ -16,10 +16,10 @@ A legacy surface may remain temporarily only if it has: | Legacy surface | New owner | Remaining callers | Removal condition | Target phase | Status | | --- | --- | --- | --- | --- | --- | -| `LegacyChatDeliveryActionBridge` | `ChatDeliveryActionPortAdapter` / `IChatDeliveryActionPort` | no main runtime callers; deprecated alias headers and legacy alias tests only | remove alias headers after downstream includes of `LegacyChatDeliveryActionBridge` are gone | 9.4 | burned-down to deprecated alias | +| `LegacyChatDeliveryActionBridge` | `ChatDeliveryActionPortAdapter` / `IChatDeliveryActionPort` | no main runtime callers; alias headers and alias tests removed from build include surface | keep runtime headers as the only build-visible API | 9.4 | retired from build include surface | | `LegacyTeamActionBridge` | `TeamActionRuntimeSink` / `TeamActionRequest` / `ITeamActionSink` / Team runtime command port | none; Chat runtime and Contacts compose own `TeamActionRuntimeSink` instances through composition roots | legacy bridge file/class/test removed and renderers/controllers only submit `TeamActionRequest` | Team legacy burn-down | burned-down | -| `LegacyKeyVerificationSource` | `KeyVerificationPresentationSource` / `IKeyVerificationPresentationSource` in `modules/ui_key_verification_runtime` | no main runtime callers; deprecated alias headers and legacy alias tests only | remove alias headers after downstream includes of `LegacyKeyVerificationSource` are gone | 9.5 | burned-down to deprecated alias | -| `LegacyKeyVerificationActionSink` | `KeyVerificationActionSink` / `IKeyVerificationActionSink` in `modules/ui_key_verification_runtime` | no main runtime callers; deprecated alias headers and legacy alias tests only | remove alias headers after downstream includes of `LegacyKeyVerificationActionSink` are gone | 9.5 | burned-down to deprecated alias | +| `LegacyKeyVerificationSource` | `KeyVerificationPresentationSource` / `IKeyVerificationPresentationSource` in `modules/ui_key_verification_runtime` | no main runtime callers; alias headers and alias tests removed from build include surface | keep runtime headers as the only build-visible API | 9.5 | retired from build include surface | +| `LegacyKeyVerificationActionSink` | `KeyVerificationActionSink` / `IKeyVerificationActionSink` in `modules/ui_key_verification_runtime` | no main runtime callers; alias headers and alias tests removed from build include surface | keep runtime headers as the only build-visible API | 9.5 | retired from build include surface | | `ChatUiController` key verification modal rendering | `KeyVerificationModalRenderer` helper consumes `KeyVerificationSnapshot` | `ChatUiController` opens/closes modal and forwards submit/trust callbacks | Full modal view object owns widget lifecycle and controller keeps only workflow routing | 7.x | burned-down | | `ChatUiController` Team payload/action send special case | `ChatTeamWorkflow` / `TeamActionRuntimeSink` | None expected for send path; controller delegates Team text/location actions through workflow | Checker forbids `TeamActionRequest`, `sendTeamAction`, payload encoders, and raw `TeamChatMessage` send encoding in controller | Team legacy burn-down | burned-down | | `ChatUiController` delivery mutation | `ChatDeliveryReadModel` / `ChatDeliveryActionService` | None expected; event pump forwards send-result events to `ChatDeliveryEventProjectionAdapter` | Checker forbids direct `ChatDeliveryReadModel`, `ChatDeliveryEventProjector`, and `ChatDeliveryActionService` ownership in controller | 7.6 / 7.7 | burned-down | @@ -40,7 +40,7 @@ A legacy surface may remain temporarily only if it has: | `Map tile path/cache legacy runtime` | `MapTileResolver` / `LegacyFilesystemMapTileSource` / map tile cache owner | Platform LVGL map tile runtimes call source/resolver; ESP decoded cache, Linux downloader cache, and uConsole path fields remain contained | Renderer consumes tile refs/source without direct path/cache ownership, and decoded/downloader caches are moved behind stable runtime adapters | 7.10 / 7.x | contained | | `Map tile visible plan in platform renderer` | `MapTileRenderQueue` | Platform map tile runtimes still populate queue from legacy `MapTile` records | Dedicated map runtime computes visible queue and renderer consumes queue rows without mutating plan state | 7.11 / 7.x | contained | | `ESP decoded LVGL tile cache` | `LvglDecodedTileCache` / `IMapTileDecoderCache` | ESP map tile runtime still asks the LVGL cache adapter for decoded handles | Runtime-owned decoder cache is injected into a dedicated map tile renderer | 7.11 / 7.x | contained | -| `Map overlay current/team marker projection` | `MapOverlaySnapshotSource` / `MapOverlayProjectionAdapter` / `MapOverlayProjector` in `modules/ui_map_runtime` | no main runtime callers of `LegacyMapOverlaySource`; deprecated alias headers and legacy alias tests only | remove alias headers after downstream includes of `LegacyMapOverlaySource` are gone, and map renderers consume `MapOverlaySnapshotSource` only | 9.5 | burned-down to deprecated alias | +| `Map overlay current/team marker projection` | `MapOverlaySnapshotSource` / `MapOverlayProjectionAdapter` / `MapOverlayProjector` in `modules/ui_map_runtime` | no main runtime callers of `LegacyMapOverlaySource`; alias headers and alias tests removed from build include surface | keep runtime map overlay headers as the only build-visible API | 9.5 | retired from build include surface | | `Map route/tracker overlay projection` | deferred route/tracker presentation source | ESP route/tracker draw callbacks still own route/tracker widget drawing | Route/tracker stores expose presentation sources and renderer consumes overlay snapshot rows | 7.12 / 7.x | contained | | `GPS page refresh cadence` | `GpsPageRuntimePump` / `IGpsUiRefreshSink` | ESP and Linux GPS page timers tick `GpsPageRuntimePump`; page-local adapters preserve legacy refresh behavior | Page-local adapters are replaced by GPS presentation refresh models and renderers consume snapshots only | 7.13 / 7.x | contained | @@ -52,9 +52,9 @@ A legacy surface may remain temporarily only if it has: | `legacy/app_implementations/linux_uconsole` GTK descriptor adapters | `modules/ui_gtk_runtime` | moved out of legacy; legacy uConsole CMake links module-owned sources for compatibility smoke coverage | real GTK page switch path consumes `GtkUConsoleScreenGraphPresenter` and old hardcoded routing is fallback-only | 9.2 | burned-down | | Runtime entry adoption helpers under `legacy/app_implementations` | `modules/ui_ascii_runtime`, `modules/ui_gtk_runtime`, `modules/ui_lvgl_ux_packs`, final app-shell probes | none; Phase 9.2 keeps entry adoption helpers out of legacy | checker forbids `*RuntimeEntryAdoption` files and tokens under `legacy/app_implementations` | 9.2 | burned-down | | Runtime entry bridges under `legacy/app_implementations` | final app-shell runtime entry/page-registry adoption and `modules/ui_lvgl_ux_packs` | none; Phase 9.3 keeps real entry adoption out of legacy | checker forbids Phase 9 runtime adoption bridge files under `legacy/app_implementations` | 9.3 | burned-down | -| Chat delivery legacy bridge pair | `modules/ui_chat_runtime` formal ports and adapters | no main runtime callers; `ui_legacy_adapters` and `ui_shared` headers are deprecated aliases only | remove alias headers after downstream compatibility includes are gone | 9.4 | burned-down to deprecated alias | -| Key verification legacy source/sink/session | `modules/ui_key_verification_runtime` stable `KeyVerificationPresentationSource`, `KeyVerificationActionSink`, and `KeyVerificationSessionAdapter` | no main runtime callers; `ui_legacy_adapters` and `ui_shared` headers are deprecated aliases only | remove alias headers after downstream compatibility includes are gone | 9.5 | burned-down to deprecated alias | -| Map overlay legacy source | `modules/ui_map_runtime` stable snapshot source and projection adapter | no main runtime callers; `ui_legacy_adapters` and `ui_shared` headers are deprecated aliases only | remove alias headers after downstream compatibility includes are gone | 9.5 | burned-down to deprecated alias | +| Chat delivery legacy bridge pair | `modules/ui_chat_runtime` formal ports and adapters | no main runtime callers; alias build include surface removed | keep runtime headers as the only build-visible API | 9.4 | retired from build include surface | +| Key verification legacy source/sink/session | `modules/ui_key_verification_runtime` stable `KeyVerificationPresentationSource`, `KeyVerificationActionSink`, and `KeyVerificationSessionAdapter` | no main runtime callers; alias build include surface removed | keep runtime headers as the only build-visible API | 9.5 | retired from build include surface | +| Map overlay legacy source | `modules/ui_map_runtime` stable snapshot source and projection adapter | no main runtime callers; alias build include surface removed | keep runtime headers as the only build-visible API | 9.5 | retired from build include surface | ## Checker Status @@ -90,14 +90,14 @@ A legacy surface may remain temporarily only if it has: Phase 9.6 does not add new legacy surfaces. It aligns the register with the Phase 9 final readiness report: -- Chat delivery legacy bridge pair: main runtime callers removed; deprecated - aliases only; stable owner is `ChatDeliveryActionPortAdapter` and +- Chat delivery legacy bridge pair: main runtime callers removed; alias build + include surface removed; stable owner is `ChatDeliveryActionPortAdapter` and `ChatDeliveryEventProjectionAdapter`. - Key verification legacy source/sink/session: main runtime callers removed; - deprecated aliases only; stable owner is `KeyVerificationPresentationSource`, + alias build include surface removed; stable owner is `KeyVerificationPresentationSource`, `KeyVerificationActionSink`, and `KeyVerificationSessionAdapter`. -- Map overlay legacy source: main runtime callers removed; deprecated aliases - only; stable owner is `MapOverlaySnapshotSource` and +- Map overlay legacy source: main runtime callers removed; alias build include + surface removed; stable owner is `MapOverlaySnapshotSource` and `MapOverlayProjectionAdapter`. The remaining Phase 10-facing UI fallbacks are not legacy adapter burn-down items. diff --git a/docs/audits/PHASE12_DEPRECATED_ALIAS_CLEANUP_PLAN.md b/docs/audits/PHASE12_DEPRECATED_ALIAS_CLEANUP_PLAN.md index a38f9c43..fb778089 100644 --- a/docs/audits/PHASE12_DEPRECATED_ALIAS_CLEANUP_PLAN.md +++ b/docs/audits/PHASE12_DEPRECATED_ALIAS_CLEANUP_PLAN.md @@ -2,29 +2,29 @@ ## Purpose -Phase 9 burned selected `Legacy*` surfaces down to deprecated aliases. Phase 12 -does not remove those aliases immediately; it defines the deletion window. +Phase 9 burned selected `Legacy*` surfaces down to runtime-owned adapters. +The alias headers have now been retired from the active build include surface. ## Alias Ledger -| Alias | Alias header path | Replacement header | Remaining includes | Delete now? | Deletion condition | +| Alias | Former alias header path | Replacement header | Remaining includes | Build-visible? | Current condition | | --- | --- | --- | --- | --- | --- | -| `LegacyChatDeliveryActionBridge` | `modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_chat_delivery_action_bridge.h` and `modules/ui_shared/include/ui/presentation_sources/legacy_chat_delivery_action_bridge.h` | `ui_chat_runtime/chat_delivery_action_port_adapter.h` | compatibility alias tests; docs references | No | no downstream includes of either alias header remain | -| `LegacyKeyVerificationSource` | `modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_source.h` and `modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_source.h` | `ui_key_verification_runtime/key_verification_presentation_source.h` | compatibility alias tests; docs references | No | no downstream includes of either alias header remain | -| `LegacyKeyVerificationActionSink` | `modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_action_sink.h` and `modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_action_sink.h` | `ui_key_verification_runtime/key_verification_action_sink.h` | compatibility alias tests; docs references | No | no downstream includes of either alias header remain | -| `LegacyKeyVerificationSession` | `modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_session.h` and `modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_session.h` | `ui_key_verification_runtime/key_verification_session_adapter.h` | compatibility alias tests; docs references | No | no downstream includes of either alias header remain | -| `LegacyMapOverlaySource` | `modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_map_overlay_source.h` and `modules/ui_shared/include/ui/presentation_sources/legacy_map_overlay_source.h` | `ui_map_runtime/map_overlay_snapshot_source.h` | compatibility alias tests; docs references | No | no downstream includes of either alias header remain and map renderers consume stable snapshots only | +| `LegacyChatDeliveryActionBridge` | `modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_chat_delivery_action_bridge.h` and `modules/ui_shared/include/ui/presentation_sources/legacy_chat_delivery_action_bridge.h` | `ui_chat_runtime/chat_delivery_action_port_adapter.h` | docs references only | No | retired from build include surface | +| `LegacyKeyVerificationSource` | `modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_source.h` and `modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_source.h` | `ui_key_verification_runtime/key_verification_presentation_source.h` | docs references only | No | retired from build include surface | +| `LegacyKeyVerificationActionSink` | `modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_action_sink.h` and `modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_action_sink.h` | `ui_key_verification_runtime/key_verification_action_sink.h` | docs references only | No | retired from build include surface | +| `LegacyKeyVerificationSession` | `modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_session.h` and `modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_session.h` | `ui_key_verification_runtime/key_verification_session_adapter.h` | docs references only | No | retired from build include surface | +| `LegacyMapOverlaySource` | `modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_map_overlay_source.h` and `modules/ui_shared/include/ui/presentation_sources/legacy_map_overlay_source.h` | `ui_map_runtime/map_overlay_snapshot_source.h` | docs references only | No | retired from build include surface | ## Rules - Main code must not include deprecated alias headers. -- Compatibility tests may include deprecated alias headers. +- Compatibility tests must use runtime headers directly. - Docs may mention historical alias names. -- Alias headers must remain forwarding-only while they exist. +- Legacy alias headers are retired from build include surface. - New `Legacy*` bridge names are forbidden for new runtime work. ## Cleanup Window -Alias deletion is safe only after a repo-wide and downstream include search -shows no remaining production include paths. Until then, the aliases remain -compatibility shims with checker coverage. +The active repo no longer carries these alias headers in build-visible include +roots. Downstream compatibility, if needed, must be handled outside the active +build surface or by migrating to the runtime headers above. diff --git a/docs/audits/PHASE12_FALLBACK_DELETION_READINESS.md b/docs/audits/PHASE12_FALLBACK_DELETION_READINESS.md index 100aed75..80b7226f 100644 --- a/docs/audits/PHASE12_FALLBACK_DELETION_READINESS.md +++ b/docs/audits/PHASE12_FALLBACK_DELETION_READINESS.md @@ -3,8 +3,8 @@ ## Purpose Phase 12 does not delete fallback by default. It records which fallback -surfaces are now fallback-only, which alias surfaces are compatibility-only, -and what must be true before deletion. +surfaces are now fallback-only, which alias surfaces have left the active build +include surface, and what must be true before deleting remaining fallbacks. ## Readiness Ledger @@ -13,10 +13,10 @@ and what must be true before deletion. | LinuxSim hardcoded runtime routing | fallback-only | `LinuxSimRuntimeRenderer -> AsciiDescriptorRenderer -> AsciiRuntimeEntryAdoption` | No | fallback smoke still proves failed-adoption behavior and the real simulator renderer has not removed every hardcoded route dependency | fallback smoke no longer needed and real simulator entry has no direct hardcoded route dependency | `apps/linux_sim_shell` | `check_phase10_primary_path_ready.py`, `check_phase11_renderer_consumption_ready.py` | | GTK hardcoded page registry | fallback-only | `LinuxUConsoleGtkPageRegistryRenderer -> GtkDescriptorPageRegistry -> GtkRuntimeEntryAdoption` | No | real GTK widget/page creation still needs a compatibility page registry path | real `GtkWidget` page creation consumes `GtkDescriptorPage` as the primary page source | `apps/linux_uconsole_gtk` | `check_phase10_primary_path_ready.py`, `check_phase11_renderer_consumption_ready.py` | | LVGL hardcoded menu/page creation | fallback-only descriptor fallback | `LvglDescriptorRendererProbe -> LvglDescriptorMenuModel -> LvglPrimaryScreenGraphRuntime` | No | real LVGL menu/page renderers have not consumed `LvglDescriptorMenuModel` on a concrete target | one real LVGL target consumes `LvglDescriptorMenuModel` before menu/page object creation | `modules/ui_lvgl_ux_packs` | `check_phase10_primary_path_ready.py`, `check_phase11_renderer_consumption_ready.py` | -| Chat legacy alias headers | deprecated alias only | `ChatDeliveryActionPortAdapter` | No | action compatibility alias tests and possible downstream includes still define the deletion window | no downstream includes of `LegacyChatDeliveryActionBridge` remain | `modules/ui_chat_runtime` | `check_phase9_legacy_burndown_ready.py` | -| KeyVerification legacy alias headers | deprecated alias only | `KeyVerificationPresentationSource`, `KeyVerificationActionSink`, `KeyVerificationSessionAdapter` | No | compatibility alias tests and possible downstream includes still define the deletion window | no downstream includes of `LegacyKeyVerificationSource`, `LegacyKeyVerificationActionSink`, or `LegacyKeyVerificationSession` remain | `modules/ui_key_verification_runtime` | `check_phase9_legacy_burndown_ready.py` | -| MapOverlay legacy alias header | deprecated alias only | `MapOverlaySnapshotSource`, `MapOverlayProjectionAdapter` | No | compatibility alias tests and possible downstream includes still define the deletion window | no downstream includes of `LegacyMapOverlaySource` remain and map renderers consume stable snapshots only | `modules/ui_map_runtime` | `check_phase9_legacy_burndown_ready.py` | -| `ui_shared` forwarding shims | deprecated forwarding shims only | stable runtime module headers | No | they protect old include paths while downstream references burn down | no production or downstream include path uses `ui/presentation_sources/legacy_*` | `modules/ui_shared` | `check_phase9_legacy_burndown_ready.py` | +| Chat legacy alias headers | alias build include surface removed | `ChatDeliveryActionPortAdapter` | Yes | runtime headers are the only build-visible API | keep alias headers absent from active build roots | `modules/ui_chat_runtime` | `check_phase9_legacy_burndown_ready.py` | +| KeyVerification legacy alias headers | alias build include surface removed | `KeyVerificationPresentationSource`, `KeyVerificationActionSink`, `KeyVerificationSessionAdapter` | Yes | runtime headers are the only build-visible API | keep alias headers absent from active build roots | `modules/ui_key_verification_runtime` | `check_phase9_legacy_burndown_ready.py` | +| MapOverlay legacy alias header | alias build include surface removed | `MapOverlaySnapshotSource`, `MapOverlayProjectionAdapter` | Yes | runtime headers are the only build-visible API | keep alias headers absent from active build roots | `modules/ui_map_runtime` | `check_phase9_legacy_burndown_ready.py` | +| `ui_shared` legacy presentation forwarding shims | alias build include surface removed | stable runtime module headers | Yes | runtime headers are the only build-visible API | keep `ui/presentation_sources/legacy_*` absent from active build roots | `modules/ui_shared` | `check_phase9_legacy_burndown_ready.py` | | `legacy/app_implementations` roots | historical implementation roots only | final app shells plus stable modules | No | roots still provide transitional build/runtime compatibility | final app shells and stable modules own all runtime behavior and builds no longer need historical roots | `legacy/app_implementations` | `check_phase8_layout_ready.py`, `check_post_refactor_final_ready.py` | ## Deletion Rule @@ -26,12 +26,12 @@ Every deletion needs: - primary path evidence - fallback smoke update or removal -- downstream include search +- repo/downstream include search - checker update - concrete owner ## Current Decision -No fallback or deprecated alias is deleted in Phase 12. Phase 12 records -deletion readiness and freezes the guardrails that prevent fallback from -becoming a primary path again. +No runtime fallback is deleted in Phase 12. The migrated deprecated alias +headers have left the build include surface, and Phase 12 records the guardrails +that prevent fallback from becoming a primary path again. diff --git a/docs/audits/PHASE9_FALLBACK_CONTAINMENT_LEDGER.md b/docs/audits/PHASE9_FALLBACK_CONTAINMENT_LEDGER.md index 352bc96e..cfc23c58 100644 --- a/docs/audits/PHASE9_FALLBACK_CONTAINMENT_LEDGER.md +++ b/docs/audits/PHASE9_FALLBACK_CONTAINMENT_LEDGER.md @@ -10,9 +10,9 @@ status are explicit. | 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 | +| Chat LegacyDelivery bridges | alias build include surface removed | runtime modules own all active includes | `ChatDeliveryActionPortAdapter` and `ChatDeliveryEventProjectionAdapter` in `modules/ui_chat_runtime` | keep runtime headers as the only build-visible API | retired from build include surface | +| KeyVerification legacy source/sink | alias build include surface removed | runtime modules own all active includes | `KeyVerificationPresentationSource`, `KeyVerificationActionSink`, and `KeyVerificationSessionAdapter` in `modules/ui_key_verification_runtime` | keep runtime headers as the only build-visible API | retired from build include surface | +| MapOverlay legacy source | alias build include surface removed | runtime modules own all active includes | `MapOverlaySnapshotSource` and `MapOverlayProjectionAdapter` in `modules/ui_map_runtime` | keep runtime headers as the only build-visible API | retired from build include surface | ## Phase 9.6 Final Readiness Alignment @@ -26,9 +26,9 @@ The runtime fallbacks that carry into Phase 10 are: 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. +- Chat LegacyDelivery bridges: main runtime callers removed; alias build include + surface removed. +- KeyVerification legacy source/sink: main runtime callers removed; alias build + include surface removed. +- MapOverlay legacy source: main runtime callers removed; alias build include + surface removed. diff --git a/docs/audits/PHASE9_FINAL_READINESS_REPORT.md b/docs/audits/PHASE9_FINAL_READINESS_REPORT.md index 586598ba..4daa57ef 100644 --- a/docs/audits/PHASE9_FINAL_READINESS_REPORT.md +++ b/docs/audits/PHASE9_FINAL_READINESS_REPORT.md @@ -35,12 +35,12 @@ Readiness summary: | Surface | Phase 9 status | Stable owner | Remaining compatibility | | --- | --- | --- | --- | -| ChatDelivery | main runtime callers removed; burned down to formal adapters | `ChatDeliveryActionPortAdapter`, `ChatDeliveryEventProjectionAdapter`, `IChatDeliveryActionPort`, `IChatDeliveryEventPort` in `modules/ui_chat_runtime` | deprecated alias headers and legacy alias tests only | -| KeyVerification | main runtime callers removed; burned down to formal source/sink/session adapter | `KeyVerificationPresentationSource`, `KeyVerificationActionSink`, `KeyVerificationSessionAdapter` in `modules/ui_key_verification_runtime` | deprecated alias headers and legacy alias tests only | -| MapOverlay | main runtime callers removed; burned down to stable snapshot/projection adapters | `MapOverlaySnapshotSource`, `MapOverlayProjectionAdapter` in `modules/ui_map_runtime` | deprecated alias headers and legacy alias tests only | +| ChatDelivery | main runtime callers removed; burned down to formal adapters | `ChatDeliveryActionPortAdapter`, `ChatDeliveryEventProjectionAdapter`, `IChatDeliveryActionPort`, `IChatDeliveryEventPort` in `modules/ui_chat_runtime` | alias build include surface removed | +| KeyVerification | main runtime callers removed; burned down to formal source/sink/session adapter | `KeyVerificationPresentationSource`, `KeyVerificationActionSink`, `KeyVerificationSessionAdapter` in `modules/ui_key_verification_runtime` | alias build include surface removed | +| MapOverlay | main runtime callers removed; burned down to stable snapshot/projection adapters | `MapOverlaySnapshotSource`, `MapOverlayProjectionAdapter` in `modules/ui_map_runtime` | alias build include surface removed | -Legacy headers are not primary runtime APIs. Their deletion window opens after -downstream compatibility includes are gone. +Legacy headers are not primary runtime APIs. The migrated alias headers have +been removed from the active build include surface. ## Remaining Fallback @@ -65,7 +65,7 @@ Phase 9 final readiness requires the following documents to agree: The shared status for ChatDelivery, KeyVerification, and MapOverlay is: -main runtime callers removed; deprecated aliases only +main runtime callers removed; alias build include surface removed The shared status for LinuxSim, GTK, and LVGL hardcoded UI paths is: diff --git a/docs/audits/PHASE9_LEGACY_BURNDOWN_REPORT.md b/docs/audits/PHASE9_LEGACY_BURNDOWN_REPORT.md index d8244a29..4f065b09 100644 --- a/docs/audits/PHASE9_LEGACY_BURNDOWN_REPORT.md +++ b/docs/audits/PHASE9_LEGACY_BURNDOWN_REPORT.md @@ -23,13 +23,13 @@ compatibility alias has since been deleted completely. | Surface | Previous owner | New owner | Status | | --- | --- | --- | --- | -| `LegacyChatDeliveryActionBridge` | `modules/ui_legacy_adapters` real bridge implementation | `ChatDeliveryActionPortAdapter` and `IChatDeliveryActionPort` in `modules/ui_chat_runtime` | main runtime callers removed; old headers are deprecated aliases | +| `LegacyChatDeliveryActionBridge` | `modules/ui_legacy_adapters` real bridge implementation | `ChatDeliveryActionPortAdapter` and `IChatDeliveryActionPort` in `modules/ui_chat_runtime` | main runtime callers removed; alias build include surface removed | | `LegacyChatDeliveryEventBridge` | `modules/ui_legacy_adapters` real bridge implementation | `ChatDeliveryEventProjectionAdapter` and `IChatDeliveryEventPort` in `modules/ui_chat_runtime` | implementation, forwarding headers, and alias tests removed | The former `modules/ui_legacy_adapters/src/legacy_chat_delivery_*_bridge.cpp` implementation files are removed from the build. The action compatibility -headers remain only as forwarding aliases for downstream includes; the event -compatibility headers are removed. +headers have also been removed from the active build include surface; the event +compatibility headers were already removed. ## Burned Down In Phase 9.5 @@ -38,15 +38,15 @@ adapters from main runtime ownership into stable runtime modules. | Surface | Previous owner | New owner | Status | | --- | --- | --- | --- | -| `LegacyKeyVerificationSession` | `modules/ui_legacy_adapters` compatibility session state | `KeyVerificationSessionAdapter` in `modules/ui_key_verification_runtime` | main runtime callers removed; old headers are deprecated aliases | -| `LegacyKeyVerificationSource` | `modules/ui_legacy_adapters` real presentation source implementation | `KeyVerificationPresentationSource` in `modules/ui_key_verification_runtime` | main runtime callers removed; old headers are deprecated aliases | -| `LegacyKeyVerificationActionSink` | `modules/ui_legacy_adapters` real action sink implementation | `KeyVerificationActionSink` in `modules/ui_key_verification_runtime` | main runtime callers removed; old headers are deprecated aliases | -| `LegacyMapOverlaySource` | `modules/ui_legacy_adapters` real map overlay source implementation | `MapOverlaySnapshotSource` and `MapOverlayProjectionAdapter` in `modules/ui_map_runtime` | main runtime callers removed; old headers are deprecated aliases | +| `LegacyKeyVerificationSession` | `modules/ui_legacy_adapters` compatibility session state | `KeyVerificationSessionAdapter` in `modules/ui_key_verification_runtime` | main runtime callers removed; alias build include surface removed | +| `LegacyKeyVerificationSource` | `modules/ui_legacy_adapters` real presentation source implementation | `KeyVerificationPresentationSource` in `modules/ui_key_verification_runtime` | main runtime callers removed; alias build include surface removed | +| `LegacyKeyVerificationActionSink` | `modules/ui_legacy_adapters` real action sink implementation | `KeyVerificationActionSink` in `modules/ui_key_verification_runtime` | main runtime callers removed; alias build include surface removed | +| `LegacyMapOverlaySource` | `modules/ui_legacy_adapters` real map overlay source implementation | `MapOverlaySnapshotSource` and `MapOverlayProjectionAdapter` in `modules/ui_map_runtime` | main runtime callers removed; alias build include surface removed | The former `modules/ui_legacy_adapters/src/legacy_key_verification_*` and `modules/ui_legacy_adapters/src/legacy_map_overlay_source.cpp` implementation -files are removed from the build. Compatibility headers remain only as -forwarding aliases for downstream includes. +files are removed from the build. Compatibility headers and alias smoke tests +are removed from the active build include surface. ## Still Contained @@ -64,8 +64,7 @@ burn-down and is no longer a remaining Phase 9 target. The next Phase 9 legacy burn-down target should be selected from the remaining non-Chat, non-KeyVerification, non-MapOverlay compatibility surfaces in the register. Chat delivery, KeyVerification, and MapOverlay are no longer main -runtime fallbacks; remaining work is compatibility alias deletion where an -alias still exists. +runtime fallbacks; the active build now consumes the runtime headers directly. ## Rule @@ -104,9 +103,9 @@ Phase 9.6 keeps the legacy burn-down status aligned with | Surface | Final Phase 9 status | Stable owner | Deletion window | | --- | --- | --- | --- | -| ChatDelivery legacy bridges | main runtime callers removed; deprecated aliases only | `ChatDeliveryActionPortAdapter` and `ChatDeliveryEventProjectionAdapter` | remove alias headers after downstream compatibility includes are gone | -| KeyVerification legacy source/sink/session | main runtime callers removed; deprecated aliases only | `KeyVerificationPresentationSource`, `KeyVerificationActionSink`, and `KeyVerificationSessionAdapter` | remove alias headers after downstream compatibility includes are gone | -| MapOverlay legacy source | main runtime callers removed; deprecated aliases only | `MapOverlaySnapshotSource` and `MapOverlayProjectionAdapter` | remove alias headers after downstream compatibility includes are gone and map renderers consume stable snapshots only | +| ChatDelivery legacy bridges | main runtime callers removed; alias build include surface removed | `ChatDeliveryActionPortAdapter` and `ChatDeliveryEventProjectionAdapter` | keep runtime headers as the only build-visible API | +| KeyVerification legacy source/sink/session | main runtime callers removed; alias build include surface removed | `KeyVerificationPresentationSource`, `KeyVerificationActionSink`, and `KeyVerificationSessionAdapter` | keep runtime headers as the only build-visible API | +| MapOverlay legacy source | main runtime callers removed; alias build include surface removed | `MapOverlaySnapshotSource` and `MapOverlayProjectionAdapter` | keep runtime headers as the only build-visible API | The remaining LinuxSim, GTK, and LVGL hardcoded runtime paths are not reported as burned down. They remain contained fallback until Phase 10 makes one adopted runtime path diff --git a/docs/audits/POST_REFACTOR_FINAL_CLOSEOUT_REPORT.md b/docs/audits/POST_REFACTOR_FINAL_CLOSEOUT_REPORT.md index 9e531d12..3f65d6ca 100644 --- a/docs/audits/POST_REFACTOR_FINAL_CLOSEOUT_REPORT.md +++ b/docs/audits/POST_REFACTOR_FINAL_CLOSEOUT_REPORT.md @@ -16,7 +16,7 @@ platform/build maintenance. | --- | --- | | Phase 5-7 runtime ownership | Runtime ownership boundaries and legacy burn-down register established. | | Phase 8 directory/app shell/UX/menu/screen graph | `apps/` semantics converged, final app shells established, UX menu/screen graph became portable. | -| Phase 9 runtime adoption and legacy burn-down | Runtime presenters and entry adoption paths established; ChatDelivery, KeyVerification, and MapOverlay legacy adapters burned down to deprecated aliases. | +| Phase 9 runtime adoption and legacy burn-down | Runtime presenters and entry adoption paths established; ChatDelivery, KeyVerification, and MapOverlay legacy adapters burned down to runtime modules with alias build include surface removed. | | Phase 10 primary path migration | LinuxSim, GTK page registry, and LVGL compatibility descriptor paths became primary; hardcoded paths became fallback-only. | | Phase 11 renderer descriptor consumption | LinuxSim renderer, GTK page registry renderer, and LVGL descriptor renderer probe consume primary descriptors. | | Phase 12 closeout | fallback deletion readiness, deprecated alias cleanup plan, architecture freeze, and final guardrail checker established. | @@ -30,7 +30,7 @@ platform/build maintenance. | LVGL real widget/menu rewrite | contained; descriptor menu model exists | targeted device renderer migration | | fallback deletion | readiness ledger exists | targeted fallback deletion | | removed legacy source roots | deleted; history recorded in docs/archive | no source archive retained | -| compatibility alias headers | deprecated aliases only | targeted alias deletion after downstream includes disappear | +| compatibility alias headers | retired from build include surface | keep runtime headers as the active API | | map tile/route/tracker remaining legacy surfaces | registered contained debt | targeted debt deletion | ## Post-Refactor Rule diff --git a/modules/ui_legacy_adapters/README.md b/modules/ui_legacy_adapters/README.md index e5fa3403..be213d67 100644 --- a/modules/ui_legacy_adapters/README.md +++ b/modules/ui_legacy_adapters/README.md @@ -1,21 +1,23 @@ # ui_legacy_adapters -Bounded compatibility adapters and anti-corruption bridges. +Retired legacy adapter module. -May contain: +This module name remains only as a documented legacy boundary. Runtime-owned UI +adapters now live in their runtime modules: -- legacy source/sink adapters -- compatibility bridges -- anti-corruption wrappers around existing runtime APIs +- chat delivery: `modules/ui_chat_runtime` +- key verification: `modules/ui_key_verification_runtime` +- map overlay: `modules/ui_map_runtime` Must not contain: -- new product behavior +- forwarding headers for runtime-owned adapters +- source/sink implementations +- alias smoke tests +- product behavior - renderer widgets - app composition roots - build entrypoints - board facts -This module was split from `modules/ui_shared` during the Phase 8 structural -migration batch. The old `ui/presentation_sources/legacy_*` headers remain -forwarding headers for migrated adapters. +Active build manifests must not expose `modules/ui_legacy_adapters/include`. diff --git a/modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_chat_delivery_action_bridge.h b/modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_chat_delivery_action_bridge.h deleted file mode 100644 index dcdafec1..00000000 --- a/modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_chat_delivery_action_bridge.h +++ /dev/null @@ -1,13 +0,0 @@ -#pragma once - -#include "ui_chat_runtime/chat_delivery_action_port_adapter.h" - -namespace ui::presentation_sources -{ - -using LegacyChatDeliveryActionBridge - [[deprecated("Use ui_chat_runtime::ChatDeliveryActionPortAdapter")]] = - ::ui_chat_runtime::ChatDeliveryActionPortAdapter; -using ::ui_chat_runtime::toDeliveryRef; - -} // namespace ui::presentation_sources diff --git a/modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_action_sink.h b/modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_action_sink.h deleted file mode 100644 index 0fada120..00000000 --- a/modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_action_sink.h +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once - -#include "ui_key_verification_runtime/key_verification_action_sink.h" - -namespace ui::presentation_sources -{ - -using LegacyKeyVerificationActionSink - [[deprecated("Use ui_key_verification_runtime::KeyVerificationActionSink")]] = - ::ui_key_verification_runtime::KeyVerificationActionSink; - -} // namespace ui::presentation_sources diff --git a/modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_session.h b/modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_session.h deleted file mode 100644 index 256dabf1..00000000 --- a/modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_session.h +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once - -#include "ui_key_verification_runtime/key_verification_session_adapter.h" - -namespace ui::presentation_sources -{ - -using LegacyKeyVerificationSession - [[deprecated("Use ui_key_verification_runtime::KeyVerificationSessionAdapter")]] = - ::ui_key_verification_runtime::KeyVerificationSessionAdapter; - -} // namespace ui::presentation_sources diff --git a/modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_source.h b/modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_source.h deleted file mode 100644 index 6504cf29..00000000 --- a/modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_source.h +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once - -#include "ui_key_verification_runtime/key_verification_presentation_source.h" - -namespace ui::presentation_sources -{ - -using LegacyKeyVerificationSource - [[deprecated("Use ui_key_verification_runtime::KeyVerificationPresentationSource")]] = - ::ui_key_verification_runtime::KeyVerificationPresentationSource; - -} // namespace ui::presentation_sources diff --git a/modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_map_overlay_source.h b/modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_map_overlay_source.h deleted file mode 100644 index d1f9d426..00000000 --- a/modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_map_overlay_source.h +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "ui_map_runtime/map_overlay_snapshot_source.h" - -namespace ui -{ -namespace presentation_sources -{ - -using IMapOverlayGpsSource = ::ui::map_overlay::IMapOverlayGpsSource; -using IMapOverlayTeamSource = ::ui::map_overlay::IMapOverlayTeamSource; -using LegacyMapOverlaySource - [[deprecated("Use ui::map_overlay::MapOverlaySnapshotSource")]] = - ::ui::map_overlay::MapOverlaySnapshotSource; - -} // namespace presentation_sources -} // namespace ui diff --git a/modules/ui_legacy_adapters/library.json b/modules/ui_legacy_adapters/library.json index 380f9d12..bcba5dd9 100644 --- a/modules/ui_legacy_adapters/library.json +++ b/modules/ui_legacy_adapters/library.json @@ -2,34 +2,10 @@ "name": "ui_legacy_adapters", "version": "0.1.0", "build": { - "includeDir": "include", "srcDir": "src", - "flags": [ - "-I../../modules/ui_legacy_adapters/include", - "-I../../modules/ui_chat_runtime/include", - "-I../../modules/ui_key_verification_runtime/include", - "-I../../modules/ui_map_runtime/include", - "-I../../modules/ui_presentation/include", - "-I../../modules/core_chat/include", - "-I../../modules/core_sys/include", - "-I../../modules/core_team/include" + "srcFilter": [ + "-<*>" ] }, - "dependencies": [ - { - "name": "core_chat" - }, - { - "name": "core_sys" - }, - { - "name": "core_team" - }, - { - "name": "ui_map_runtime" - }, - { - "name": "ui_key_verification_runtime" - } - ] + "dependencies": [] } diff --git a/modules/ui_legacy_adapters/tests/test_legacy_chat_delivery_action_bridge_legacy_alias.cpp b/modules/ui_legacy_adapters/tests/test_legacy_chat_delivery_action_bridge_legacy_alias.cpp deleted file mode 100644 index 12a84051..00000000 --- a/modules/ui_legacy_adapters/tests/test_legacy_chat_delivery_action_bridge_legacy_alias.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include "ui_legacy_adapters/legacy_chat_delivery_action_bridge.h" - -#include - -int main() -{ - static_assert(std::is_same< - ui::presentation_sources::LegacyChatDeliveryActionBridge, - ui_chat_runtime::ChatDeliveryActionPortAdapter>::value, - "LegacyChatDeliveryActionBridge must stay an alias only"); - return 0; -} diff --git a/modules/ui_legacy_adapters/tests/test_legacy_key_verification_adapters_legacy_alias.cpp b/modules/ui_legacy_adapters/tests/test_legacy_key_verification_adapters_legacy_alias.cpp deleted file mode 100644 index acba5efe..00000000 --- a/modules/ui_legacy_adapters/tests/test_legacy_key_verification_adapters_legacy_alias.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#include "ui_legacy_adapters/legacy_key_verification_action_sink.h" -#include "ui_legacy_adapters/legacy_key_verification_session.h" -#include "ui_legacy_adapters/legacy_key_verification_source.h" - -#include - -int main() -{ - static_assert( - std::is_same::value, - "LegacyKeyVerificationSession must stay an alias only"); - static_assert( - std::is_same::value, - "LegacyKeyVerificationSource must stay an alias only"); - static_assert( - std::is_same::value, - "LegacyKeyVerificationActionSink must stay an alias only"); - return 0; -} diff --git a/modules/ui_legacy_adapters/tests/test_legacy_map_overlay_source_legacy_alias.cpp b/modules/ui_legacy_adapters/tests/test_legacy_map_overlay_source_legacy_alias.cpp deleted file mode 100644 index 2bdcb3ce..00000000 --- a/modules/ui_legacy_adapters/tests/test_legacy_map_overlay_source_legacy_alias.cpp +++ /dev/null @@ -1,20 +0,0 @@ -#include "ui_legacy_adapters/legacy_map_overlay_source.h" - -#include - -int main() -{ - static_assert( - std::is_same::value, - "IMapOverlayGpsSource must stay an alias only"); - static_assert( - std::is_same::value, - "IMapOverlayTeamSource must stay an alias only"); - static_assert( - std::is_same::value, - "LegacyMapOverlaySource must stay an alias only"); - return 0; -} diff --git a/modules/ui_shared/include/ui/presentation_sources/legacy_chat_delivery_action_bridge.h b/modules/ui_shared/include/ui/presentation_sources/legacy_chat_delivery_action_bridge.h deleted file mode 100644 index dcdafec1..00000000 --- a/modules/ui_shared/include/ui/presentation_sources/legacy_chat_delivery_action_bridge.h +++ /dev/null @@ -1,13 +0,0 @@ -#pragma once - -#include "ui_chat_runtime/chat_delivery_action_port_adapter.h" - -namespace ui::presentation_sources -{ - -using LegacyChatDeliveryActionBridge - [[deprecated("Use ui_chat_runtime::ChatDeliveryActionPortAdapter")]] = - ::ui_chat_runtime::ChatDeliveryActionPortAdapter; -using ::ui_chat_runtime::toDeliveryRef; - -} // namespace ui::presentation_sources diff --git a/modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_action_sink.h b/modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_action_sink.h deleted file mode 100644 index 0fada120..00000000 --- a/modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_action_sink.h +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once - -#include "ui_key_verification_runtime/key_verification_action_sink.h" - -namespace ui::presentation_sources -{ - -using LegacyKeyVerificationActionSink - [[deprecated("Use ui_key_verification_runtime::KeyVerificationActionSink")]] = - ::ui_key_verification_runtime::KeyVerificationActionSink; - -} // namespace ui::presentation_sources diff --git a/modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_session.h b/modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_session.h deleted file mode 100644 index 256dabf1..00000000 --- a/modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_session.h +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once - -#include "ui_key_verification_runtime/key_verification_session_adapter.h" - -namespace ui::presentation_sources -{ - -using LegacyKeyVerificationSession - [[deprecated("Use ui_key_verification_runtime::KeyVerificationSessionAdapter")]] = - ::ui_key_verification_runtime::KeyVerificationSessionAdapter; - -} // namespace ui::presentation_sources diff --git a/modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_source.h b/modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_source.h deleted file mode 100644 index 6504cf29..00000000 --- a/modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_source.h +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once - -#include "ui_key_verification_runtime/key_verification_presentation_source.h" - -namespace ui::presentation_sources -{ - -using LegacyKeyVerificationSource - [[deprecated("Use ui_key_verification_runtime::KeyVerificationPresentationSource")]] = - ::ui_key_verification_runtime::KeyVerificationPresentationSource; - -} // namespace ui::presentation_sources diff --git a/modules/ui_shared/include/ui/presentation_sources/legacy_map_overlay_source.h b/modules/ui_shared/include/ui/presentation_sources/legacy_map_overlay_source.h deleted file mode 100644 index d1f9d426..00000000 --- a/modules/ui_shared/include/ui/presentation_sources/legacy_map_overlay_source.h +++ /dev/null @@ -1,17 +0,0 @@ -#pragma once - -#include "ui_map_runtime/map_overlay_snapshot_source.h" - -namespace ui -{ -namespace presentation_sources -{ - -using IMapOverlayGpsSource = ::ui::map_overlay::IMapOverlayGpsSource; -using IMapOverlayTeamSource = ::ui::map_overlay::IMapOverlayTeamSource; -using LegacyMapOverlaySource - [[deprecated("Use ui::map_overlay::MapOverlaySnapshotSource")]] = - ::ui::map_overlay::MapOverlaySnapshotSource; - -} // namespace presentation_sources -} // namespace ui diff --git a/modules/ui_shared/library.json b/modules/ui_shared/library.json index dd21fea8..fa4c6b94 100644 --- a/modules/ui_shared/library.json +++ b/modules/ui_shared/library.json @@ -17,7 +17,6 @@ "-I../../modules/ui_map_runtime/include", "-I../../modules/ui_gps_runtime/include", "-I../../modules/ui_key_verification_runtime/include", - "-I../../modules/ui_legacy_adapters/include", "-I../../modules/ui_lvgl_core/include", "-I../../modules/ui_lvgl_ux_packs/include" ] @@ -38,9 +37,6 @@ { "name": "ui_key_verification_runtime" }, - { - "name": "ui_legacy_adapters" - }, { "name": "ui_lvgl_ux_packs" } diff --git a/platform/esp/arduino_common/library.json b/platform/esp/arduino_common/library.json index ade6fc21..ac3891c9 100644 --- a/platform/esp/arduino_common/library.json +++ b/platform/esp/arduino_common/library.json @@ -18,7 +18,6 @@ "-I../../../modules/ui_chat_runtime/include", "-I../../../modules/ui_map_runtime/include", "-I../../../modules/ui_gps_runtime/include", - "-I../../../modules/ui_legacy_adapters/include", "-I../../../modules/ui_lvgl_core/include", "-I../../../modules/ui_lvgl_ux_packs/include", "-I../../../modules/core_device/include", diff --git a/tools/architecture/check_phase7_runtime_ownership_ready.py b/tools/architecture/check_phase7_runtime_ownership_ready.py index 46645b1a..5a174495 100644 --- a/tools/architecture/check_phase7_runtime_ownership_ready.py +++ b/tools/architecture/check_phase7_runtime_ownership_ready.py @@ -6,8 +6,6 @@ import sys ROOT = Path(__file__).resolve().parents[2] PATH_ALIASES = { - "modules/ui_shared/include/ui/presentation_sources/legacy_chat_delivery_action_bridge.h": - "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_chat_delivery_action_bridge.h", "modules/ui_shared/src/ui/presentation_sources/legacy_chat_delivery_action_bridge.cpp": "modules/ui_chat_runtime/src/chat_delivery_action_port_adapter.cpp", "modules/ui_shared/tests/test_legacy_chat_delivery_action_bridge.cpp": @@ -16,20 +14,12 @@ PATH_ALIASES = { "modules/ui_chat_runtime/src/chat_delivery_event_projection_adapter.cpp", "modules/ui_shared/tests/test_legacy_chat_delivery_event_bridge.cpp": "modules/ui_chat_runtime/tests/test_chat_delivery_event_projection_adapter.cpp", - "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_session.h": - "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_session.h", - "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_source.h": - "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_source.h", - "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_action_sink.h": - "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_action_sink.h", "modules/ui_shared/src/ui/presentation_sources/legacy_key_verification_source.cpp": "modules/ui_key_verification_runtime/src/key_verification_presentation_source.cpp", "modules/ui_shared/src/ui/presentation_sources/legacy_key_verification_action_sink.cpp": "modules/ui_key_verification_runtime/src/key_verification_action_sink.cpp", "modules/ui_shared/tests/test_legacy_key_verification_adapters.cpp": "modules/ui_key_verification_runtime/tests/test_key_verification_runtime_adapters.cpp", - "modules/ui_shared/include/ui/presentation_sources/legacy_map_overlay_source.h": - "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_map_overlay_source.h", "modules/ui_shared/src/ui/presentation_sources/legacy_map_overlay_source.cpp": "modules/ui_map_runtime/src/map_overlay_snapshot_source.cpp", "modules/ui_shared/tests/test_legacy_map_overlay_source.cpp": @@ -187,7 +177,6 @@ def check_required_files() -> int: "modules/core_chat/tests/test_chat_delivery_action_service.cpp", "modules/core_chat/tests/test_chat_delivery_message_projection.cpp", "modules/core_chat/tests/test_chat_delivery_send_result_projection.cpp", - "modules/ui_shared/include/ui/presentation_sources/legacy_chat_delivery_action_bridge.h", "modules/ui_shared/src/ui/presentation_sources/legacy_chat_delivery_action_bridge.cpp", "modules/ui_shared/tests/test_legacy_chat_delivery_action_bridge.cpp", "modules/ui_shared/include/ui/team_actions/team_action_types.h", @@ -211,9 +200,6 @@ def check_required_files() -> int: "modules/ui_presentation/include/ui_presentation/key_verification/key_verification_model.h", "modules/ui_presentation/src/key_verification/key_verification_model.cpp", "modules/ui_presentation/tests/test_key_verification_model.cpp", - "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_session.h", - "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_source.h", - "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_action_sink.h", "modules/ui_shared/src/ui/presentation_sources/legacy_key_verification_source.cpp", "modules/ui_shared/src/ui/presentation_sources/legacy_key_verification_action_sink.cpp", "modules/ui_shared/tests/test_legacy_key_verification_adapters.cpp", @@ -238,7 +224,6 @@ def check_required_files() -> int: "modules/ui_presentation/include/ui_presentation/map/map_overlay_source.h", "modules/ui_shared/include/ui/map_overlay/map_overlay_projector.h", "modules/ui_shared/src/ui/map_overlay/map_overlay_projector.cpp", - "modules/ui_shared/include/ui/presentation_sources/legacy_map_overlay_source.h", "modules/ui_shared/src/ui/presentation_sources/legacy_map_overlay_source.cpp", "modules/ui_shared/tests/test_map_overlay_projector.cpp", "modules/ui_shared/tests/test_legacy_map_overlay_source.cpp", @@ -738,6 +723,7 @@ def check_legacy_burndown_register() -> int: "contained", "burned-down", "burned-down to deprecated alias", + "retired from build include surface", "remaining legacy", }: failures += fail(f"{surface} has unsupported burn-down status: {status}") @@ -1144,7 +1130,6 @@ def check_delivery_event_bridge_boundary() -> int: def check_delivery_action_bridge_boundary() -> int: failures = 0 bridge_files = [ - "modules/ui_shared/include/ui/presentation_sources/legacy_chat_delivery_action_bridge.h", "modules/ui_chat_runtime/src/chat_delivery_action_port_adapter.cpp", ] for path in bridge_files: @@ -1168,14 +1153,7 @@ def check_delivery_action_bridge_boundary() -> int: header = "modules/ui_shared/include/ui/presentation_sources/legacy_chat_delivery_action_bridge.h" if exists(header): - text = read_text(header) - for token in [ - "LegacyChatDeliveryActionBridge", - "ChatDeliveryActionPortAdapter", - "[[deprecated", - ]: - if token not in text: - failures += fail(f"LegacyChatDeliveryActionBridge header missing token: {token}") + failures += fail(f"LegacyChatDeliveryActionBridge header must stay absent: {header}") source = "modules/ui_chat_runtime/src/chat_delivery_action_port_adapter.cpp" if exists(source): @@ -3956,19 +3934,7 @@ def check_map_overlay_route_tracker_boundary() -> int: failures += fail(f"MapOverlayProjector source missing token: {token}") if exists(legacy_header): - text = strip_cpp_comments(read_text(legacy_header)) - for token in [ - "IMapOverlayGpsSource", - "IMapOverlayTeamSource", - "LegacyMapOverlaySource", - "MapOverlaySnapshotSource", - "[[deprecated", - ]: - if token not in text: - failures += fail(f"LegacyMapOverlaySource header missing token: {token}") - for token in ["lvgl.h", "lv_obj_t", "platform::ui::gps::get_data", "team_ui_chatlog_load_recent", "decodeTeamChatLocation"]: - if token in text: - failures += fail(f"LegacyMapOverlaySource header exposes forbidden token: {token}") + failures += fail(f"LegacyMapOverlaySource header must stay absent: {legacy_header}") if exists(legacy_source): text = strip_cpp_comments(read_text(legacy_source)) @@ -4077,7 +4043,7 @@ def check_map_overlay_route_tracker_boundary() -> int: "TeamMapOverlaySource", "Map route/tracker overlay projection", "MapOverlayProjector", - "map renderers consume `MapOverlaySnapshotSource` only", + "keep runtime map overlay headers as the only build-visible API", ]: if token not in text: failures += fail(f"LEGACY_BURNDOWN_REGISTER missing map overlay token: {token}") @@ -4653,9 +4619,7 @@ def check_key_verification_type_shape() -> int: def check_key_verification_bridge_boundary() -> int: failures = 0 bridge_files = [ - "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_source.h", "modules/ui_shared/src/ui/presentation_sources/legacy_key_verification_source.cpp", - "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_action_sink.h", "modules/ui_shared/src/ui/presentation_sources/legacy_key_verification_action_sink.cpp", ] for path in bridge_files: @@ -4680,14 +4644,7 @@ def check_key_verification_bridge_boundary() -> int: source_header = "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_source.h" source_impl = "modules/ui_shared/src/ui/presentation_sources/legacy_key_verification_source.cpp" if exists(source_header): - text = read_text(source_header) - for token in [ - "LegacyKeyVerificationSource", - "KeyVerificationPresentationSource", - "[[deprecated", - ]: - if token not in text: - failures += fail(f"LegacyKeyVerificationSource header missing token: {token}") + failures += fail(f"LegacyKeyVerificationSource header must stay absent: {source_header}") if exists(source_impl): text = read_text(source_impl) for token in [ @@ -4707,14 +4664,7 @@ def check_key_verification_bridge_boundary() -> int: sink_header = "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_action_sink.h" sink_impl = "modules/ui_shared/src/ui/presentation_sources/legacy_key_verification_action_sink.cpp" if exists(sink_header): - text = read_text(sink_header) - for token in [ - "LegacyKeyVerificationActionSink", - "KeyVerificationActionSink", - "[[deprecated", - ]: - if token not in text: - failures += fail(f"LegacyKeyVerificationActionSink header missing token: {token}") + failures += fail(f"LegacyKeyVerificationActionSink header must stay absent: {sink_header}") if exists(sink_impl): text = read_text(sink_impl) for token in [ diff --git a/tools/architecture/check_phase8_layout_ready.py b/tools/architecture/check_phase8_layout_ready.py index d56a1226..469f3135 100644 --- a/tools/architecture/check_phase8_layout_ready.py +++ b/tools/architecture/check_phase8_layout_ready.py @@ -169,16 +169,8 @@ def check_required_files() -> int: "modules/ui_key_verification_runtime/tests/test_key_verification_runtime_adapters.cpp", "modules/ui_legacy_adapters/README.md", "modules/ui_legacy_adapters/library.json", - "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_chat_delivery_action_bridge.h", - "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_session.h", - "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_source.h", - "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_action_sink.h", - "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_map_overlay_source.h", "modules/ui_chat_runtime/tests/test_chat_delivery_event_projection_adapter.cpp", "modules/ui_chat_runtime/tests/test_chat_delivery_action_port_adapter.cpp", - "modules/ui_legacy_adapters/tests/test_legacy_chat_delivery_action_bridge_legacy_alias.cpp", - "modules/ui_legacy_adapters/tests/test_legacy_key_verification_adapters_legacy_alias.cpp", - "modules/ui_legacy_adapters/tests/test_legacy_map_overlay_source_legacy_alias.cpp", "modules/ui_lvgl_core/README.md", "modules/ui_lvgl_core/library.json", "modules/ui_lvgl_core/include/ui_lvgl_core/lvgl_focus_group.h", @@ -2060,16 +2052,6 @@ def check_forwarding_headers() -> int: "ui_map_runtime/map_tiles/filesystem_map_tile_source.h", "modules/ui_shared/include/ui/map_overlay/map_overlay_projector.h": "ui_map_runtime/map_overlay/map_overlay_projector.h", - "modules/ui_shared/include/ui/presentation_sources/legacy_chat_delivery_action_bridge.h": - "ui_chat_runtime/chat_delivery_action_port_adapter.h", - "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_session.h": - "ui_key_verification_runtime/key_verification_session_adapter.h", - "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_source.h": - "ui_key_verification_runtime/key_verification_presentation_source.h", - "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_action_sink.h": - "ui_key_verification_runtime/key_verification_action_sink.h", - "modules/ui_shared/include/ui/presentation_sources/legacy_map_overlay_source.h": - "ui_map_runtime/map_overlay_snapshot_source.h", "modules/ui_shared/include/ui/screens/chat/team_position_picker_renderer.h": "ui_lvgl_ux_packs/common/team_position_picker_renderer.h", "modules/ui_shared/include/ui/screens/chat/key_verification_modal_renderer.h": @@ -2084,18 +2066,6 @@ def check_forwarding_headers() -> int: text = read_text(path) if include_token not in text: failures += fail(f"{path} does not forward to {include_token}") - if path in { - "modules/ui_shared/include/ui/presentation_sources/legacy_chat_delivery_action_bridge.h", - "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_session.h", - "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_source.h", - "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_action_sink.h", - "modules/ui_shared/include/ui/presentation_sources/legacy_map_overlay_source.h", - }: - if "using Legacy" not in text or "[[deprecated" not in text: - failures += fail(f"{path} must be a deprecated alias forwarding header") - if "class " in text or "struct " in text: - failures += fail(f"{path} must not contain a class or struct implementation") - continue if "class " in text or "struct " in text or "namespace " in text: failures += fail(f"{path} must be a forwarding header only") @@ -2176,11 +2146,6 @@ def check_authoritative_include_paths() -> int: "modules/ui_shared/include/ui/map_tiles/map_tile_render_queue.h", "modules/ui_shared/include/ui/map_tiles/legacy_filesystem_map_tile_source.h", "modules/ui_shared/include/ui/map_overlay/map_overlay_projector.h", - "modules/ui_shared/include/ui/presentation_sources/legacy_chat_delivery_action_bridge.h", - "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_session.h", - "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_source.h", - "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_action_sink.h", - "modules/ui_shared/include/ui/presentation_sources/legacy_map_overlay_source.h", "modules/ui_shared/include/ui/screens/chat/team_position_picker_renderer.h", "modules/ui_shared/include/ui/screens/chat/key_verification_modal_renderer.h", } @@ -2213,7 +2178,6 @@ def check_build_manifest_authority() -> int: "modules/ui_chat_runtime/include", "modules/ui_map_runtime/include", "modules/ui_gps_runtime/include", - "modules/ui_legacy_adapters/include", "modules/ui_lvgl_core/include", "modules/ui_lvgl_ux_packs/include", ] @@ -2232,7 +2196,6 @@ def check_build_manifest_authority() -> int: '"name": "ui_chat_runtime"', '"name": "ui_map_runtime"', '"name": "ui_gps_runtime"', - '"name": "ui_legacy_adapters"', '"name": "ui_lvgl_core"', '"name": "ui_lvgl_ux_packs"', ], diff --git a/tools/architecture/check_phase9_final_ready.py b/tools/architecture/check_phase9_final_ready.py index 333fba20..127ddd94 100644 --- a/tools/architecture/check_phase9_final_ready.py +++ b/tools/architecture/check_phase9_final_ready.py @@ -53,14 +53,7 @@ def iter_code_files(root: Path): def is_allowed_alias_path(path: Path) -> bool: - rel = path.relative_to(ROOT).as_posix() name = path.name - allowed_prefixes = [ - "modules/ui_legacy_adapters/include/ui_legacy_adapters/", - "modules/ui_shared/include/ui/presentation_sources/", - ] - if any(rel.startswith(prefix) for prefix in allowed_prefixes): - return True return ( name.endswith("_legacy_alias_test.cpp") or name.endswith("_legacy_alias.cpp") @@ -76,6 +69,11 @@ def check_no_main_code_includes_burned_down_legacy_headers(failures: list[str]) '#include "ui_legacy_adapters/legacy_key_verification_action_sink.h"', '#include "ui_legacy_adapters/legacy_key_verification_session.h"', '#include "ui_legacy_adapters/legacy_map_overlay_source.h"', + '#include "ui/presentation_sources/legacy_chat_delivery_action_bridge.h"', + '#include "ui/presentation_sources/legacy_key_verification_source.h"', + '#include "ui/presentation_sources/legacy_key_verification_action_sink.h"', + '#include "ui/presentation_sources/legacy_key_verification_session.h"', + '#include "ui/presentation_sources/legacy_map_overlay_source.h"', ] for root_name in ["apps", "legacy/app_implementations", "modules", "platform", "boards"]: for path in iter_code_files(ROOT / root_name): @@ -156,7 +154,10 @@ def check_cross_doc_consistency(failures: list[str]) -> None: ) require_any_token( rel, - ["deprecated aliases", "deprecated alias", "deprecated aliases only"], + [ + "alias build include surface removed", + "retired from build include surface", + ], failures, ) @@ -210,6 +211,16 @@ def check_required_files(failures: list[str]) -> None: "modules/ui_legacy_adapters/src/legacy_key_verification_action_sink.cpp", "modules/ui_legacy_adapters/src/legacy_key_verification_session.cpp", "modules/ui_legacy_adapters/src/legacy_map_overlay_source.cpp", + "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_chat_delivery_action_bridge.h", + "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_source.h", + "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_action_sink.h", + "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_session.h", + "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_map_overlay_source.h", + "modules/ui_shared/include/ui/presentation_sources/legacy_chat_delivery_action_bridge.h", + "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_source.h", + "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_action_sink.h", + "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_session.h", + "modules/ui_shared/include/ui/presentation_sources/legacy_map_overlay_source.h", ]: require_absent(rel, failures) diff --git a/tools/architecture/check_phase9_legacy_burndown_ready.py b/tools/architecture/check_phase9_legacy_burndown_ready.py index 02b1696e..aa4475a0 100644 --- a/tools/architecture/check_phase9_legacy_burndown_ready.py +++ b/tools/architecture/check_phase9_legacy_burndown_ready.py @@ -66,17 +66,7 @@ def iter_code_files(root: Path): def is_allowed_legacy_chat_include(path: Path) -> bool: - rel = path.relative_to(ROOT).as_posix() name = path.name - allowed = { - "modules/ui_legacy_adapters/tests/test_legacy_chat_delivery_action_bridge_legacy_alias.cpp", - } - if rel in allowed: - return True - if rel in { - "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_chat_delivery_action_bridge.h", - }: - return True return ( name.endswith("_legacy_alias_test.cpp") or name.endswith("_legacy_alias.cpp") @@ -85,22 +75,7 @@ def is_allowed_legacy_chat_include(path: Path) -> bool: def is_allowed_legacy_key_map_include(path: Path) -> bool: - rel = path.relative_to(ROOT).as_posix() name = path.name - allowed = { - "modules/ui_legacy_adapters/tests/test_legacy_key_verification_adapters_legacy_alias.cpp", - "modules/ui_legacy_adapters/tests/test_legacy_map_overlay_source_legacy_alias.cpp", - "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_session.h", - "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_source.h", - "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_action_sink.h", - "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_map_overlay_source.h", - "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_session.h", - "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_source.h", - "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_action_sink.h", - "modules/ui_shared/include/ui/presentation_sources/legacy_map_overlay_source.h", - } - if rel in allowed: - return True return ( name.endswith("_legacy_alias_test.cpp") or name.endswith("_legacy_alias.cpp") @@ -112,6 +87,7 @@ def check_main_code_no_legacy_chat_includes(failures: list[str]) -> None: forbidden_includes = [ '#include "ui_legacy_adapters/legacy_chat_delivery_action_bridge.h"', '#include "ui_legacy_adapters/legacy_chat_delivery_event_bridge.h"', + '#include "ui/presentation_sources/legacy_chat_delivery_action_bridge.h"', ] for root_name in ["apps", "legacy/app_implementations", "modules", "platform", "boards"]: for path in iter_code_files(ROOT / root_name): @@ -129,6 +105,10 @@ def check_main_code_no_legacy_key_map_includes(failures: list[str]) -> None: '#include "ui_legacy_adapters/legacy_key_verification_action_sink.h"', '#include "ui_legacy_adapters/legacy_key_verification_session.h"', '#include "ui_legacy_adapters/legacy_map_overlay_source.h"', + '#include "ui/presentation_sources/legacy_key_verification_source.h"', + '#include "ui/presentation_sources/legacy_key_verification_action_sink.h"', + '#include "ui/presentation_sources/legacy_key_verification_session.h"', + '#include "ui/presentation_sources/legacy_map_overlay_source.h"', ] for root_name in ["apps", "legacy/app_implementations", "modules", "platform", "boards"]: for path in iter_code_files(ROOT / root_name): @@ -141,99 +121,25 @@ def check_main_code_no_legacy_key_map_includes(failures: list[str]) -> None: def check_legacy_headers_are_aliases(failures: list[str]) -> None: - headers = { - "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_chat_delivery_action_bridge.h": [ - "ui_chat_runtime/chat_delivery_action_port_adapter.h", - "using LegacyChatDeliveryActionBridge", - "ChatDeliveryActionPortAdapter", - "[[deprecated", - ], - } - for rel, tokens in headers.items(): - require_tokens(rel, tokens, failures) - forbid_tokens( - rel, - [ - "class LegacyChatDelivery", - "struct LegacyChatDelivery", - "handleMessageAction(", - "onChatSendResult(", - "onAckTimeout(", - "ChatService&", - "IChatDeliveryActionSink&", - ], - failures, - ) + for rel in [ + "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_chat_delivery_action_bridge.h", + "modules/ui_shared/include/ui/presentation_sources/legacy_chat_delivery_action_bridge.h", + ]: + require_absent(rel, failures) def check_key_map_legacy_headers_are_aliases(failures: list[str]) -> None: - headers = { - "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_session.h": [ - "ui_key_verification_runtime/key_verification_session_adapter.h", - "using LegacyKeyVerificationSession", - "KeyVerificationSessionAdapter", - "[[deprecated", - ], - "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_source.h": [ - "ui_key_verification_runtime/key_verification_presentation_source.h", - "using LegacyKeyVerificationSource", - "KeyVerificationPresentationSource", - "[[deprecated", - ], - "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_action_sink.h": [ - "ui_key_verification_runtime/key_verification_action_sink.h", - "using LegacyKeyVerificationActionSink", - "KeyVerificationActionSink", - "[[deprecated", - ], - "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_map_overlay_source.h": [ - "ui_map_runtime/map_overlay_snapshot_source.h", - "using LegacyMapOverlaySource", - "MapOverlaySnapshotSource", - "[[deprecated", - ], - "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_session.h": [ - "ui_key_verification_runtime/key_verification_session_adapter.h", - "using LegacyKeyVerificationSession", - "KeyVerificationSessionAdapter", - "[[deprecated", - ], - "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_source.h": [ - "ui_key_verification_runtime/key_verification_presentation_source.h", - "using LegacyKeyVerificationSource", - "KeyVerificationPresentationSource", - "[[deprecated", - ], - "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_action_sink.h": [ - "ui_key_verification_runtime/key_verification_action_sink.h", - "using LegacyKeyVerificationActionSink", - "KeyVerificationActionSink", - "[[deprecated", - ], - "modules/ui_shared/include/ui/presentation_sources/legacy_map_overlay_source.h": [ - "ui_map_runtime/map_overlay_snapshot_source.h", - "using LegacyMapOverlaySource", - "MapOverlaySnapshotSource", - "[[deprecated", - ], - } - for rel, tokens in headers.items(): - require_tokens(rel, tokens, failures) - forbid_tokens( - rel, - [ - "class LegacyKeyVerification", - "struct LegacyKeyVerification", - "class LegacyMapOverlaySource", - "struct LegacyMapOverlaySource", - "buildKeyVerificationSnapshot(", - "buildMapOverlaySnapshot(", - "submitKeyVerificationNumber(", - "setNodeKeyManuallyVerified(", - "projectCurrentPosition(", - ], - failures, - ) + for rel in [ + "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_session.h", + "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_source.h", + "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_action_sink.h", + "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_map_overlay_source.h", + "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_session.h", + "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_source.h", + "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_action_sink.h", + "modules/ui_shared/include/ui/presentation_sources/legacy_map_overlay_source.h", + ]: + require_absent(rel, failures) def check_build_lists(failures: list[str]) -> None: @@ -242,12 +148,16 @@ def check_build_lists(failures: list[str]) -> None: "legacy_chat_delivery_event_bridge.cpp", "test_legacy_chat_delivery_action_bridge.cpp", "test_legacy_chat_delivery_event_bridge.cpp", + "test_legacy_chat_delivery_action_bridge_legacy_alias.cpp", "legacy_key_verification_source.cpp", "legacy_key_verification_action_sink.cpp", "legacy_key_verification_session.cpp", "legacy_map_overlay_source.cpp", "test_legacy_key_verification_adapters.cpp", "test_legacy_map_overlay_source.cpp", + "test_legacy_key_verification_adapters_legacy_alias.cpp", + "test_legacy_map_overlay_source_legacy_alias.cpp", + "ui_legacy_adapters/include", ] checked = [ "cmake/TrailMateLinuxSources.cmake", @@ -309,7 +219,6 @@ def main() -> int: "modules/ui_chat_runtime/src/chat_delivery_event_projection_adapter.cpp", "modules/ui_chat_runtime/tests/test_chat_delivery_action_port_adapter.cpp", "modules/ui_chat_runtime/tests/test_chat_delivery_event_projection_adapter.cpp", - "modules/ui_legacy_adapters/tests/test_legacy_chat_delivery_action_bridge_legacy_alias.cpp", "modules/ui_key_verification_runtime/README.md", "modules/ui_key_verification_runtime/library.json", "modules/ui_key_verification_runtime/include/ui_key_verification_runtime/key_verification_session_adapter.h", @@ -323,8 +232,6 @@ def main() -> int: "modules/ui_map_runtime/src/map_overlay_snapshot_source.cpp", "modules/ui_map_runtime/src/map_overlay_projection_adapter.cpp", "modules/ui_map_runtime/tests/test_map_overlay_snapshot_source.cpp", - "modules/ui_legacy_adapters/tests/test_legacy_key_verification_adapters_legacy_alias.cpp", - "modules/ui_legacy_adapters/tests/test_legacy_map_overlay_source_legacy_alias.cpp", "docs/audits/CHAT_LEGACY_DELIVERY_BURN_DOWN_AUDIT.md", "docs/audits/KEY_VERIFICATION_MAP_OVERLAY_LEGACY_BURN_DOWN_AUDIT.md", "docs/audits/LEGACY_BURNDOWN_REGISTER.md", @@ -340,10 +247,23 @@ def main() -> int: "modules/ui_legacy_adapters/src/legacy_key_verification_action_sink.cpp", "modules/ui_legacy_adapters/src/legacy_key_verification_session.cpp", "modules/ui_legacy_adapters/src/legacy_map_overlay_source.cpp", + "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_chat_delivery_action_bridge.h", + "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_session.h", + "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_source.h", + "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_key_verification_action_sink.h", + "modules/ui_legacy_adapters/include/ui_legacy_adapters/legacy_map_overlay_source.h", + "modules/ui_shared/include/ui/presentation_sources/legacy_chat_delivery_action_bridge.h", + "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_session.h", + "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_source.h", + "modules/ui_shared/include/ui/presentation_sources/legacy_key_verification_action_sink.h", + "modules/ui_shared/include/ui/presentation_sources/legacy_map_overlay_source.h", "modules/ui_legacy_adapters/tests/test_legacy_chat_delivery_action_bridge.cpp", "modules/ui_legacy_adapters/tests/test_legacy_chat_delivery_event_bridge.cpp", "modules/ui_legacy_adapters/tests/test_legacy_key_verification_adapters.cpp", "modules/ui_legacy_adapters/tests/test_legacy_map_overlay_source.cpp", + "modules/ui_legacy_adapters/tests/test_legacy_chat_delivery_action_bridge_legacy_alias.cpp", + "modules/ui_legacy_adapters/tests/test_legacy_key_verification_adapters_legacy_alias.cpp", + "modules/ui_legacy_adapters/tests/test_legacy_map_overlay_source_legacy_alias.cpp", ]: require_absent(rel, failures) @@ -496,7 +416,7 @@ def main() -> int: "Replacement", "Migration decision", "main runtime callers", - "deprecated forwarding aliases", + "alias build include surface removed", ], failures, ) @@ -510,7 +430,7 @@ def main() -> int: "KeyVerificationSessionAdapter", "MapOverlaySnapshotSource", "MapOverlayProjectionAdapter", - "burned-down to deprecated alias", + "retired from build include surface", ], failures, ) @@ -520,7 +440,7 @@ def main() -> int: "Burned Down In Phase 9.4", "Burned Down In Phase 9.5", "main runtime callers removed", - "deprecated aliases", + "alias build include surface removed", ], failures, ) @@ -528,7 +448,7 @@ def main() -> int: "docs/audits/PHASE9_FALLBACK_CONTAINMENT_LEDGER.md", [ "Chat LegacyDelivery bridges", - "burned down to deprecated alias", + "retired from build include surface", "ChatDeliveryActionPortAdapter", "ChatDeliveryEventProjectionAdapter", "KeyVerificationPresentationSource", @@ -551,7 +471,7 @@ def main() -> int: "docs references", "replacement", "migration decision", - "deprecated compatibility aliases only", + "alias build include surface removed", ], failures, ) diff --git a/tools/architecture/check_post_refactor_final_ready.py b/tools/architecture/check_post_refactor_final_ready.py index e22600c2..3a289acc 100644 --- a/tools/architecture/check_post_refactor_final_ready.py +++ b/tools/architecture/check_post_refactor_final_ready.py @@ -64,15 +64,9 @@ def iter_code_files(root: Path): def is_allowed_legacy_alias_path(path: Path) -> bool: - rel = path.relative_to(ROOT).as_posix() name = path.name - allowed_prefixes = [ - "modules/ui_legacy_adapters/include/ui_legacy_adapters/", - "modules/ui_shared/include/ui/presentation_sources/", - ] return ( - any(rel.startswith(prefix) for prefix in allowed_prefixes) - or name.endswith("_legacy_alias.cpp") + name.endswith("_legacy_alias.cpp") or name.endswith("_legacy_alias_test.cpp") or name.endswith("_compatibility_test.cpp") ) @@ -155,6 +149,11 @@ def check_no_main_code_includes_burned_down_legacy_headers( '#include "ui_legacy_adapters/legacy_key_verification_action_sink.h"', '#include "ui_legacy_adapters/legacy_key_verification_session.h"', '#include "ui_legacy_adapters/legacy_map_overlay_source.h"', + '#include "ui/presentation_sources/legacy_chat_delivery_action_bridge.h"', + '#include "ui/presentation_sources/legacy_key_verification_source.h"', + '#include "ui/presentation_sources/legacy_key_verification_action_sink.h"', + '#include "ui/presentation_sources/legacy_key_verification_session.h"', + '#include "ui/presentation_sources/legacy_map_overlay_source.h"', ] for root_name in ["apps", "legacy/app_implementations", "modules", "platform", "boards"]: for path in iter_code_files(ROOT / root_name): @@ -185,7 +184,7 @@ def check_phase12_docs(failures: list[str]) -> None: "Chat legacy alias headers", "KeyVerification legacy alias headers", "MapOverlay legacy alias header", - "`ui_shared` forwarding shims", + "`ui_shared` legacy presentation forwarding shims", "`legacy/app_implementations` roots", "Safe to delete now?", "Deletion condition", @@ -200,7 +199,7 @@ def check_phase12_docs(failures: list[str]) -> None: "LegacyKeyVerificationActionSink", "LegacyKeyVerificationSession", "LegacyMapOverlaySource", - "Main code must not include deprecated alias headers", + "Legacy alias headers are retired from build include surface", ], failures, )