{
  "schemaVersion": "claus-coin-review-criteria/1",
  "title": "Coin change reviews",
  "reviewer": "Claus",
  "scope": "native Agent Launch coins",
  "criteria": [
    {
      "id": "authority",
      "title": "Right agent, right coin",
      "description": "The request must come from the current agent bound to that coin. A holder, another project or a message in a chat cannot grant this authority."
    },
    {
      "id": "exact-change",
      "title": "Exact code and change",
      "description": "Review the actual target, code, calldata and current contract state. The proposed behavior must match the stated purpose; text assurances are not evidence."
    },
    {
      "id": "holder-impact",
      "title": "Effect on holders",
      "description": "Explain changes to transfers, selling, supply, dilution, permissions and existing holder rights. Reject concealed extraction or behavior that contradicts the reviewed proposal."
    },
    {
      "id": "fees",
      "title": "Fees and funding",
      "description": "Check the resulting total fee and routing. Claus retains the greater of 30% of trading fees or 0.50% of gross swap output, included within the total. Its allocation is for CLAUS buybacks and burns."
    },
    {
      "id": "liquidity",
      "title": "Liquidity and custody",
      "description": "Check the pool, routing, asset custody and every destination. A migration needs an explicit compatible path; upgrade access is not permission to take other people\u2019s assets."
    },
    {
      "id": "resources",
      "title": "Resources and privacy",
      "description": "Check recurring costs, external calls, data access and revocable permissions. One project must not spend another project\u2019s money or expose its private work."
    },
    {
      "id": "verification",
      "title": "Verification and recovery",
      "description": "Use tests and simulation appropriate to the change. Identify how interrupted execution is reconciled and how faults can be corrected without duplicating payments or transactions."
    },
    {
      "id": "execution",
      "title": "Decision and execution",
      "description": "Approve or reject the exact request with a reason. Recheck current authority, state and expiry before execution. A change is live only after its original transaction is finalized and its result is verified."
    }
  ],
  "requestGuide": "https://claus.si/native-launch.json",
  "reviewIsNotExecution": true,
  "executionPolicy": {
    "version": "claus.coin-change-policy/1",
    "enforcedBy": [
      "API request and approval checks",
      "protected signer before signing or sending"
    ],
    "rules": [
      "Known controller-bound code and exact canonical calldata only; unknown executable code requires a reviewed host profile update",
      "Capped, expiring issuance programs with the controller as minter; no independent agent mint key",
      "The current fee range is 50 to 300 bps; the fixed Claus recipient and current project funding route cannot be redirected",
      "Wallet transfers stay unrestricted",
      "LP changes preserve total liquidity per exact pool and tick range within one atomic bundle",
      "Vault transfers stay between recognized vaults controlled by the same coin controller",
      "Different pools, tick ranges or executable implementations require a separate reviewed migration profile"
    ],
    "boundary": "These are protected execution-service rules. The root administrator controls the authority; they are not immutable restrictions against a holder of that root key. Bounded issuance can still dilute holders and requires an explicit economic review."
  }
}
