Skip to content

Repository-wide Rust dependency modernization and edition 2024 uplift #127

@justinrayshort

Description

@justinrayshort

Summary

Perform a phased, repository-wide modernization of the Rust dependency graph, upgrade the workspace to Edition 2024, resolve resulting breakage, and preserve architectural boundaries plus deterministic validation.

Primary Architectural Plane

cross-layer

Owning Subsystem

workspace dependency governance, runtime/tooling modernization, and UI/runtime compatibility

Architectural References

  • ARCHITECTURE.md
  • docs/architecture/layer-boundaries.md
  • docs/process/execution-artifacts.md
  • docs/process/platform-regression-guardrails.md
  • AGENTS.md

Integration Boundaries

Allowed cross-plane touchpoints:

  • .github/
  • plans/
  • Cargo.toml
  • Cargo.lock
  • xtask/
  • shared/
  • platform/
  • services/
  • workflows/
  • ui/
  • schemas/ only for additive compatibility work when forced by upstream breaks
  • docs/

Explicit non-goals:

  • Do not change architectural dependency direction.
  • Do not introduce direct SurrealDB usage outside shared/surrealdb-access.
  • Do not move schema ownership out of schemas/.
  • Do not fork browser and desktop UI contracts.

Scope In

  • Create execution artifacts and issue-derived phase breakdown.
  • Pin repository Rust-installing workflows to the workspace toolchain.
  • Centralize governed dependencies in the workspace manifest.
  • Upgrade non-UI and UI dependencies to current stable releases.
  • Uplift the workspace to Edition 2024 and adopt targeted modern Rust patterns.

Scope Out

  • Product feature work unrelated to dependency/runtime modernization.
  • Intentional breaking schema or event redesign.
  • Infrastructure redesign outside toolchain pinning needed for deterministic validation.

Background and Scope

The repository currently passes cargo verify-repo and cargo xtask verify profile ui on main, but key ecosystem anchors lag current stable releases. The largest direct gaps identified on 2026-03-11 are Leptos 0.6 -> 0.8, SurrealDB 2.6 -> 3.0, Wasmtime 36 -> 42, jsonschema 0.18 -> 0.45, and deprecated serde_yaml -> serde_yaml_ng. The implementation must be phased so major framework and runtime jumps remain reviewable and reversible.

Acceptance Criteria

  • The work is split into bounded phase issues with issue-derived branches and matching execution artifacts.
  • cargo verify-repo passes after non-UI modernization.
  • cargo xtask verify profile ui and cargo xtask ui-hardening pass after UI modernization, with no floating-toolchain hardening blocker remaining.
  • The workspace builds and tests on Edition 2024 with clippy warnings denied.
  • Architectural boundary audits remain green.

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 be phase-bounded. Each phase should be revertible without leaving the repository between incompatible framework or toolchain states.

Implementation Notes

  • Treat crates.io stable releases at execution time as the source of truth for version targets.
  • Keep schema changes additive if unavoidable.
  • Prefer replacing deprecated crates with maintained low-risk alternatives.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions