open-standards/joule-code/joule-code-rs/Cargo.toml
David Charlot 28c48b46e2
Some checks failed
wai cross-architecture byte-equality / windows-x86_64 (pull_request) Successful in 30s
wai cross-architecture byte-equality / linux-aarch64 (pull_request) Successful in 42s
joule-code conformance gate / Build + round-trip C1-C4 vectors (pull_request) Failing after 1m3s
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Successful in 1m1s
WAI conformance / cargo-class corpora · windows (pull_request) Successful in 1m21s
jouleclaw public surface must stay documented / Public-surface audit (jouleclaw-rs) (pull_request) Successful in 58s
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Successful in 20s
WAI conformance / cross-arch byte-equality · windows (pull_request) Successful in 22s
wai cross-architecture byte-equality / linux-x86_64 (pull_request) Successful in 14s
WAI conformance / cargo-class corpora · linux (pull_request) Successful in 29s
WAI conformance / cross-arch byte-equality · linux (pull_request) Successful in 15s
wai cross-architecture byte-equality / macos-arm64 (reference) (pull_request) Successful in 55s
WAI neural decoders end-to-end / synthetic fixtures → Rust decode → reference (±4) (pull_request) Failing after 1m5s
WAI conformance / cargo-class corpora · macos (pull_request) Successful in 13m25s
WAI conformance / cross-arch byte-equality · macos (pull_request) Successful in 3m42s
chore: Rust 1.98.0 (latest stable) + refresh every dependency
Toolchain 1.97.1 -> 1.98.0 (released 2026-08-18) in both `rust-toolchain.toml`
files, 33 pins across 5 CI workflows, and 26 workspace `rust-version`
declarations. Nothing pinned to 1.97 remains.

Dependencies refreshed in all 25 workspaces: 1,751 changes, every one
semver-compatible. The vendored `jouledesk-rs/vendor/libwebrtc` tree is
deliberately excluded — it is a patched vendor drop, not a managed dependency.

Note the `1.97` in `jouleclaw-loader-gguf/BENCHMARKS.md` is a benchmark timing
("1.97 ms"), not a version; a blind find-and-replace would have corrupted a
results table, so pins were matched by field rather than by string.

Also completes a cross-workspace regression this repo has been carrying. When
`budget_funds` and `caveats` were added to `jcp_schema::Grant`, the workspaces
that path-depend on `jcp-schema` were fixed one wave at a time, and three were
missed: `joule-ui`, `jouleclaw` and `mesh` still built `Grant` without the new
fields and had been failing to compile since. `cargo test --workspace` inside
`jcp-rs` never builds them, which is exactly why it went unseen; checking every
workspace independently is what surfaced it. Two of the six sites used field-init
shorthand (`budget_uj,` with no colon), so they needed a separate pass — a
reminder that a regex over initializers is not a substitute for compiling.

Verified: 21 of 25 workspaces `cargo check --workspace --all-targets` clean.

Not fixed here, and NOT caused by this change — each verified against the
pristine tree rather than assumed:

- `eoc/eoc-rs`: `RequestBuilder::query` is unavailable because reqwest is taken
  with `default-features = false`, which drops the feature providing it.
  reqwest is 0.13.4 before and after, and `serde_urlencoded` is absent from the
  lock in both, so this predates the refresh. Fixing it is a choice between
  enabling the feature and changing the call sites.
- `openpay`: `Hmac::new_from_slice` unresolved. hmac 0.12.1, digest 0.10.7 and
  sha2 0.10.9 are identical before and after — same versions in, same result.
- `smart-byte/smart-byte-rs`: never resolved on main. Its manifest asked for two
  features that do not exist (`rand_core`'s `alloc`, which no version has ever
  had, and `cbc`'s `std`, where 0.2 offers `alloc`); both are corrected here,
  which advances it from "will not resolve" to "will not compile" and exposes
  the real problem — the manifest wants `rand = "0.10"` while the lock pinned
  `rand 0.8.8` and 38 files still use the 0.8-era API (`thread_rng`,
  `rand::rngs::OsRng`). That is a two-major-version source migration and wants
  its own change, not a side effect of a toolchain bump.

`wai/wai-rs` needs libjxl present to build its default feature set; CI installs
`libjxl-dev`, so this is a local environment gap rather than a repo failure.
2026-08-26 07:58:37 -04:00

48 lines
1.4 KiB
TOML

[workspace]
resolver = "2"
members = [
"crates/joule-code-schema",
"crates/joule-code-cargo",
"crates/joule-code-receipt",
"crates/joule-code-cascade",
"crates/joule-code-collab",
"crates/joule-code-conformance",
"crates/joule-code-jcp",
"crates/joule-code-joulecontract",
"crates/joule-code-spec",
"crates/joule-code-review",
"crates/joule-code-remediate",
"crates/joule-code-release",
"crates/joule-code-reviewer",
"crates/joule-code-identity",
"crates/jwp",
"crates/joule-moq",
"crates/lockstep-quic",
]
[workspace.package]
version = "0.2.0"
edition = "2021"
license = "Apache-2.0"
repository = "https://github.com/transaction-science/open-standards"
rust-version = "1.98"
[workspace.dependencies]
joule-code-schema = { path = "crates/joule-code-schema" }
joule-code-spec = { path = "crates/joule-code-spec" }
joule-code-review = { path = "crates/joule-code-review" }
joule-code-release = { path = "crates/joule-code-release" }
joule-code-reviewer = { path = "crates/joule-code-reviewer" }
joule-code-identity = { path = "crates/joule-code-identity" }
joule-code-cargo = { path = "crates/joule-code-cargo" }
joule-code-receipt = { path = "crates/joule-code-receipt" }
joule-code-cascade = { path = "crates/joule-code-cascade" }
blake3 = "1"
ed25519-dalek = "2"
ciborium = "0.2"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
base64 = "0.22"
hex = "0.4"
thiserror = "2"