# API
`kcode-rust-source` is the neutral representation shared by managed Rust package tools.
Public API: `File { pub path: String, pub contents: String }`, opaque `Source`, `validate_name`, `Source::validate`, and the `Source::{files, name, version}` accessors.
`Source::validate` canonicalizes files by path and rejects duplicate or unsafe relative paths, `Cargo.lock`, missing root `Cargo.toml` or `Documentation.md`, nonliteral package metadata, a mismatched package name, and versions that are not canonical stable `major.minor.patch` values. All files and metadata are UTF-8 strings; filesystem policy and package lifecycle are intentionally outside this crate.