chore(host): add the two missing crates to src/host/Cargo.lock - #75
Conversation
`src/host_core/Cargo.toml` requires `ptype_format` and
`paint_type_plugins = { path = "../plugins", package = "paint-type-plugins" }`,
but `src/host/Cargo.lock` listed neither. So `cargo build --locked` could not
succeed against this tree, and nothing in CI has ever built the `paint-type`
binary that `src/host` produces.
Regenerated by a plain `cargo build` rather than `cargo generate-lockfile`,
so the change is add-only: 25 packages -> 29, with no re-resolution of what
was already there.
Review by command, not by eye. `.gitattributes:57` marks `Cargo.lock` as
`-diff`, so `git diff` renders this as "Binary files differ" with zero
insertions and zero deletions:
git show <sha>:src/host/Cargo.lock | grep -c '^name = ' # 29
git show <sha>:src/host/Cargo.lock | grep -c 'name = "ptype_format"' # 1
git show <sha>:src/host/Cargo.lock | grep -c 'name = "paint-type-plugins"' # 1
# and the assertion that matters -- nothing else moved:
diff <(git show origin/main:src/host/Cargo.lock | grep -A1 '^name = ') \
<(git show <sha>:src/host/Cargo.lock | grep -A1 '^name = ') | grep '^<'
# prints nothing: all 25 pre-existing name/version pairs are unchanged.
That last check is the point. A diffless PR is exactly where a silent
dependency bump would hide.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YSq3UodR3CjsuAK5yoTzHF
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (1)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
What this is
src/host/Cargo.lockwas missing two of the cratessrc/hostdepends on, socargo build --lockedcould not succeed against this tree.src/host_core/Cargo.tomlrequiresptype_formatandpaint_type_plugins = { path = "../plugins", package = "paint-type-plugins" }.Neither appeared in the lock.
Why it matters
No workflow in this repository has ever built
paint-type, the binarysrc/hostproduces.host.ymlbuilds thesrc/interface/ffiZig library and runscargo testagainsthost_core, which has nogossamer-rsdependency and neverlinks GTK. So this lock has never been exercised, and its staleness has never
surfaced.
This PR is the prerequisite for changing that. It does nothing else.
How it was produced
cargo build, notcargo generate-lockfile. That distinction is the wholepoint:
generate-lockfilere-resolves every dependency and may bump all 25existing entries to latest. A plain build adds only what is missing.
Result: 25 packages → 29, add-only.
🚨 Review this by command, not by eye
.gitattributes:57marksCargo.lockas-diff, so GitHub renders this PR asBinary files differ, 0 insertions, 0 deletions. There is no visible diff to review.And the assertion that actually matters:
This prints nothing. All 25 pre-existing name/version pairs are byte-identical.
A diffless PR is exactly where a silent dependency bump would hide, so that check
is not a formality.
Verified locally
With this lock in place, and the two Zig libraries built with Zig 0.15.1
(bare
zigon the dev machine is 0.16.0 and breaks the gossamer build):cargo build --release --locked --manifest-path src/host/Cargo.tomlsucceeds.paint-typebinary launches, holds a GTK window and a WebKitview, and draws to a canvas — proven against a same-run blank baseline, not
against a PNG-validity check, which passes on a blank canvas.
Wiring that proof into CI is the next PR. This one only unblocks
--locked.🤖 Generated with Claude Code
https://claude.ai/code/session_01YSq3UodR3CjsuAK5yoTzHF