You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bazel is documented as the production path and is run by nothing. That alone is a claim/behaviour gap, but it has gone further: the build files have drifted out of buildability while unwatched.
meld-core/BUILD.bazel globs all of src/**/*.rs and declares nine deps. Two crates the globbed sources use are absent from that list:
BUILD.bazel was last touched 2026-02-04; petgraph entered meld-core/Cargo.toml six weeks later. The pinned dependency set is also ~6 months stale and cannot satisfy the current manifests — MODULE.bazel.lock (dated March) has no wasmparser 0.246 while Cargo.toml requires it, and pins petgraph 0.6.5 where meld-core requires 0.8.3.
Not verified: I did not run bazel build (disk constraints on this machine). That a used extern crate missing from deps is a rustc error is mechanical rather than observed. The staleness and the missing deps are observed.
Why it matters
An agent or contributor following AGENTS.md's "Production/CI" instruction hits a broken build and has no way to know the document is stale.
rules/meld.bzl:214 points downstream rules_wasm_component consumers at //meld-cli:meld, so this is not a dormant path — it is the one other repos are wired to.
Not "fix the build" by default — decide which claim is true:
Bazel is production → fix the deps, refresh the lock, and add a CI job that builds it. Without a job it drifts again, and the next discovery is the same discovery.
Bazel is legacy/optional → say so in AGENTS.md, and decide what rules/meld.bzl should point at.
Either is defensible. What is not defensible is a document telling people the production build is the one nothing runs.
Toolchain pins also disagree across environments (Bazel and Nix pin rustc 1.85.0; CI and release use @stable; flake.nix ships bazel_7 while .bazelversion says 8.0.0; rust-version = "1.85" is an MSRV nothing tests). Worth folding into whichever decision you take rather than filing separately.
Measured
Bazel is documented as the production path and is run by nothing. That alone is a claim/behaviour gap, but it has gone further: the build files have drifted out of buildability while unwatched.
meld-core/BUILD.bazelglobs all ofsrc/**/*.rsand declares nine deps. Two crates the globbed sources use are absent from that list:BUILD.bazelwas last touched 2026-02-04;petgraphenteredmeld-core/Cargo.tomlsix weeks later. The pinned dependency set is also ~6 months stale and cannot satisfy the current manifests —MODULE.bazel.lock(dated March) has nowasmparser0.246 whileCargo.tomlrequires it, and pinspetgraph0.6.5 where meld-core requires 0.8.3.Not verified: I did not run
bazel build(disk constraints on this machine). That a used extern crate missing fromdepsis a rustc error is mechanical rather than observed. The staleness and the missing deps are observed.Why it matters
rules/meld.bzl:214points downstreamrules_wasm_componentconsumers at//meld-cli:meld, so this is not a dormant path — it is the one other repos are wired to.The decision this needs
Not "fix the build" by default — decide which claim is true:
rules/meld.bzlshould point at.Either is defensible. What is not defensible is a document telling people the production build is the one nothing runs.
Related
@stable;flake.nixshipsbazel_7while.bazelversionsays8.0.0;rust-version = "1.85"is an MSRV nothing tests). Worth folding into whichever decision you take rather than filing separately.