{
  "at": "2026-10-12T10:11:26.502680+00:00",
  "scope": "Zero mandatory upgrade delay active for new admitted Sepolia registrations; existing bindings retain their original contracts and accepted delays",
  "contractSource": {
    "at": "2026-10-12T09:37:42.854Z",
    "commit": "bc642d36d5eafffcd04859574219acfa7a3bb27d",
    "checkedFiles": [
      {
        "path": "README.md",
        "sha256": "cca21f1183e6d75b84155ccaa9ed4b686922d6c135e2446f42012e9d1827f68e"
      },
      {
        "path": "SOURCE_MANIFEST.json",
        "sha256": "e3254f8291ee29e159adc747eac9717607f9db140383480ca3def8bf5620985e"
      },
      {
        "path": "src/ClausApprovalExecutor.sol",
        "sha256": "92df12300de383b7a5c113f43160ee95eb7f3edf25e83178d8bfbf005446a6df"
      },
      {
        "path": "test/ClausApprovalExecutor.t.sol",
        "sha256": "ca399a24f3a50e7d0991d2f3337b9d779ac5b805d1b5349a3ba72557c7bd9d96"
      }
    ],
    "allExact": true
  },
  "reproducedBuilds": {
    "at": "2026-10-12T09:39:38.903Z",
    "checks": [
      {
        "contract": "ClausApprovalExecutor",
        "artifactHash": "sha256:b151ae030dceb48608cacb46810cf0645b8b5bd627146ae7c39a715ca0ca3040",
        "exact": true
      },
      {
        "contract": "ClausReadonlyProject",
        "artifactHash": "sha256:c3df931853540619b892e720f44bc7e31c73b3c0701102eb286900fd2fecb13a",
        "exact": true
      }
    ]
  },
  "api": {
    "checkedAt": "2026-10-12T09:38:19.531Z",
    "deployment": "dpl_5ydQwKwZAtZoKSJn8Spc7Yuf62SJ",
    "previous": "dpl_366xJv2xm8UWC5mmSz63TdgVpFpE",
    "release": "30a1a3446d40192f13074a057d6559350d5844723774cae6e431e7565d3e2a9b",
    "verifiedFiles": 99,
    "changes": [
      "adapters/chain-read.mjs",
      "adapters/chain-executor.mjs",
      "adapters/claus-controller.mjs",
      "adapters/authorization.mjs",
      "interfaces/http.mjs",
      "interfaces/contract.mjs",
      "package.json",
      "package-lock.json"
    ],
    "operations": 90,
    "health": {
      "service": "Claus Network",
      "status": "ok",
      "release": "30a1a3446d40192f13074a057d6559350d5844723774cae6e431e7565d3e2a9b",
      "capabilities": [
        "identity",
        "project.registry",
        "source.snapshot",
        "build.compile",
        "public.projection"
      ],
      "reviewExecution": "restricted_pilot",
      "testnetExecution": "restricted_pilot",
      "collaborationExecution": "restricted_pilot",
      "walletExecution": "restricted_pilot",
      "vaultExecution": "restricted_pilot",
      "portabilityExecution": "restricted_pilot",
      "inferenceExecution": "not_enabled",
      "contractIntakeExecution": "restricted_pilot",
      "mainnetExecution": "not_enabled"
    },
    "inferenceScope": "prepared-interface-and-accounting; public-provider-disabled",
    "contractIntakeScope": "active-only-for-original-owner-operated-Sepolia-reference; unchanged-inbox-dispatcher-and-budget",
    "unauthenticatedAccessDenied": true
  },
  "controller": {
    "role": "controller",
    "checkedAt": "2026-10-12T09:38:58.270Z",
    "deployment": "dpl_AyuYBzytc6d8jML3esctn8VpcUNB",
    "previous": "dpl_7tZGTmwAKUwgcSaQrZRqs96b1M22",
    "release": "0b27e43e7147d0d8c8f7a69336ccfd891535a08f763f42a8a59bc21dd2d77852",
    "verifiedFiles": 65,
    "changes": [
      "adapters/chain-read.mjs",
      "adapters/chain-executor.mjs",
      "adapters/claus-controller.mjs",
      "adapters/authorization.mjs"
    ]
  },
  "executor": {
    "role": "executor",
    "checkedAt": "2026-10-12T09:38:31.610Z",
    "deployment": "dpl_8Au6rEEPXkns4w7afqEhSgQ8qUvn",
    "previous": "dpl_3xBawds16T7uUVcJSbQ5ECSLQQgC",
    "release": "e35e3122a5283fc57e90deacd44ad36c3b8e0b14c3e5526d8144099d8921f392",
    "verifiedFiles": 65,
    "changes": [
      "adapters/chain-read.mjs",
      "adapters/chain-executor.mjs",
      "adapters/claus-controller.mjs",
      "adapters/authorization.mjs"
    ]
  },
  "checks": {
    "contracts": {
      "passed": 53,
      "failed": 0
    },
    "network": {
      "passed": 375,
      "failed": 0,
      "environmentSkipped": 9
    },
    "realLocalEVM": {
      "passed": 1,
      "failed": 0,
      "covers": [
        "zero-delay execution",
        "existing project after default executor replacement",
        "reconcile sent transaction after executor withdrawal",
        "deny new signature after withdrawal",
        "owner authority revocation"
      ]
    },
    "deployedContractSimulation": {
      "at": "2026-10-12T09:56:15.238Z",
      "chainId": 11155111,
      "executor": "0x01a8d2e011dcb3fa65395e0343e1ab73d562b0f6",
      "codeHash": "0x6658a77c95259d02f99e31d2281e44ea7e9916a97e4d346ed972b3f51d70c1e0",
      "observedBlock": "11898133",
      "zeroDelayRegistrationSimulated": true,
      "invalidSignatureRejected": true,
      "legacyZeroDelayRejected": true,
      "noProjectCreated": true,
      "transactionsSent": 0,
      "simulationOnly": true
    }
  },
  "contractDeployed": true,
  "capabilityChanged": true,
  "onchainDelayRemoved": true,
  "deployment": {
    "chainId": 11155111,
    "profile": "claus-readonly-v1",
    "minimumUpgradeDelay": 0,
    "contract": "ClausApprovalExecutor",
    "address": "0x01a8d2e011dcb3fa65395e0343e1ab73d562b0f6",
    "transactionHash": "0x015985a88a0fb2a6c03bee4a18ead48dfba069d46c8c612a30e0bb64b4b3fded",
    "codeHash": "0x6658a77c95259d02f99e31d2281e44ea7e9916a97e4d346ed972b3f51d70c1e0",
    "constructorArguments": "0x0000000000000000000000007c6fd554e6ca80914374c56a62351786053c0329000000000000000000000000bb145ca83272c3806d4ddc75ca1d5514789cf1c5000000000000000000000000000000000000000000000000000000000002a300",
    "approvalSigner": "0x7C6Fd554E6CA80914374C56A62351786053c0329",
    "recoveryOwner": "0xBb145cA83272c3806D4dDc75cA1D5514789cF1C5",
    "recoveryDelay": 172800,
    "sourceCommit": "bc642d36d5eafffcd04859574219acfa7a3bb27d",
    "buildHash": "sha256:b151ae030dceb48608cacb46810cf0645b8b5bd627146ae7c39a715ca0ca3040",
    "reviewArtifactHash": "sha256:f1f79553566d1d246316c939185513df239bf2810bcf3a82e425629ea14994ae",
    "compiler": "0.8.27+commit.40a35a09.Emscripten.clang",
    "settings": {
      "evmVersion": "cancun",
      "metadata": {
        "bytecodeHash": "ipfs"
      },
      "optimizer": {
        "enabled": true,
        "runs": 200
      },
      "outputSelection": {
        "*": {
          "*": [
            "abi",
            "evm.bytecode",
            "evm.deployedBytecode",
            "metadata",
            "storageLayout"
          ]
        }
      },
      "remappings": [
        "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/"
      ],
      "viaIR": true
    },
    "verification": {
      "id": "sha256:e4436264db73cdabd36e4ac4de5deccc552f54ce3736f4b375558c664aefd3b6",
      "state": "verified",
      "address": "0x01a8d2e011dcb3fa65395e0343e1ab73d562b0f6",
      "chainId": 11155111,
      "checkedAt": 1791798837166,
      "inputHash": "sha256:82d869aea21785b26100f4f04582e1f58def12e3f894e64f3e80c1cbfe80a98b",
      "sourcifyId": "116c3cb4-41fc-46bf-a09b-d1c035bdbd59",
      "explorerUrl": "https://sepolia.etherscan.io/address/0x01a8d2e011dcb3fa65395e0343e1ab73d562b0f6#code",
      "sourcifyUrl": "https://repo.sourcify.dev/11155111/0x01a8d2e011dcb3fa65395e0343e1ab73d562b0f6",
      "runtimeMatch": "exact_match",
      "creationMatch": "exact_match",
      "etherscanGuid": "s4x55bcf5s2zyyz87119n5c9jiwqipzfejadzpyj7xynp7tlwp",
      "etherscanMatch": "exact",
      "etherscanVerified": true,
      "etherscanAttemptAt": 1791798775111
    },
    "checkedAt": "2026-10-12T10:10:03.206Z"
  },
  "adoption": {
    "at": "2026-10-12T10:10:50.619Z",
    "chainId": 11155111,
    "executor": "0x01a8d2e011dcb3fa65395e0343e1ab73d562b0f6",
    "codeHash": "0x6658a77c95259d02f99e31d2281e44ea7e9916a97e4d346ed972b3f51d70c1e0",
    "minimumUpgradeDelay": 0,
    "sourceCommit": "bc642d36d5eafffcd04859574219acfa7a3bb27d",
    "reviewArtifactHash": "sha256:f1f79553566d1d246316c939185513df239bf2810bcf3a82e425629ea14994ae",
    "retainedExecutor": "0x9806bcbc514468231e0f2cdca6dcac874e98a8e7",
    "existingBindingsPreserved": 2,
    "capabilityHash": "sha256:11d4ca238334b87d8382cf7d1df47380b31aa3fd25583c61ac93303e0954dc12",
    "scope": "New admitted Sepolia project registrations; existing project contracts and timers remain unchanged"
  },
  "review": {
    "at": "2026-10-12T10:09:59.116Z",
    "status": "accepted-for-sepolia",
    "projectId": "prj_75bf7313-4bbb-4895-82a4-3a6e379af590",
    "caseId": "sha256:198f393dd5321bd2002a198097f1a03a31d172daeef15ad91e627fed5fc816bb",
    "providerJobId": "0ad06a7e-df39-4408-9daf-5c4221bfb58a",
    "commit": "bc642d36d5eafffcd04859574219acfa7a3bb27d",
    "buildHash": "sha256:b151ae030dceb48608cacb46810cf0645b8b5bd627146ae7c39a715ca0ca3040",
    "reviewArtifactHash": "sha256:f1f79553566d1d246316c939185513df239bf2810bcf3a82e425629ea14994ae",
    "reportHash": "sha256:43557582cda5d8638230229768037474d8f2bb50e1df9c1b6124668458218a7a",
    "reportSource": {
      "kind": "provider-markdown",
      "url": "https://api.imd.fun/jobs/0ad06a7e-df39-4408-9daf-5c4221bfb58a/report.md"
    },
    "acceptedSubmissionHash": "e136f8e044d6ed2d2ae007d3d67c21b1910c2bf4db513db7ee887105a4fe079f",
    "severity": {
      "critical": 0,
      "high": 0,
      "medium": 0,
      "low": 2,
      "info": 9
    },
    "scope": "Replacement noncustodial ClausApprovalExecutor and exact ClausReadonlyProject artifact for new admitted Sepolia registrations; existing bindings retain their executors. Not general wallet/vault approval, arbitrary modules, mainnet, public enrollment, token launches or customer custody.",
    "mainnetApproved": false,
    "publicEnrollmentApproved": false,
    "findings": [
      {
        "id": 1,
        "severity": "low",
        "title": "Vault's fixed 250,000 policy gas cannot cover the 8192-byte configuration its admission project may hold: an admitting policy is reported as DepositDenied",
        "path": "src/ClausNativeVault.sol",
        "line": 15,
        "disposition": "restricted existing vault profile",
        "reason": "The unchanged vault pilot admits only the reviewed ClausVaultAdmission with its exact 64-byte configuration. Larger or arbitrary admission modules are outside that profile. This executor activation neither deploys another vault nor broadens deposit admission. Existing principal was fully withdrawn."
      },
      {
        "id": 2,
        "severity": "low",
        "title": "A signed SessionAuthorization has no nonce and no targeted cancel: every signed draft for a (sessionId, generation) stays usable, and the only remedy retires the session id",
        "path": "src/ClausProjectWallet.sol",
        "line": 90,
        "disposition": "documented unchanged wallet limitation",
        "reason": "The unchanged wallet pilot uses fresh session IDs with one concrete owner-signed allowance, followed by permanent revocation. Do not distribute competing signed drafts; revoke the ID and use a fresh ID to replace a shared signature. Targeted draft cancellation is not implemented or claimed. This release creates no session or wallet."
      },
      {
        "id": 3,
        "severity": "info",
        "title": "A pre-signed renewal is live from the moment it is signed, not from its validAfter, and it resets spent: totals are per generation, not per session id",
        "path": "src/ClausProjectWallet.sol",
        "line": 94,
        "disposition": "documented per-generation budget",
        "reason": "A renewal resets spending for the newly owner-signed generation and can retire the prior generation early. No future renewal is pre-signed; no lifetime-cap claim is made. Existing payment IDs and accounting remain intact."
      },
      {
        "id": 4,
        "severity": "info",
        "title": "Zero-delay projects: queue and execute run in one transaction, so the owner and the recovery owner have no reaction window; the lower-bound check is dead code and AUDIT_RESPONSE.md still claims a one-",
        "path": "src/ClausApprovalExecutor.sol",
        "line": 22,
        "disposition": "owner-requested zero-delay policy",
        "reason": "The owner explicitly removed the mandatory upgrade hour. Zero permits queue and execution in one transaction with no reaction interval. The supported module uses STATICCALL and the executor does not custody funds. Existing explicit project delays are preserved. Documentation correction 4aa9a41d79719a992b4517014075eee0bf3f661e changes no reviewed source. The zero-valued lower-bound comparison is harmless and retained to avoid changing reviewed bytecode."
      },
      {
        "id": 5,
        "severity": "info",
        "title": "Recovery owner can pause all upgrades without bound by rescheduling, and can invalidate every outstanding approval with no pending recovery",
        "path": "src/ClausApprovalExecutor.sol",
        "line": 220,
        "disposition": "documented recovery authority",
        "reason": "The fixed recovery owner can pause upgrades indefinitely or invalidate outstanding generations. This privileged assumption remains disclosed. The deployment uses the authorized owner and the existing two-day signer-recovery path, independently of the removed project upgrade delay."
      },
      {
        "id": 6,
        "severity": "info",
        "title": "ClausNativeVault accepts any contract as admissionPolicy: a deployer-controlled project passes, and a bare admission module yields a vault that can never take a deposit",
        "path": "src/ClausNativeVault.sol",
        "line": 24,
        "disposition": "verified deployment binding",
        "reason": "The existing vault host pins the registered policy target, expected executor, project identity, code hashes and exact reviewed configuration. Constructor code existence alone is never treated as proof of Claus governance. No vault admission is expanded."
      },
      {
        "id": 7,
        "severity": "info",
        "title": "Executor constructor allows the Claus signer and the recovery owner to be the same address",
        "path": "src/ClausApprovalExecutor.sol",
        "line": 103,
        "disposition": "verified distinct deployed roles",
        "reason": "The source allows equal roles, but the actual replacement uses distinct approval signer, recovery owner and executor. Their onchain values were read and recorded in zero-delay-role-check.json."
      },
      {
        "id": 8,
        "severity": "info",
        "title": "Cancelled or generation-invalidated approvals keep a nonzero readyAt, so the public queue state shows changes that can never execute",
        "path": "src/ClausApprovalExecutor.sol",
        "line": 180,
        "disposition": "validate authority beyond queue time",
        "reason": "A nonzero readyAt is not treated as executable authority. The execution adapter checks nonce consumption, actual execution events, current generations, exact bindings, code and mandate before a new signature/broadcast. The final judge corrected the specialist claim: queue validates and rejects dead approvals."
      },
      {
        "id": 9,
        "severity": "info",
        "title": "ETH forced into the vault above totalPrincipal can never leave",
        "path": "src/ClausNativeVault.sol",
        "line": 47,
        "disposition": "documented immutable vault behavior",
        "reason": "Forced ETH does not create depositor principal and has no administrator sweep. The release leaves this unchanged; no forced-ETH recovery or universal custody guarantee is claimed."
      },
      {
        "id": 10,
        "severity": "info",
        "title": "Signature checks switch to ERC-1271 as soon as a signing EOA has code (EIP-7702 delegation): the Claus signer's approvals are then rejected until recovery completes",
        "path": "src/ClausApprovalExecutor.sol",
        "line": 144,
        "disposition": "verified current signer profile",
        "reason": "Live readback confirms the three current deployment roles are ordinary distinct EOAs with no delegation code. A future ERC-1271/EIP-7702 role change is not covered by this acceptance; the supported signing profile and recovery boundary remain explicit."
      },
      {
        "id": 11,
        "severity": "info",
        "title": "Deposit verdict depends on the caller's gas: an out-of-gas policy call is reported as DepositDenied, and 2300-gas transfers to receive() always fail",
        "path": "src/ClausNativeVault.sol",
        "line": 77,
        "disposition": "bounded deposit compatibility",
        "reason": "The existing pilot uses explicit deposit calls with gas estimation and the 64-byte reviewed admission profile. Low-gas DepositDenied may mean execution exhaustion, and transfer/send stipends are unsupported. Withdrawals remain independent; this release enables no new deposit flow."
      }
    ],
    "requiredPilotLimits": {
      "chainId": 11155111,
      "profile": "claus-readonly-v1",
      "newMinimumUpgradeDelay": 0,
      "retainExistingBindings": true,
      "reviewedRuntimeAndOwnerMandate": true
    },
    "activationPending": true
  },
  "latestAcceptance": {
    "at": "2026-10-12T10:36:32.073380+00:00",
    "liveCheck": {
      "at": "2026-10-12T10:36:06.293Z",
      "chainId": 11155111,
      "executor": "0x01a8d2e011dcb3fa65395e0343e1ab73d562b0f6",
      "minimumUpgradeDelay": 0,
      "oldExecutor": "0x9806bcbc514468231e0f2cdca6dcac874e98a8e7",
      "oldMinimum": 3600,
      "apiRelease": "30a1a3446d40192f13074a057d6559350d5844723774cae6e431e7565d3e2a9b",
      "existingBindingVerified": true,
      "originalQueuePreserved": true,
      "originalProposalState": "executed",
      "mainnet": "not_enabled",
      "inference": "not_enabled",
      "transactionsSent": 0,
      "scope": "Read-only live API and deployed-contract acceptance, not a new live upgrade reference"
    },
    "originalRequestCompletion": {
      "at": "2026-10-12T10:35:57.259Z",
      "requestId": "sha256:620af114646b9dcb1c26e36cfc6715e962ba8f7826a4d44bf1c97989e8defb0d",
      "proposalId": "sha256:53baa964a09465da490d7937a16cc30f0f6fd0ee07002411191a0d7d9eb88747",
      "executionTransaction": "0xee56c7b33642ac223ea96fd3f4908f993ff5369dd37784246801a29a2c94e3e9",
      "finalizedBlock": "11898263",
      "originalCallbackDelivered": false,
      "resultRecoveryFinalized": true,
      "bindingRevoked": true,
      "retiredCredentialDenied": true,
      "publicExecutionExact": true,
      "websiteProjectExact": true
    },
    "knowledgeRevision": 472
  }
}
