Skip to content
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
c0b4427
chore(deps): bump sha2 from 0.10.9 to 0.11.0
dependabot[bot] Aug 31, 2026
1981473
fix(deps): preserve SHA-256 hex encoding on sha2 0.11
seonghobae Aug 31, 2026
0052844
test(deps): capture independent lockfile resolution
seonghobae Aug 31, 2026
65d1748
test(deps): minimize PyO3 lock refresh
seonghobae Aug 31, 2026
78e6d19
test(deps): export generated standalone locks
seonghobae Aug 31, 2026
f0c358e
chore(deps): remove temporary lockfile diagnostic
seonghobae Aug 31, 2026
8f47809
test(deps): enforce standalone sha2 lock parity
seonghobae Aug 31, 2026
a116f78
test(deps): keep lock parity regression lint-clean
seonghobae Aug 31, 2026
0c5cf37
fix(deps): refresh standalone PyO3 lock for sha2 0.11
seonghobae Aug 31, 2026
5128a2b
fix(deps): refresh fuzz sha2 lock
seonghobae Aug 31, 2026
9f52218
test(release): pin Rust registry boundary
seonghobae Sep 1, 2026
441df12
fix(release): close crates.io publication boundary
seonghobae Sep 1, 2026
361caa7
docs(adr): classify Rust registry boundary
seonghobae Sep 1, 2026
107090d
docs(release): doctor Rust distribution boundary
seonghobae Sep 1, 2026
cf1cf06
docs(changelog): record Rust registry boundary
seonghobae Sep 1, 2026
0162185
docs(adr): index Rust registry boundary
seonghobae Sep 1, 2026
a8e403b
docs(product): state public package boundary
seonghobae Sep 1, 2026
5f38056
test(release): fail if PyO3 crate is registry-publishable
seonghobae Sep 1, 2026
e6335d1
fix(release): keep PyO3 bindings off crates.io
seonghobae Sep 1, 2026
453887e
docs(adr): bind both Rust crates to PyPI product boundary
seonghobae Sep 1, 2026
685dc5c
docs(doctoring): cover both internal Rust crates
seonghobae Sep 1, 2026
4eb95a3
docs(product): keep PyO3 crate inside release boundary
seonghobae Sep 1, 2026
debe63f
docs(changelog): record both internal Rust crate guards
seonghobae Sep 1, 2026
8e6c309
fix(changelog): satisfy authoritative fragment format
seonghobae Sep 1, 2026
756cf88
chore(core): reconcile Rust distribution lane with protected main
seonghobae Sep 2, 2026
0e139c8
Merge 756cf889a111717725de806329e8e5a64bbb5bc0 into 493326f2de49ea170…
seonghobae Sep 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions .github/workflows/lockfile-diagnostic.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Lockfile diagnostic

on:
pull_request:
paths:
- ".github/workflows/lockfile-diagnostic.yml"
- "Cargo.lock"
- "crates/mlsirm-core/Cargo.toml"
- "crates/fast-mlsirm-py/Cargo.lock"
- "fuzz/Cargo.lock"
Comment thread
github-actions[bot] marked this conversation as resolved.
Outdated

permissions:
contents: read

jobs:
lockfiles:
runs-on: ubuntu-24.04
steps:
- name: Check out exact PR head
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
- name: Install Rust
uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30
with:
toolchain: stable
- name: Resolve independent lockfiles
run: |
set -euo pipefail
cargo update --manifest-path crates/fast-mlsirm-py/Cargo.toml -p sha2 --precise 0.11.0
Comment thread
github-actions[bot] marked this conversation as resolved.
Outdated
cargo generate-lockfile --manifest-path fuzz/Cargo.toml
cargo metadata --locked --format-version 1 --manifest-path crates/fast-mlsirm-py/Cargo.toml >/dev/null
cargo metadata --locked --format-version 1 --manifest-path fuzz/Cargo.toml >/dev/null
echo 'PY_LOCK_BASE64_BEGIN'
base64 -w0 crates/fast-mlsirm-py/Cargo.lock
echo
echo 'PY_LOCK_BASE64_END'
echo 'FUZZ_LOCK_BASE64_BEGIN'
base64 -w0 fuzz/Cargo.lock
echo
echo 'FUZZ_LOCK_BASE64_END'
51 changes: 28 additions & 23 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion crates/mlsirm-core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ path = "src/entrypoint.rs"
[dependencies]
bytemuck = { version = "1.25.0", features = ["derive"], optional = true }
pollster = { version = "1.0.1", optional = true }
sha2 = "0.10.9"
sha2 = "0.11.0"
Comment thread
devin-ai-integration[bot] marked this conversation as resolved.
wgpu = { version = "30.0.0", optional = true }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
Expand Down
9 changes: 8 additions & 1 deletion crates/mlsirm-core/src/sampling_design.rs
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,14 @@ fn put_text(bytes: &mut Vec<u8>, value: &str) {
}

fn sha256_hex(bytes: &[u8]) -> String {
format!("{:x}", Sha256::digest(bytes))
const HEX: &[u8; 16] = b"0123456789abcdef";
let digest = Sha256::digest(bytes);
let mut encoded = String::with_capacity(digest.len() * 2);
for byte in digest {
encoded.push(HEX[(byte >> 4) as usize] as char);
encoded.push(HEX[(byte & 0x0f) as usize] as char);
}
encoded
Comment thread
seonghobae marked this conversation as resolved.
}

fn input_identity(
Expand Down
Loading