fix(manifest): harden v0.6.0 canonical writes and MSRV#298
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
108fa63 to
8219786
Compare
PR Summary by QodoHarden ordvec-manifest v0.6.0 canonical writes and restore MSRV compatibility
AI Description
Diagram
High-Level Assessment
Files changed (8)
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2e4ed0e2dd
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "Codex (@codex) review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "Codex (@codex) address that feedback".
Code Review by Qodo
1.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8cab2323d0
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "Codex (@codex) review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "Codex (@codex) address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 285a4bbb5f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "Codex (@codex) review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "Codex (@codex) address that feedback".
* ci: harden v0.6 release gates * docs: polish v0.6.0 first-run surfaces * fix(release): fail closed across audit gaps * fix(ci): configure fuzz advisory manifest once
e5a5d2d
into
codex/restore-v0.6.0
* fix(release): restore the unreleased 0.6.0 train * docs(release): normalize the 0.6.0 release notes * fix(manifest): harden v0.6.0 canonical writes and MSRV (#298) * fix(manifest): harden canonical writes for v0.6.0 * fix(manifest): close canonical write races * fix(manifest): canonicalize equivalent JSON numbers * test(manifest): make inode swap deterministic * fix(manifest): normalize typed signed zero * Harden v0.6.0 release gates and first-run surfaces (#299) * ci: harden v0.6 release gates * docs: polish v0.6.0 first-run surfaces * fix(release): fail closed across audit gaps * fix(ci): configure fuzz advisory manifest once * docs(release): disclose Python wheel platform limits
Stacked on #297 so every review surface consistently targets the corrected
0.6.0train. Retarget tomainafter #297 merges.What changed
File::createmode/umask behavior for new Unix files and portable permissions for existing filesf64rusqlite 0.39because the 0.40 build dependency does not compile on the declared Rust 1.89 floorWhy
The manifest bytes are the bundle's content address. In-place truncation, feature-dependent JSON ordering, lossy paths, silent NaN-to-null conversion, and precision collisions all weaken that identity contract. Separately, the dependency bot's SQLite bump silently broke
ordvec-manifest --all-featureson the documented MSRV.The numeric path deliberately rejects values outside the exact canonical i64/u64/f64 domain instead of collapsing distinct arbitrary-precision inputs to the same bytes.
Validation
ordvec-manifest --all-features: 121 passedordvec-manifest --all-features --locked: 121 passed-D warningsCloses #294.
Closes #295.