mirror of
https://github.com/ruvnet/RuView
synced 2026-07-22 17:23:19 +00:00
fix(adr-185): drop dead wifi-densepose-nn dep from train to slim [meridian] wheel
Root cause (investigated, same rigor as the MAT fix): `wifi-densepose-train` declared `wifi-densepose-nn` as a dependency but NEVER imported it anywhere in src/ or bin/ — a dead dependency. (The tch-backend model path uses the `tch` crate directly, not wifi-densepose-nn; `grep -r wifi_densepose_nn src/` returns nothing.) That dead dep pulled `ort` (ONNX Runtime) + reqwest/hyper into every downstream consumer, including the ADR-185 `[meridian]` wheel, which binds only train's pure-compute geometry / rapid_adapt / eval modules + signal::hardware_norm. `cargo tree -i wifi-densepose-nn` confirmed train was the SOLE path pulling nn into the wheel; after removal, the package is absent from the graph. Fix: remove the dead dep line from train's Cargo.toml (no code change, no feature-gating needed — nothing referenced it). Not a hoist: the coupling turned out to be nonexistent, not deep. Measured (maturin build --release --features meridian --strip): BEFORE: 1.8 MB AFTER: 1.7 MB (both already within the ADR-117 §5.4 <=5 MB budget). Honest note: unlike MAT — which instantiates OnnxSession and thus bundles the ort native runtime (8.4 MB) — train never references ort, so the native lib was dead-stripped and the wheel was already under budget. The real win is removing ort/reqwest/hyper from train's dependency graph and compile for ALL consumers, not a dramatic wheel shrink. Verified: cargo build -p wifi-densepose-train (default=[]) OK cargo tree -i wifi-densepose-nn -> no longer in the graph cargo test --features meridian --test meridian_parity 2/2 pass maturin develop --features meridian + pytest test_meridian 13/13 pass
This commit is contained in:
@@ -35,7 +35,13 @@ cuda = ["tch-backend"]
|
||||
[dependencies]
|
||||
# Internal crates
|
||||
wifi-densepose-signal = { version = "0.3.0", path = "../wifi-densepose-signal", default-features = false }
|
||||
wifi-densepose-nn = { version = "0.3.0", path = "../wifi-densepose-nn" }
|
||||
# NOTE: `wifi-densepose-nn` was declared here but never imported anywhere in
|
||||
# this crate's src/ or bin/ (the tch-backend model path uses `tch` directly,
|
||||
# not this crate). It was a dead dependency that pulled `ort` (ONNX Runtime) +
|
||||
# reqwest/hyper into every downstream consumer — including the ADR-185
|
||||
# `[meridian]` wheel. Removed to slim the dependency graph. Inference at
|
||||
# serving time is done via `wifi-densepose-nn` by the binaries that actually
|
||||
# load models, which depend on it directly.
|
||||
|
||||
# Core
|
||||
thiserror.workspace = true
|
||||
|
||||
Reference in New Issue
Block a user