{
  "version": "CCIP-2.0-fork-1",
  "signedBy": "Signed by Owner",
  "signedAt": "2026-11-15T10:42:00.000Z",
  "approval": "Signed by Owner, 2026-11-15: complete the CCIP brief; run Phase 2 and Phase 3 on the recorded fork block.",
  "forkBlock": 26419147,
  "rateLimit": {
    "yellowPctOfLocked": 10,
    "windowHours": 24,
    "note": "Capacity above this percentage of locked value is amber; no cap is red."
  },
  "lamps": {
    "verifier": {
      "red": "any active route executable by one party",
      "amber": "default committee only",
      "green": "default committee + one independent mandatory CCV"
    },
    "routeGeneration": {
      "red": "legacy route weaker than main",
      "amber": "token spread across generations",
      "green": "all v2.0, equal policy"
    },
    "rateLimit": {
      "red": "no cap on a large pool",
      "amber": "cap exists but above 10% of locked value",
      "green": "cap at or below 10% per 24h"
    },
    "admin": {
      "red": "single EOA can change pool or route",
      "amber": "multisig without timelock",
      "green": "timelock with readable delay"
    },
    "finality": {
      "red": "fast lane with no value cap",
      "amber": "fast lane with cap",
      "green": "full finality"
    }
  },
  "commands": {
    "phase2": "FOUNDRY_PROFILE=dynamic forge test --match-contract 'CcipDynamicTest|CcipDynamicScenariosTest' -vv; FOUNDRY_PROFILE=default forge test --match-contract CcipForkTest -vv",
    "phase3": "FOUNDRY_PROFILE=dynamic forge test --match-contract 'CcipDynamicTest|CcipDynamicScenariosTest' -vv; FOUNDRY_PROFILE=default forge test --match-contract CcipForkTest -vv"
  }
}
