Skip to content

Require evidence-bearing proof kernels in unsafe Rust V5 - #3536

Merged
joshlf merged 1 commit into
mainfrom
Gj24u57i5qq6wbmrnwypu7cy7dupt2mt3
Sep 3, 2026
Merged

Require evidence-bearing proof kernels in unsafe Rust V5#3536
joshlf merged 1 commit into
mainfrom
Gj24u57i5qq6wbmrnwypu7cy7dupt2mt3

Conversation

@joshlf

@joshlf joshlf commented Aug 3, 2026

Copy link
Copy Markdown
Member

Revise the runtime skill around the root cause of the V4 failures: agents must
not silently promote visible Rust syntax or artifact text into the semantic
proposition needed by an unsafe-code proof.

Require every load-bearing premise to state its exact proposition, provenance,
applicability domain, and downstream consumer. Distinguish directly observed
artifact facts from claims about Rust execution, typing, arithmetic, control
flow, library behavior, or caller obligations; the latter must follow from
applicable authoritative text, an explicit admitted TCB premise, or a checked
derivation. Verify that cited text entails the proposition in the direction the
proof uses it rather than merely mentioning related concepts.

Add a valid-use certificate that identifies why the counterexample or proof
case is admitted at each safe API boundary. Track root blockers separately from
the atoms that depend on them so one missing semantic bridge cannot be hidden by
many repeated conclusions. When an auditor must reconstruct a proof that the
code comment does not contain, require the report to expose that reconstructed
proof for maintainer review instead of silently accepting the site.

Keep the existing exact-domain, set-relation, staged-construction,
whole-execution, verdict-certificate, local-invariant, and abstraction-design
discipline. Express the new requirements as a compact evidence-bearing proof
kernel, not as a list of syntax forms or evaluated fixtures.

Agent-Authored-By: AI agent acting on Josh Liebow-Feeser's behalf


This PR is on branch codex/unsafe-rust-stack.

Latest Update: v23 — Compare vs v22

📚 Full Patch History

Links show the diff between the row version and the column version.

Version v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v23 v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v22 v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v21 v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v20 v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v19 v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v18 v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v17 v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v16 v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v15 v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v14 v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v13 v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v12 v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v11 v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v10 v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v9 v8 v7 v6 v5 v4 v3 v2 v1 Base
v8 v7 v6 v5 v4 v3 v2 v1 Base
v7 v6 v5 v4 v3 v2 v1 Base
v6 v5 v4 v3 v2 v1 Base
v5 v4 v3 v2 v1 Base
v4 v3 v2 v1 Base
v3 v2 v1 Base
v2 v1 Base
v1 Base
⬇️ Download this PR

Branch

git fetch origin refs/heads/Gj24u57i5qq6wbmrnwypu7cy7dupt2mt3 && git checkout -b pr-Gj24u57i5qq6wbmrnwypu7cy7dupt2mt3 FETCH_HEAD

Checkout

git fetch origin refs/heads/Gj24u57i5qq6wbmrnwypu7cy7dupt2mt3 && git checkout FETCH_HEAD

Cherry Pick

git fetch origin refs/heads/Gj24u57i5qq6wbmrnwypu7cy7dupt2mt3 && git cherry-pick FETCH_HEAD

Pull

git pull origin refs/heads/Gj24u57i5qq6wbmrnwypu7cy7dupt2mt3

Stacked PRs enabled by GHerrit.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 552516db54

ℹ️ 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".

Comment thread skills/unsafe-rust/references/proof-obligations.md
@joshlf
joshlf force-pushed the Gquwn2yzvxejg4lkqiqoaaowxzxbmj62x branch from 2a5da41 to a94d5db Compare August 29, 2026 10:42
@joshlf
joshlf force-pushed the Gj24u57i5qq6wbmrnwypu7cy7dupt2mt3 branch from 552516d to 546936e Compare August 29, 2026 10:42
@codecov-commenter

codecov-commenter commented Aug 29, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.85%. Comparing base (4501258) to head (3c482ac).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3536   +/-   ##
=======================================
  Coverage   91.85%   91.85%           
=======================================
  Files          20       20           
  Lines        6093     6093           
=======================================
  Hits         5597     5597           
  Misses        496      496           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@joshlf
joshlf force-pushed the Gj24u57i5qq6wbmrnwypu7cy7dupt2mt3 branch from 546936e to 8d7339d Compare August 29, 2026 11:11
@joshlf
joshlf force-pushed the Gquwn2yzvxejg4lkqiqoaaowxzxbmj62x branch from a94d5db to 3e392c9 Compare August 29, 2026 11:11
@joshlf
joshlf force-pushed the Gquwn2yzvxejg4lkqiqoaaowxzxbmj62x branch from 3e392c9 to 9a67406 Compare September 1, 2026 22:15
@joshlf
joshlf force-pushed the Gj24u57i5qq6wbmrnwypu7cy7dupt2mt3 branch from 8d7339d to 7887aaf Compare September 1, 2026 22:15
@joshlf
joshlf force-pushed the Gj24u57i5qq6wbmrnwypu7cy7dupt2mt3 branch from 7887aaf to 4cde1af Compare September 2, 2026 20:45
@joshlf
joshlf force-pushed the Gquwn2yzvxejg4lkqiqoaaowxzxbmj62x branch from 9a67406 to 425efb3 Compare September 2, 2026 20:45
@joshlf
joshlf force-pushed the Gj24u57i5qq6wbmrnwypu7cy7dupt2mt3 branch 3 times, most recently from ec78a58 to b99ddae Compare September 3, 2026 01:00
@joshlf
joshlf force-pushed the Gquwn2yzvxejg4lkqiqoaaowxzxbmj62x branch 2 times, most recently from 1d76861 to b6762cd Compare September 3, 2026 01:33
@joshlf
joshlf force-pushed the Gj24u57i5qq6wbmrnwypu7cy7dupt2mt3 branch from b99ddae to bd8bf74 Compare September 3, 2026 01:33
@joshlf
joshlf force-pushed the Gquwn2yzvxejg4lkqiqoaaowxzxbmj62x branch from b6762cd to 9011a48 Compare September 3, 2026 02:26
@joshlf
joshlf force-pushed the Gj24u57i5qq6wbmrnwypu7cy7dupt2mt3 branch 2 times, most recently from 26e4b89 to f52021f Compare September 3, 2026 03:03
@joshlf
joshlf force-pushed the Gquwn2yzvxejg4lkqiqoaaowxzxbmj62x branch 2 times, most recently from 986c4e6 to 6177ec2 Compare September 3, 2026 04:06
@joshlf
joshlf force-pushed the Gj24u57i5qq6wbmrnwypu7cy7dupt2mt3 branch from f52021f to 0f13ff8 Compare September 3, 2026 04:06
@joshlf
joshlf force-pushed the Gquwn2yzvxejg4lkqiqoaaowxzxbmj62x branch from 6177ec2 to 11844c0 Compare September 3, 2026 04:42
@joshlf
joshlf force-pushed the Gj24u57i5qq6wbmrnwypu7cy7dupt2mt3 branch 2 times, most recently from 24450e1 to 68cc8b3 Compare September 3, 2026 05:14
@joshlf
joshlf force-pushed the Gquwn2yzvxejg4lkqiqoaaowxzxbmj62x branch from 11844c0 to 387a2ec Compare September 3, 2026 05:14
@joshlf
joshlf force-pushed the Gj24u57i5qq6wbmrnwypu7cy7dupt2mt3 branch from 68cc8b3 to fd3c9d2 Compare September 3, 2026 05:47
@joshlf
joshlf force-pushed the Gquwn2yzvxejg4lkqiqoaaowxzxbmj62x branch 2 times, most recently from c88d2f4 to a353992 Compare September 3, 2026 06:17
@joshlf
joshlf force-pushed the Gj24u57i5qq6wbmrnwypu7cy7dupt2mt3 branch from fd3c9d2 to 18f87cf Compare September 3, 2026 06:17
@joshlf
joshlf force-pushed the Gquwn2yzvxejg4lkqiqoaaowxzxbmj62x branch from a353992 to ff01045 Compare September 3, 2026 06:47
@joshlf
joshlf force-pushed the Gj24u57i5qq6wbmrnwypu7cy7dupt2mt3 branch from 18f87cf to 8376fca Compare September 3, 2026 06:47
Base automatically changed from Gquwn2yzvxejg4lkqiqoaaowxzxbmj62x to main September 3, 2026 07:15
Revise the runtime skill around the root cause of the V4 failures: agents must
not silently promote visible Rust syntax or artifact text into the semantic
proposition needed by an unsafe-code proof.

Require every load-bearing premise to state its exact proposition, provenance,
applicability domain, and downstream consumer. Distinguish directly observed
artifact facts from claims about Rust execution, typing, arithmetic, control
flow, library behavior, or caller obligations; the latter must follow from
applicable authoritative text, an explicit admitted TCB premise, or a checked
derivation. Verify that cited text entails the proposition in the direction the
proof uses it rather than merely mentioning related concepts.

Add a valid-use certificate that identifies why the counterexample or proof
case is admitted at each safe API boundary. Track root blockers separately from
the atoms that depend on them so one missing semantic bridge cannot be hidden by
many repeated conclusions. When an auditor must reconstruct a proof that the
code comment does not contain, require the report to expose that reconstructed
proof for maintainer review instead of silently accepting the site.

Keep the existing exact-domain, set-relation, staged-construction,
whole-execution, verdict-certificate, local-invariant, and abstraction-design
discipline. Express the new requirements as a compact evidence-bearing proof
kernel, not as a list of syntax forms or evaluated fixtures.

gherrit-pr-id: Gj24u57i5qq6wbmrnwypu7cy7dupt2mt3
Agent-Authored-By: AI agent acting on Josh Liebow-Feeser's behalf
@joshlf
joshlf force-pushed the Gj24u57i5qq6wbmrnwypu7cy7dupt2mt3 branch from 8376fca to 3c482ac Compare September 3, 2026 07:16
@joshlf
joshlf enabled auto-merge September 3, 2026 07:17
@joshlf
joshlf added this pull request to the merge queue Sep 3, 2026
Merged via the queue into main with commit 34f2b6f Sep 3, 2026
105 checks passed
@joshlf
joshlf deleted the Gj24u57i5qq6wbmrnwypu7cy7dupt2mt3 branch September 3, 2026 07:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants