1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
# 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":"<urlopen error [Errno 111] Connection refused>"}}
```
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.
|