pub fn resolve_ferro_version(project_root: &Path) -> StringExpand description
Phase 156 §6 (D-16/D-21): resolve the ferro-cli version to pin in the
types-gen Docker stage. Parses the project’s Cargo.lock for the
ferro-rs package; falls back to the current binary’s own version
(env!("CARGO_PKG_VERSION")) when the lockfile is absent or has no
ferro-rs entry. Never returns an empty string.
Used by crate::commands::docker_init, crate::doctor::checks::docker_template_drift,
and the gestiscilo_fixture integration test to construct DockerContext at
the I/O boundary before passing the resolved version into the pure renderer.