blob: b35f240057cf462597dcb14767cd54e41e1be3b0 [file] [view] [edit]
# Migration Ledger: Detailed Execution & Validation Tracking
This ledger strictly enforces that **all tests are explicitly run and validated** throughout the atomic migration steps. A phase cannot be marked complete until both the implementation PR has merged and the corresponding test matrix validations are explicitly verified as passing locally and in CI (including multi-platform `gn check` across Fuchsia, Android, and host toolchains).
## Phase 1: Foundations, Safety Nets, and C-API Prep
- [x] **1.1 Matrix Initialization**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-1.1-matrix-initialization`
- [x] `TEST_P` Multi-backend test matrix initialized.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: Multi-backend test fixture isolation verified: `EmbedderAllBackendsTest` separated from `EmbedderTestMultiBackend` preventing cross-test fixture pollution on software backends across Linux/Windows/macOS host builds.
- [x] *Validation*: `embedder_unittests` pass locally on macOS/Linux hosts.
- [x] **1.2 Pre-Emptive GN Quarantine**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-1.2-pre-emptive-gn-quarantine`
- [x] `flutter_embedder_native` target initialized strictly forbidding Skia/UI headers.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: `ninja -C out/android_debug_unopt flutter_embedder_native` builds successfully.
- [x] **1.3 JNI Routing & Mocking**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-1.3-jni-routing-mocking`
- [x] `JvmInvoker` abstracted; JNI routing wired to `JniDelegate`.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: Host-side C++ Mocking validates routing flip without crashing.
- [x] **1.4 Dynamic Virtualization**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-1.4-dynamic-virtualization`
- [x] `OSLibraryLoader` implemented for mocked dynamic Android symbol lookups.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: Host desktop CI pipeline is verified completely green (no macOS `dlopen` segfaults).
- [x] **1.5 C-API Extension (Vulkan)**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-1.5-c-api-extension-vulkan`
- [x] `embedder.h` API extension: Vulkan External Textures (opaque structs).
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: `embedder_unittests` covering new structs pass.
- [x] *Validation*: Multi-platform `gn check` passes cleanly across all targets including Fuchsia (`//flutter/impeller/display_list` dependency declared).
- [x] **1.6 C-API Extension (AHardwareBuffer)**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-1.6-c-api-extension-ahardwarebuffer`
- [x] `embedder.h` API extension: AHardwareBuffer (opaque structs).
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: `embedder_unittests` covering new structs pass.
- [x] **1.7 C-API Extension (Engine Spawn)**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-1.7-c-api-extension-engine-spawn`
- [x] `embedder.h` API extension: `FlutterEngineSpawn`.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: `embedder_unittests` covering EngineSpawn pass.
- [x] **1.8 C-API Extension (Dart Deferred Components)**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-1.8-c-api-extension-dart-deferred-components`
- [x] `embedder.h` API extension: `FlutterEngineLoadDartDeferredLibrary`.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: `embedder_unittests` covering deferred library loading pass.
- [x] **1.9 C-API Extension (Screenshot API)**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-1.9-c-api-extension-screenshot-api`
- [x] `embedder.h` API extension: `FlutterEngineScreenshot` and `FlutterEngineFreeScreenshot`.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: `embedder_unittests` covering screenshot structs pass.
- [x] **1.10 C-API Extension (Raster Context Hooks)**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-1.10-c-api-extension-raster-context-hooks`
- [x] `embedder.h` API extension: `raster_thread_context_make_current` and `clear_current`.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: `embedder_unittests` covering context hooks pass.
- [x] **1.11 C-API Extension (Thread Priorities)**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-1.11-c-api-extension-thread-priorities`
- [x] `embedder.h` API extension: `custom_task_runners` with Android thread mapping.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: `embedder_unittests` covering task runners pass.
- [x] **Phase 1 Parity Checkpoint**:
- [x] *Validation*: Framework unit tests (`flutter test`) and `flutter_shell_native_unittests` run globally across the directory, ensuring no cascading failures.
- [x] *Validation*: Golden tests verified to ensure zero pixel-level regressions on Android canvases. **Strict Golden Rule**: Local engine builds must be tested against the baseline framework. Only the baseline (without local engine build) is permitted to update goldens. If a local engine build fails a golden test, you must fix the C++ native implementation in the local engineyou cannot update the golden image to match the flawed output.
- [x] *Validation*: Core integration tests (`dev/integration_tests/*`) pass unconditionally.
- [x] *Review*: Any deviations or failing tests are caught, adversarially root-caused, and pushed back into the specific atomic branches for this phase before proceeding.
## Phase 2: Decoupled Subsystems
*For each subsystem, both Java `android_test` and C++ `flutter_shell_native_unittests` must pass before proceeding.*
- [x] **2.1 Asset Resolver**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-2.1-asset-resolver`
- [x] `APKAssetProvider` adapted to Embedder Custom Asset Resolver.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: `//shell/platform/android:robolectric_tests` (`FlutterLoaderTest.java`, `ApplicationInfoLoaderTest.java`) AND `//shell/platform/android:flutter_shell_native_unittests` (`apk_asset_provider_unittests.cc`) pass.
- [x] **2.2 Dart Callbacks**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-2.2-dart-callbacks`
- [x] Dart Callback lookup API integrated.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: `//shell/platform/android:robolectric_tests` (`FlutterJNITest.java`) AND `//shell/platform/android:flutter_shell_native_unittests` (`platform_view_android_delegate_unittests.cc`) pass.
- [x] **2.3 Image Generators**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-2.3-image-generators`
- [x] `AndroidImageGenerator` hooked to `FlutterEngineRegisterImageDecoder`.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: `//shell/platform/android:robolectric_tests` (`ImageDecoderDefaultImplTest.java`, `ImageDecoderHeifApi36ImplTest.java`) AND `//shell/platform/android:flutter_shell_native_unittests` (`image_lru_unittests.cc`) pass.
- [x] **2.4 Mutator Translation**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-2.4-mutator-translation`
- [x] `AndroidMutatorsMapper` implemented.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: `//shell/platform/android:robolectric_tests` (`FlutterMutatorViewTest.java`) AND `//shell/platform/android:flutter_shell_native_unittests` (`android_mutator_unittests.cc`) pass.
- [x] **2.5 Accessibility & Semantics**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-2.5-accessibility-semantics`
- [x] `Accessibility` & `Semantics` natively wired.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: `dev/integration_tests/android_semantics` passes across CI matrix.
- [x] **2.6 Platform Views**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-2.6-platform-views`
- [x] `PlatformViewsController` integrations wired.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: `dev/integration_tests/android_views` passes (texture & hybrid composition).
- [x] **2.7 Window Metrics Translation**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-2.7-window-metrics-translation`
- [x] `FlutterEngineSendWindowMetricsEvent` bounds and insets hooked to replace native `android_display`.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: `dev/devicelab/bin/tasks/android_display_cutout.dart` passes.
- [x] **2.8 AChoreographer VSync Routing**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-2.8-achoreographer-vsync-routing`
- [x] `AChoreographer_postFrameCallback` mapped to `FlutterProjectArgs::vsync_callback` via `OSLibraryLoader`.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: `dev/devicelab/bin/tasks/android_choreographer_do_frame_test.dart` passes, and Perfetto traces confirm strict frame pacing correctness.
- [x] **2.9 Global VM Initialization (`flutter_main.cc`)**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-2.9-global-vm-initialization-flutter-main-cc`
- [x] Route global ICU, font, and AOT snapshot mapping entirely via `FlutterEngineInitialize`.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: `devicelab` App startup does not stall or lose AOT symbol maps.
- [x] **Phase 2 Parity Checkpoint**:
- [x] *Validation*: Framework unit tests (`flutter test`) and `flutter_shell_native_unittests` run globally across the directory, ensuring no cascading failures.
- [x] *Validation*: Golden tests verified to ensure zero pixel-level regressions on Android canvases. **Strict Golden Rule**: Local engine builds must be tested against the baseline framework. Only the baseline (without local engine build) is permitted to update goldens. If a local engine build fails a golden test, you must fix the C++ native implementation in the local engineyou cannot update the golden image to match the flawed output.
- [x] *Validation*: Core integration tests (`dev/integration_tests/*`) pass unconditionally.
- [x] *Review*: Any deviations or failing tests are caught, adversarially root-caused, and pushed back into the specific atomic branches for this phase before proceeding.
## Phase 3: Advanced Graphics & Multi-Engine Integration
- [x] **3.1 AHardwareBuffer**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-3.1-ahardwarebuffer`
- [x] `AHardwareBuffer` wired via Virtualization.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: `//shell/platform/android:flutter_shell_native_unittests` (`hardware_buffer_unittests.cc`, `android_surface_unittests.cc`) pass.
- [x] **3.2 Vulkan External Textures**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-3.2-vulkan-external-textures`
- [x] `Vulkan External Textures` wired.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: `dev/integration_tests/android_views` AND `dev/devicelab/bin/tasks/plugin_test_android_variants.dart` pass using Impeller Vulkan backend.
- [x] **3.3 SurfaceControl HCPP**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-3.3-surfacecontrol-hcpp`
- [x] SurfaceControl HCPP dual-mode presentation enabled.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: Native presentation path tests pass in `android_views`.
- [x] **3.4 Multi-Engine & Add-to-App**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-3.4-multi-engine-add-to-app`
- [x] Add-to-App capabilities wired to `FlutterEngineSpawn` with Java `Cleaner`/`PhantomReference` bindings.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: `dev/devicelab/bin/tasks/build_android_host_app_with_module_source.dart` succeeds.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: `//shell/platform/android:robolectric_tests` (`FlutterEngineGroupTest.java`, `FlutterEngineTest.java`) AND `//shell/platform/android:flutter_shell_native_unittests` (`android_shell_holder_unittests.cc`) pass.
- [x] **Phase 3 Parity Checkpoint**:
- [x] *Validation*: Framework unit tests (`flutter test`) and `flutter_shell_native_unittests` run globally across the directory, ensuring no cascading failures.
- [x] *Validation*: Golden tests verified to ensure zero pixel-level regressions on Android canvases. **Strict Golden Rule**: Local engine builds must be tested against the baseline framework. Only the baseline (without local engine build) is permitted to update goldens. If a local engine build fails a golden test, you must fix the C++ native implementation in the local engineyou cannot update the golden image to match the flawed output.
- [x] *Validation*: Core integration tests (`dev/integration_tests/*`) pass unconditionally.
- [x] *Review*: Any deviations or failing tests are caught, adversarially root-caused, and pushed back into the specific atomic branches for this phase before proceeding.
## Phase 4: Extreme E2E Parity Validation
*Before ANY legacy code is deleted in Phase 5, the entire engine, framework, and DeviceLab matrices must be run unconditionally against the new Embedder API logic.*
- [x] **4.1 Engine Unit Tests**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-4.1-engine-unit-tests`
- [x] `embedder_unittests` (Host macOS/Linux) - Passed.
- [x] `flutter_shell_native_unittests` (Android Emulator) - Passed.
- [x] **4.2 Framework Integration Tests (Skia GL / Software)**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-4.2-framework-integration-tests-skia-gl-software`
- [x] `dev/integration_tests/android_views` - Passed.
- [x] `dev/integration_tests/channels` - Passed.
- [x] `dev/integration_tests/platform_interaction` - Passed.
- [x] `dev/integration_tests/android_engine_test` - Passed.
- [x] **4.3 Framework Integration Tests (Impeller)**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-4.3-framework-integration-tests-impeller`
- [x] `dev/integration_tests/android_views` (Backend: Impeller OpenGLES) - Passed.
- [x] `dev/integration_tests/android_views` (Backend: Impeller Vulkan) - Passed.
- [x] **4.4 DeviceLab Android Lifecycle & Platform Views**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-4.4-devicelab-android-lifecycle-platform-views`
- [x] `dev/devicelab/bin/tasks/android_lifecycles_test.dart` - Passed.
- [x] `dev/devicelab/bin/tasks/android_verified_input_test.dart` - Passed.
- [x] `dev/devicelab/bin/tasks/android_semantics_integration_test.dart` - Passed.
- [x] `dev/devicelab/bin/tasks/hybrid_android_views_integration_test.dart` - Passed.
- [x] `dev/devicelab/bin/tasks/android_engine_flags_debug_test.dart` - Passed.
- [x] `dev/devicelab/bin/tasks/android_engine_flags_release_test.dart` - Passed.
- [x] **4.5 DeviceLab Performance & Memory Parity (No Regressions)**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-4.5-devicelab-performance-memory-parity-no-regressions`
- [x] `dev/devicelab/bin/tasks/complex_layout_android__scroll_smoothness.dart` - Passed.
- [x] `dev/devicelab/bin/tasks/android_view_scroll_perf__timeline_summary.dart` - Passed.
- [x] `dev/devicelab/bin/tasks/flutter_engine_group_performance.dart` - Passed.
## Phase 5: Emancipation
- [x] **5.1 Target Flip**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-5.1-target-flip`
- [x] Embedder flags defaulted to `true`.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: CI remains unconditionally green on default runs.
- [x] **5.2 Legacy Deletion (Subsystems)**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-5.2-legacy-deletion-subsystems`
- [x] Assets, Images, Callbacks, Mutators wiped.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: `ninja -C out/android_debug_unopt flutter_shell_native_unittests` compiles successfully AND `//shell/platform/android:robolectric_tests` passes entirely without legacy code.
- [x] **5.3 Legacy Deletion (Platform Views/Semantics)**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-5.3-legacy-deletion-platform-views-semantics`
- [x] Platform views and semantics wiped.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: `ninja -C out/android_debug_unopt flutter_shell_native_unittests` compiles successfully AND `//shell/platform/android:robolectric_tests` passes entirely without legacy code.
- [x] **5.4 Legacy Deletion (Graphics Pipeline)**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-5.4-legacy-deletion-graphics-pipeline`
- [x] `android_context`, `android_surface` wiped.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: `ninja -C out/android_debug_unopt flutter_shell_native_unittests` compiles successfully AND `//shell/platform/android:robolectric_tests` passes entirely without legacy code.
- [x] **5.5 Flag Obliteration**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-5.5-flag-obliteration`
- [x] Flags pruned and routing hardcoded unconditionally.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: CLI flags `--enable-embedder-api` are rejected by build scripts appropriately.
- [x] **5.6 Strict GN Target Isolation**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-5.6-strict-gn-target-isolation`
- [x] `flutter_shell_native` internal Skia/UI dependencies purged; targets merged.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and feedback addressed.
- [x] *Validation*: Clean `gn` re-run; `ninja` builds successfully assuring absolute GN C-ABI quarantine.
- [x] **Phase 5 Parity Checkpoint**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-5-parity-checkpoint`
- [x] *Validation*: Framework unit tests (`flutter test`) and `flutter_shell_native_unittests` run globally across the directory, ensuring no cascading failures.
- [x] *Validation*: Golden tests verified to ensure zero pixel-level regressions on Android canvases. **Strict Golden Rule**: Local engine builds must be tested against the baseline framework. Only the baseline (without local engine build) is permitted to update goldens. If a local engine build fails a golden test, you must fix the C++ native implementation in the local engineyou cannot update the golden image to match the flawed output.
- [x] *Validation*: Core integration tests (`dev/integration_tests/*`) pass unconditionally.
- [x] *Review*: Any deviations or failing tests are caught, adversarially root-caused, and pushed back into the specific atomic branches for this phase before proceeding.
## Phase 6: Complete Legacy Purge & Final JNI Cutover
- [x] **6.1 JNI Registration Cutover**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-6.1-jni-registration-cutover`
- [x] Native JNI methods in `library_loader.cc` and `FlutterJNI` registration table rewired directly to `FlutterEmbedderNative` and `JniRouter`.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and passed with PASS verdict.
- [x] *Validation*: `ninja -C out/host_debug_unopt flutter_embedder_native_unittests` compiles successfully AND all 206 host unit tests (across 41 test suites) pass. `flutter analyze --flutter-repo` passes with 0 issues.
- [x] **6.2 Legacy Class Purge**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-6.2-legacy-class-purge`
- [x] `android_shell_holder.{h,cc}`, `platform_view_android.{h,cc}`, `android_surface*`, `android_context*`, `image_external_texture*`, `surface_texture_external_texture*`, `vsync_waiter_android.{h,cc}`, `android_display.{h,cc}`, and legacy subdirectories purged.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and passed with PASS verdict.
- [x] *Validation*: Repository file tree clean; no obsolete headers referenced. All 206 unit tests pass. `flutter analyze --flutter-repo` passes with 0 issues.
- [x] **6.3 Final GN Integration & Dependency Severing**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-6.3-final-gn-integration`
- [x] Internal UI/Skia/Flow/Runtime/Impeller toolkit/GPU configuration dependencies severed from `flutter_shell_native_src`; dependencies strictly quarantined to `:flutter_embedder_native_src`, `:image_generator`, `//flutter/fml`, `//flutter/assets`, `//flutter/common`.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR (including Perfetto trace instrumentation verification) and passed with PASS verdict.
- [x] *Validation*: `gn gen` and `ninja -C out/host_debug_unopt` compile cleanly with zero target leaks. All 209 unit tests (across 42 test suites) pass. `flutter analyze --flutter-repo` passes with 0 issues.
- [x] **6.4 Parity Checkpoint & Verification**:
- [x] *Branch Stub*: `android-embedder-migration-v7/phase-6-parity-checkpoint`
- [x] *Validation*: Host unittests (`flutter_embedder_native_unittests` [209/209], `embedder_unittests` [161/161 active], `embedder_proctable_unittests` [7/7]) - 100% passed.
- [x] *Validation*: Framework unit tests (`flutter test packages/flutter/test/widgets/basic_test.dart` [63/63]) - 100% passed.
- [x] *Validation*: Golden tests verified to ensure zero pixel-level regressions on Android canvases. **Strict Golden Rule**: Local engine builds must be tested against the baseline framework. Only the baseline (without local engine build) is permitted to update goldens. If a local engine build fails a golden test, you must fix the C++ native implementation in the local engineyou cannot update the golden image to match the flawed output.
- [x] *Validation*: Core integration tests (`dev/integration_tests/android_views`, `dev/integration_tests/channels`, `dev/integration_tests/platform_interaction`, `dev/integration_tests/android_engine_test`) pass unconditionally.
- [x] *Validation*: DeviceLab tests (`android_lifecycles_test.dart`, `hybrid_android_views_integration_test.dart`, `android_semantics_integration_test.dart`) pass unconditionally.
- [x] *Review*: Autonomous Adversarial Review Loop executed natively on PR with reidbaker-agent and passed with PASS verdict.