Source, CI and independent audit authorities are policy-bound before a proposal can influence execution.
Code can change.
Trust shouldn't.
ProofPatch is a semantic upgrade firewall for GenLayer Intelligent Contracts. An exact candidate becomes live code only after trusted evidence, validator consensus, finality and post-install proof.
9da36f6983…f353c9fe9da36f6983…f353c9feRegistration finalized
Policy materialized
Target active
0x46eE236d…c6ea8c6D0x9e8ACf20…029BCf4fA code hash proves bytes.
It does not prove permission.
Upgradeable contracts usually answer “who can change code?” ProofPatch answers the harder question: “what must be proven before these exact replacement bytes are allowed to become the contract?”
Integrity ≠ authority
Matching a hash can prove the bytes are unchanged. It says nothing about whether the publisher is trusted or the change is semantically safe.
Schema ≠ semantics
A candidate can preserve interfaces while adding a privilege path, weakening evidence rules or changing user rights.
Accepted ≠ final
Consensus decisions remain appealable. Irreversible installation must be bound to protocol finality, not an early status badge.
A six-stage path from candidate to consequence.
Each stage removes a different class of upgrade risk. None is allowed to impersonate another.
Register the protected target
The target binds ProofPatch as its sole upgrade authority and registers an immutable security policy from the target itself.
Freeze candidate + evidence
Candidate bytes, immutable source URL, CI evidence and independent audit evidence become one proposal envelope.
Verify provenance first
Approved publisher namespaces, immutable references, evidence IDs, freshness windows and corroboration are checked before semantics can matter.
Reach exact semantic consensus
Leader and validators independently evaluate the consequential safety vector. Authorization-driving values must agree exactly.
Wait for finality
Acceptance is provisional. The upgrade call is emitted only through the finality path—never merely because a committee accepted a receipt.
Re-hash, install, confirm
The target re-fetches approved bytes, hashes them again, installs the exact candidate, then sends a finality-bound confirmation back to ProofPatch.
Designed to fail closed.
ProofPatch binds evidence trust, exact consequences and recovery rules into the same upgrade policy instead of relying on reviewer convention.
Candidate and evidence URLs must resolve through approved immutable repository prefixes.
Evidence carries publication/expiry rules and scoped identifiers that cannot be reused for the same authority and target.
Correctable fetch, parse and hash failures move the proposal into a repair state instead of forcing an unsafe terminal path.
The candidate hash and authorization-driving semantic result are exact values, never fuzzy confidence thresholds.
The upgrade message is finality-bound; acceptance alone cannot replace the protected target code.
Understand the system before you launch it.
This landing page is intentionally part product page, part operator manual. The app should never ask a user to sign something they do not understand.
A semantic firewall, not an admin multisig.
ProofPatch separates integrity from authorization. SHA-256 tells the target which bytes it received; policy-bound evidence and validator consensus decide whether those exact bytes are permitted to become live code.
Authority is explicit.
The policy binds distinct source, CI and independent-audit authorities plus immutable repository prefixes. Evidence has stable IDs, freshness limits and replay resistance. A URL or hash by itself is never treated as proof of authority.
Correctable failures stay correctable.
Fetch, parse and hash problems can move a proposal into a repair/retry state without changing the frozen candidate bytes. TTL and execution deadlines prevent stale proposals from holding an upgrade path indefinitely.
Exact consequences require exact agreement.
The semantic review evaluates storage compatibility, user rights, privilege paths, upgrader authority, evidence trust, finality safety, liveness and hidden value movement. Consequential values are not accepted through fuzzy tolerance.
Accepted is not installed.
A review decision can be accepted while still appealable. ProofPatch does not emit the upgrade consequence on acceptance. Installation is reached through finality, and a separate post-install confirmation proves the target persisted the approved proposal/hash.
The UI follows the protocol lifecycle.
The application keeps a submitted transaction ID, never blindly retries after submission, refreshes responsive non-final state after decisions and refreshes durable finalized state after finalization—without requiring a browser reload.
Consensus → finality → install → confirmation
review_proposal(#1)
↓ validators agree on exact consequential result
Accepted (appealable)
↓ protocol finalization
proofpatch_upgrade(#1, approved_sha256)
↓ target re-hashes approved bytes + replaces code
confirm_install(#1, installed_sha256)
↓ confirmation finalizes
VERIFIED / INSTALL_VERIFIEDDon't trust the landing page. Read Bradbury.
The product UI reads finalized governor and target state and checks the same values preserved in the independent final audit.
Repository claims meet finalized V3 state.
—Reads use finalized Bradbury state. No historical V1 value is substituted.
Open the actual ProofPatch workspace.
Read finalized state without a wallet. Connect only when an authorized action genuinely requires a signature.