# Legacy comparison status ## Current native semantic-comparison baseline The native builder can collect portable semantic facts directly from either a rootfs tar archive or its companion manifest and compare: - package name/version records when supplied by a build manifest; - regular-file SHA-256 digests, symlinks, and hardlinks; - RT initrd path and SHA-256 digest; - enabled systemd service symlinks; and - archive member paths and kinds. Legacy tar paths using a leading `./` are normalized before comparison. Hasher metadata paths containing `.host` or `.fakedata` are excluded on both sides. This comparison deliberately does not claim byte-for-byte tar equivalence. Validated native plan command: ```text $ cargo run -- plan --spec profiles/alt-controller.toml target: alt-controller architecture: x86_64 format: tar stages: 1. resolve 2. install 3. finalize-rootfs 4. initramfs 5. package 6. manifest ``` ## Current blocker: unavailable Clippy component The required lint and formatting validations cannot run in the installed Rust toolchain. Exact command output from this workspace: ```text $ cargo clippy -- -D warnings error: no such command: `clippy` help: view all installed commands with `cargo --list` help: find a package to install `clippy` with `cargo search cargo-clippy` $ cargo fmt --check error: no such command: `fmt` help: a command with a similar name exists: `fix` help: view all installed commands with `cargo --list` help: find a package to install `fmt` with `cargo search cargo-fmt` ``` `cargo test` completed successfully before the formatting command (39 integration tests), and `cargo build --release` succeeds. The corrective action is to install the Clippy and rustfmt components/packages for this toolchain, then run: ```text cargo clippy -- -D warnings cargo fmt --check ``` ## Verification-runner readiness mismatch The workspace-level verifier correctly completed the Rust build and test phases, but its detected web-service readiness probe is not applicable to this CLI binary. Exact command evidence from this workspace: ```text $ hermes verify --json {"recipe":"Rust project","ok":false,"phases":[{"phase":"build","command":"cargo build","exitCode":0,"ok":true},{"phase":"test","command":"cargo test","exitCode":0,"ok":true}],"readiness":{"url":"http://127.0.0.1:8000/","ready":false,"error":""}} ``` The launched `alt-controller-image` process printed its Clap command help and exited normally; it is not an HTTP server and intentionally does not listen on port 8000. The corrective action is to configure the verifier for this CLI as a build-and-test-only Rust project, without an HTTP readiness probe. Until then, `cargo build --release`, `cargo test`, and explicit CLI smoke commands are the applicable project validations. ## Next comparison action Produce a native Controller artifact in an isolated workspace, collect its companion manifest, and run `alt-controller-image compare` against the observed legacy Controller tarball. Record every semantic delta as deliberate or unresolved in this document.