Repository navigation
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
Security findingsFinding details are still loading. Check the individual review comments. ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## Gmhd5pbk4jan7lwabm442fdhchwui6nnr #3887 +/- ##
==================================================================
Coverage 48.89% 48.89%
==================================================================
Files 34 34
Lines 4733 4733
==================================================================
Hits 2314 2314
Misses 2419 2419 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f6bb2dfad2
ℹ️ 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 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 address that feedback".
| import Rust.Pointer | ||
| import Rust.Bytes | ||
| import Rust.Storage | ||
| import Rust.Referent |
There was a problem hiding this comment.
Add Referent to the axiom-audit roster
When Rust is audited, RustTests.lean:66 selects declarations strictly by their defining module, but its libraryModules roster omits Rust.Referent. Consequently, every library declaration introduced by this import is skipped, so a later sorryAx or other forbidden assumption in Referent.lean could pass the required full-library audit; add the new module to that roster.
AGENTS.md reference: anneal/AGENTS.md:L11-L13
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Code Review
This pull request introduces a new module Rust.Referent and its corresponding tests in Rust.ReferentTests. The new module defines referent states (uninit, initialized, and safe) along with the Transfer relation describing directional inclusion of domains when widths agree. It also includes several theorems proving properties about these states, transfers, and initialization preservation under slicing and splicing. I have no feedback to provide as there are no review comments.
f2aa9ee to
a11d390
Compare
f6bb2df to
04e750c
Compare
Add a shared algebra for uninitialized, initialized, and safe referent contents at an explicit byte width. Safe contents must pass both physical and mathematical decoding. This permits empty valid domains without an inhabitedness premise or a preferred representation. Prove the basic weakening, completeness, wrapper-domain, and initialized subrange rules. Transfers are conditional on equal endpoint widths, so composition also requires equal source and intermediate widths. Add a counterexample protecting that premise, plus invalid-boolean and empty-type tests. These are content facts; memory access and resource obligations remain separate. gherrit-pr-id: Gkc7ajwbs2rni7qu5gz3sdcm7457o6iuf Agent-authored-by: AI agent acting on joshlf's behalf
a11d390 to
394b6d6
Compare
04e750c to
04257d4
Compare
Add a shared algebra for uninitialized, initialized, and safe referent
contents at an explicit byte width. Safe contents must pass both physical
and mathematical decoding. This permits empty valid domains without an
inhabitedness premise or a preferred representation.
Prove the basic weakening, completeness, wrapper-domain, and initialized
subrange rules. Transfers are conditional on equal endpoint widths, so
composition also requires equal source and intermediate widths. Add a
counterexample protecting that premise, plus invalid-boolean and empty-type
tests. These are content facts; memory access and resource obligations
remain separate.
Authored by an AI agent acting on joshlf's behalf.
Latest Update: v4 — Compare vs v3
📚 Full Patch History
Links show the diff between the row version and the column version.
⬇️ Download this PR
Branch
git fetch origin refs/heads/Gkc7ajwbs2rni7qu5gz3sdcm7457o6iuf && git checkout -b pr-Gkc7ajwbs2rni7qu5gz3sdcm7457o6iuf FETCH_HEADCheckout
git fetch origin refs/heads/Gkc7ajwbs2rni7qu5gz3sdcm7457o6iuf && git checkout FETCH_HEADCherry Pick
git fetch origin refs/heads/Gkc7ajwbs2rni7qu5gz3sdcm7457o6iuf && git cherry-pick FETCH_HEADPull
Stacked PRs enabled by GHerrit.