Skip to content

chore(workspace): establish Rust foundation - #2

Merged
404khai merged 1 commit into
mainfrom
chore/phase-1-foundation
Sep 1, 2026
Merged

chore(workspace): establish Rust foundation#2
404khai merged 1 commit into
mainfrom
chore/phase-1-foundation

Conversation

@404khai

@404khai 404khai commented Sep 1, 2026

Copy link
Copy Markdown
Owner

Summary

Implements Phase 1 of the Roadrunner roadmap by establishing the Rust workspace and its initial crate boundaries without adding routing behavior.

  • creates roadrunner-core as the library boundary for future graph, geographic, cost, and routing work
  • creates roadrunner-cli with the roadrunner binary as the application composition boundary
  • configures edition 2024, Rust 1.85 minimum compatibility, Cargo resolver 3, and a committed lockfile
  • adds shared serde, thiserror, and tracing dependencies
  • adds workspace-wide strict Rust, Rustdoc, and Clippy lints
  • configures stable Rust with Clippy and rustfmt components
  • adds independent GitHub Actions jobs for formatting, Clippy, and tests
  • ignores Cargo build output while retaining Cargo.lock

Lint policy

The workspace denies missing public documentation, unsafe code, unused lifetimes and qualifications, broken Rustdoc links, all default and pedantic Clippy findings, debug macros, todo!, unimplemented!, and unwrap/expect usage.

CI additionally promotes compiler warnings to errors.

Phase boundary

This PR intentionally contains no graph representation or routing algorithm. Those remain assigned to later roadmap phases. The core crate exposes only a minimal version boundary so the CLI can compile against it and the workspace dependency direction is exercised.

Validation

  • cargo fmt --all -- --check
  • cargo clippy --workspace --all-targets --all-features --locked -- -D warnings
  • cargo test --workspace --locked
  • cargo run --locked --bin roadrunner
  • cargo metadata --locked --no-deps --format-version 1
  • git diff --check main...HEAD

All checks pass locally.

@404khai
404khai merged commit af5d657 into main Sep 1, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant