Summary
Implement phase 4 of the repository-wide Rust modernization: switch the workspace to Edition 2024, remove local Edition 2021 overrides, and adopt current Rust language patterns where they are safe and materially improve maintainability.
Primary Architectural Plane
cross-layer
Owning Subsystem
workspace language/tooling baseline and internal async interface modernization
Architectural References
- AGENTS.md
- ARCHITECTURE.md
- docs/architecture/layer-boundaries.md
- xtask/AGENTS.md
Integration Boundaries
Allowed cross-plane touchpoints:
- Cargo.toml
- Cargo.lock
- shared/
- platform/
- services/
- workflows/
- ui/
- xtask/
- plans/
- docs/ if contributor workflow notes change
Explicit non-goals:
- Do not use the edition uplift to redesign product contracts.
- Do not remove object-safe async boundaries that are required for dyn dispatch in UI host APIs.
Scope In
- Set workspace edition to 2024 and remove local edition = "2021" overrides.
- Fix compiler, rustfmt, clippy, and macro fallout from the edition change.
- Replace eligible BoxFuture-based internal traits with native async fn or RPITIT where dyn dispatch is not required.
- Keep object-safe boxed async interfaces for AppStateStore, PrefsStore, and closure-based UI host APIs.
Scope Out
- New feature work unrelated to modernization.
- Contract/schema version redesign.
Background and Scope
Once the dependency graph is current and green, the workspace can safely uplift from Edition 2021 to Edition 2024. The codebase already uses some modern std features, so this phase should focus on targeted modernization rather than gratuitous churn.
Acceptance Criteria
- The workspace builds, tests, and passes clippy with edition = "2024".
- Local edition overrides are removed unless a tool-specific exception is proven necessary.
- Eligible internal async interfaces are modernized without breaking required trait-object use cases.
- cargo verify-repo, cargo xtask verify profile ui, and cargo xtask ui-hardening all pass.
Validation Requirements
- cargo fmt --all --check
- cargo clippy --workspace --all-targets --all-features -- -D warnings
- cargo verify-repo
- cargo xtask verify profile ui
- cargo xtask ui-hardening
Rollback Considerations
Rollback must revert the edition uplift and async-interface modernization together to avoid mixed edition or async-style assumptions.
Summary
Implement phase 4 of the repository-wide Rust modernization: switch the workspace to Edition 2024, remove local Edition 2021 overrides, and adopt current Rust language patterns where they are safe and materially improve maintainability.
Primary Architectural Plane
cross-layer
Owning Subsystem
workspace language/tooling baseline and internal async interface modernization
Architectural References
Integration Boundaries
Allowed cross-plane touchpoints:
Explicit non-goals:
Scope In
Scope Out
Background and Scope
Once the dependency graph is current and green, the workspace can safely uplift from Edition 2021 to Edition 2024. The codebase already uses some modern std features, so this phase should focus on targeted modernization rather than gratuitous churn.
Acceptance Criteria
Validation Requirements
Rollback Considerations
Rollback must revert the edition uplift and async-interface modernization together to avoid mixed edition or async-style assumptions.