Updating the toolchain surfaced five workspaces that did not build. Every one
was verified against its ORIGINAL pre-update lockfile and manifest before being
touched: all of them were already broken. None of this was caused by the
dependency update.
The same handful of upstream migrations account for nearly all of it:
hmac 0.13 moved new_from_slice from Mac to KeyInit
openpay: op-webhook, op-bnpl, op-ewallets-asia, op-mobile-wallets — plus
the op-bnpl and op-ewallets-asia *test* targets, which a src-only search
misses and `--all-targets` does not.
reqwest 0.13 gates builder methods behind features
eoc-tools needed "query"; openpay/op-tax needed "form".
cipher 0.4 -> 0.5
openpay/op-mobile-wallets declared aes 0.9 (cipher 0.5) while ctr 0.9 and
aes-gcm 0.10 both sit on cipher 0.4. Aligned aes to 0.8.
jcp-schema::Grant gained budget_funds and caveats
mesh-core and joule-ui-interaction examples were never updated. A path
dependency, so no lockfile change could have caused or fixed this.
Not one line of this is a behaviour change. Every fix is an import, a feature
flag, a version alignment, or two struct fields.
The finding is larger than the diff. smart-byte (47k LOC, fixed earlier today),
openpay (six separate breakages across five crates), eoc, mesh and joule-ui were
all silently broken, all by the same small set of migrations, all invisible
because nothing ever compiled them. The build gate added in this branch
currently covers three workspaces; on this evidence it should cover every one.
Verified after fixing: openpay 1935 tests pass, eoc/mesh/joule-ui build clean.
Co-Authored-By: Claude Opus 4.8 <[email protected]>