open-standards/openpay/crates
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science 2ee9bfe7ad clippy 1.99: two findings the comparison missed, and one it could not have seen
The two commits before this were written against a main 903 commits older than
this one, so their comparison of clippy 1.98.0 against 1.99.1 was re-run over
every cargo root that has gained Rust code since. It found these.

Method, because the first attempt was wrong

`rustup run <toolchain> cargo clippy` does NOT select that toolchain's clippy.
`cargo` resolves the `clippy` subcommand by searching PATH for `cargo-clippy`,
and on this machine Homebrew's (1.99.1) comes first, so both toolchains reported
`clippy 0.1.99` and the comparison was of one clippy against itself. The runs
behind this commit call each toolchain's own binary by path
(`~/.rustup/toolchains/<tc>/bin/cargo-clippy`, with `RUSTC` set to match and
`RUSTUP_TOOLCHAIN` unset), which gives `clippy 0.1.98` and `clippy 0.1.99`.
Confirming the delta that way: of the 24 constants `std::f64::consts` has
carried, 1.98.0 flags 18 and 1.99.1 flags 20 — the two added are exactly
EULER_GAMMA and GOLDEN_RATIO, as the previous commit says.

What changed

- wai-quantum, engine/synth/kak.rs: `1.618_033_988_749_895` becomes
  `std::f64::consts::GOLDEN_RATIO`. This is a `clippy::approx_constant`, which
  is deny-by-default, so it is an error and not a warning. The line arrived on
  2026-10-27, two days after the comparison was made, as one of six "mixing
  weights with nothing in common" that `kak` tries in turn. The literal and the
  constant are the same f64 — both `0x3ff9e3779b97f4a8` — so no value the
  decomposition computes changes. The constant is stable well below this tree's
  1.97 MSRV (it compiles on 1.96.0). The other five weights are not flagged:
  1/sqrt(3) and Feigenbaum's delta are not constants clippy knows.
  No workflow runs clippy inside wai/wai-quantum, so this was latent in CI and
  would have met anyone who ran clippy there by hand.

- Six `assert!(x.is_empty())` the previous commit missed, five of which were
  already in the tree when it was written: aac-core (translations, prediction
  twice, symbols), access-core (scan_order) and openpay's op-connect (account).
  `clippy::assert_is_empty` is new in 1.99, is allow-by-default, and reaches
  these crates through their own `#![warn(clippy::pedantic)]`, which
  `#![deny(warnings)]` then makes an error in the two aac crates.
  Each gains a message naming the value instead of the array comparison the
  previous commit used, because none of these six is a Vec or a slice: four are
  a HashMap, a BTreeSet or `OrderDiff`, which cannot be compared to `[] as [T; 0]`
  at all, and `Vec<PredictionCandidate>` derives Debug but not PartialEq, which
  `assert_eq!` against an empty array needs. A message is what the lint asks for
  anyway — it exists so a failure prints the value rather than only "false" — and
  it is the reason the lint does not fire at the other 147 `assert!(…is_empty())`
  sites that have arrived since: with a message supplied, it stays quiet.

Not changed, with the reason

- The 1.97 MSRV. `rust-version` is the floor a consumer of these reference
  implementations must meet, not the compiler this tree builds with; raising it
  narrows who can build an open standard and buys nothing, since no code here
  needs 1.98 or 1.99. `wai-quantum-webgpu.yml` installs 1.97.0 beside 1.99.1 to
  hold that floor, and that leg is untouched.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-11-02 08:06:30 -05:00
..
op-3ds2 sec: drop the unused rsa dependency from op-3ds2, removing the one advisory with no fix 2026-10-22 09:50:04 -04:00
op-batch Ingest batch 3: 9 more crates across openpay / smart-byte / eoc 2026-05-24 01:09:35 -04:00
op-bin ingest wave E: 3 crates · op-bin + smart-byte-tendermint + eoc-safety 2026-05-24 16:52:07 -04:00
op-bnpl chore(deps): update dependencies for Rust 1.98, pinning the crypto generations 2026-08-26 12:19:50 -04:00
op-cli Parallel ingest: 9 issues' worth of work across openpay / smart-byte / eoc 2026-05-23 13:24:05 -04:00
op-connect clippy 1.99: two findings the comparison missed, and one it could not have seen 2026-11-02 08:06:30 -05:00
op-core Parallel ingest: 9 issues' worth of work across openpay / smart-byte / eoc 2026-05-23 13:24:05 -04:00
op-crypto-extra clippy 1.99: fix what Rust 1.99.1's clippy newly reports, before the pin moves 2026-11-02 08:06:30 -05:00
op-dispute Initial import — three open standards under one shelf 2026-05-23 07:58:09 -04:00
op-dispute-evidence ingest wave A2: 3 crates · op-dispute-evidence + smart-byte-edv + eoc-agent 2026-05-24 11:42:26 -04:00
op-driver-sdk Parallel ingest: 9 issues' worth of work across openpay / smart-byte / eoc 2026-05-23 13:24:05 -04:00
op-emv clippy 1.99: fix what Rust 1.99.1's clippy newly reports, before the pin moves 2026-11-02 08:06:30 -05:00
op-ewallets-asia chore(deps): update dependencies for Rust 1.98, pinning the crypto generations 2026-08-26 12:19:50 -04:00
op-ffi-jni Initial import — three open standards under one shelf 2026-05-23 07:58:09 -04:00
op-ffi-swift Initial import — three open standards under one shelf 2026-05-23 07:58:09 -04:00
op-fraud Repo-wide toolchain refresh + jouleclaw policy/sandbox updates 2026-06-07 17:04:45 -04:00
op-fraud-graph Repo-wide toolchain refresh + jouleclaw policy/sandbox updates 2026-06-07 17:04:45 -04:00
op-fx Initial import — three open standards under one shelf 2026-05-23 07:58:09 -04:00
op-graph Initial import — three open standards under one shelf 2026-05-23 07:58:09 -04:00
op-iso8583 Ingest batch 2: 9 new crates across openpay / smart-byte / eoc 2026-05-23 18:12:24 -04:00
op-iso20022 clippy 1.99: fix what Rust 1.99.1's clippy newly reports, before the pin moves 2026-11-02 08:06:30 -05:00
op-ledger Initial import — three open standards under one shelf 2026-05-23 07:58:09 -04:00
op-mobile-wallets chore(deps): update dependencies for Rust 1.98, pinning the crypto generations 2026-08-26 12:19:50 -04:00
op-openbanking ingest wave A4: 3 crates · smart-byte-atproto + op-openbanking + eoc-distributed 2026-05-24 12:22:09 -04:00
op-orchestrator Repo-wide toolchain refresh + jouleclaw policy/sandbox updates 2026-06-07 17:04:45 -04:00
op-payouts ingest wave B: 3 crates · op-payouts + smart-byte-nostr + eoc-streaming 2026-05-24 13:39:09 -04:00
op-rails-a2a Initial import — three open standards under one shelf 2026-05-23 07:58:09 -04:00
op-rails-card Parallel ingest: 9 issues' worth of work across openpay / smart-byte / eoc 2026-05-23 13:24:05 -04:00
op-rails-crypto Initial import — three open standards under one shelf 2026-05-23 07:58:09 -04:00
op-rails-x402 op-rails-x402: x402 agentic-payment rail (HTTP 402 acceptance) 2026-06-25 15:43:20 -04:00
op-reconciliation clippy 1.99: fix what Rust 1.99.1's clippy newly reports, before the pin moves 2026-11-02 08:06:30 -05:00
op-refund Initial import — three open standards under one shelf 2026-05-23 07:58:09 -04:00
op-revrec ingest batch 5 (salvage): 2 crates from 9-agent dispatch (session-limit hit mid-batch) 2026-05-24 09:28:38 -04:00
op-routing clippy 1.99: fix what Rust 1.99.1's clippy newly reports, before the pin moves 2026-11-02 08:06:30 -05:00
op-screening clippy 1.99: fix what Rust 1.99.1's clippy newly reports, before the pin moves 2026-11-02 08:06:30 -05:00
op-server Initial import — three open standards under one shelf 2026-05-23 07:58:09 -04:00
op-settlement clippy 1.99: fix what Rust 1.99.1's clippy newly reports, before the pin moves 2026-11-02 08:06:30 -05:00
op-statements ingest wave C: 3 crates · op-statements + smart-byte-activitypub + eoc-observability 2026-05-24 13:51:09 -04:00
op-subscriptions Initial import — three open standards under one shelf 2026-05-23 07:58:09 -04:00
op-tax clippy 1.99: fix what Rust 1.99.1's clippy newly reports, before the pin moves 2026-11-02 08:06:30 -05:00
op-vault op-vault: test that a token is independent of the PAN, not free of "4242" 2026-09-30 23:07:55 -04:00
op-wasm Initial import — three open standards under one shelf 2026-05-23 07:58:09 -04:00
op-webhook fix(op-webhook): import KeyInit — hmac 0.13 moved new_from_slice off the Mac trait, breaking compute_signature 2026-08-26 09:28:40 -04:00