You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Migrate Bitkit from Compose Navigation 2 to Navigation 3 through approachable, separate-concern pull requests, beginning with an isolated onboarding navigator and preserving a runnable, tested app after every merge.
Preparation
Update Android CLI and install or refresh the official navigation-3 skill before refinement and implementation.
Use the skill's current migration guidance and primary Android documentation as the implementation contract.
Reinspect current master after the toolchain/dependency issues land.
Use closed PR refactor: migrate navigation to nav3 #554 as the coverage inventory for routes, navigator state, entry organization, sheets, transitions, deep links, timed overlays, drawer/tab behavior, QR flows, settings, transfers, widgets, startup/PIN handling, and receive/send in-sheet flows.
Implement each slice from the settled current baseline with focused review and verification.
Incremental boundary
Navigation 2 remains the root host during the first slice. Its onboarding destination hosts a Navigation 3 NavDisplay with a typed back stack. Completion and cancellation return through explicit callbacks to the legacy root. This provides a complete onboarding vertical slice without coupling it to the whole-app migration.
Remove the final Navigation 2 host, adapters, dependencies, route definitions, and obsolete tests.
Reconcile final navigation guidance in AGENTS.md and .ai/rules/android.md.
Run the full navigation regression matrix and product journeys.
Each PR owns one concern and can split further when current inspection identifies a smaller independently testable boundary. Record every added slice in this issue before implementation.
Acceptance criteria
This issue links the refreshed navigation-3 skill version/date and primary Android migration sources.
Parent: #1113
Depends on: #1114, #1115, and #1116
Goal
Migrate Bitkit from Compose Navigation 2 to Navigation 3 through approachable, separate-concern pull requests, beginning with an isolated onboarding navigator and preserving a runnable, tested app after every merge.
Preparation
navigation-3skill before refinement and implementation.masterafter the toolchain/dependency issues land.Incremental boundary
Navigation 2 remains the root host during the first slice. Its onboarding destination hosts a Navigation 3
NavDisplaywith a typed back stack. Completion and cancellation return through explicit callbacks to the legacy root. This provides a complete onboarding vertical slice without coupling it to the whole-app migration.Ordered pull-request series
PR 1: Navigation 3 foundation and onboarding
NavBackStack, entry provider, state save/restore, and focused navigator tests.NavDisplaybehind the existing root boundary.PR 2: Shared route model and root screen navigation
Navigatorcontract.PR 3: Sheet scene strategy and in-sheet flows
PR 4: Lifecycle-driven and external navigation
PR 5: Complete migration and remove legacy navigation
AGENTS.mdand.ai/rules/android.md.Each PR owns one concern and can split further when current inspection identifies a smaller independently testable boundary. Record every added slice in this issue before implementation.
Acceptance criteria
navigation-3skill version/date and primary Android migration sources.masterand closed PR refactor: migrate navigation to nav3 #554.just compile,just test,just lint,just build, and affected device/journey checks pass for each slice.References