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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions