{
  "schema": "veyduct.mainnet-plan.v1",
  "network": "mainnet",
  "genesisHash": "5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d",
  "writeEnabled": false,
  "writeEnabledScope": "custom-program-execution",
  "nativeTools": [
    {
      "id": "mint",
      "href": "mint.html",
      "network": "mainnet",
      "walletApprovalRequired": true,
      "fundedAcceptanceVerified": false
    },
    {
      "id": "token-send",
      "href": "send.html",
      "network": "mainnet",
      "walletApprovalRequired": true,
      "fundedAcceptanceVerified": false
    },
    {
      "id": "sol-send",
      "href": "sol-send.html",
      "network": "mainnet",
      "walletApprovalRequired": true,
      "fundedAcceptanceVerified": false
    },
    {
      "id": "authority",
      "href": "authority.html",
      "network": "mainnet",
      "walletApprovalRequired": true,
      "fundedAcceptanceVerified": false
    },
    {
      "id": "burn",
      "href": "burn.html",
      "network": "mainnet",
      "walletApprovalRequired": true,
      "fundedAcceptanceVerified": false
    },
    {
      "id": "pump-create",
      "href": "pump.html",
      "network": "mainnet",
      "walletApprovalRequired": true,
      "fundedAcceptanceVerified": false
    },
    {
      "id": "pump-fees",
      "href": "fees.html",
      "network": "mainnet",
      "walletApprovalRequired": true,
      "fundedAcceptanceVerified": false
    }
  ],
  "officialMint": null,
  "programs": [
    {
      "id": "raffle",
      "artifact": "programs/tenure-raffle/artifacts/tenure_raffle.so",
      "artifactSha256": "15244c5821490bcb6207cc7699c6f5456a7f16602b18d3e422e91aca77695a65",
      "artifactSizeBytes": 129320,
      "runtimeVerified": true,
      "mainnetProgramId": null,
      "mainnetVerified": false
    },
    {
      "id": "governance",
      "artifact": "programs/tenure-governance/artifacts/tenure_governance.so",
      "artifactSha256": "94312cf3d8106c09a39714ddb8d264eda7e4cf37c8aee9b4eaef24a846d98d5b",
      "artifactSizeBytes": 114104,
      "runtimeVerified": true,
      "mainnetProgramId": null,
      "mainnetVerified": false
    },
    {
      "id": "bands",
      "artifact": "programs/tenure-bands/artifacts/tenure_bands.so",
      "artifactSha256": "f7837c6d0d4c5c93ef6191be71855ac99843b361394e798000f3b95a2b88a1b0",
      "artifactSizeBytes": 102232,
      "runtimeVerified": true,
      "mainnetProgramId": null,
      "mainnetVerified": false
    },
    {
      "id": "router",
      "artifact": "programs/tenure-router/artifacts/tenure_router.so",
      "artifactSha256": "007f94182a6c922d86b136111cc79a9370db5658a3d3867f9df219d19fc190a7",
      "artifactSizeBytes": 139000,
      "runtimeVerified": true,
      "mainnetProgramId": null,
      "mainnetVerified": false
    },
    {
      "id": "vault",
      "artifact": "programs/tenure-vault/artifacts/tenure_vault.so",
      "artifactSha256": "476284bec779fa52e4f9896904bfd4c5a81567d799f646948bb315de6737d01d",
      "artifactSizeBytes": 110888,
      "runtimeVerified": true,
      "mainnetProgramId": null,
      "mainnetVerified": false
    },
    {
      "id": "vesting",
      "artifact": "programs/tenure-vesting/artifacts/tenure_vesting.so",
      "artifactSha256": "b654c78b3364c19a4a3af66f530be608412fc41c130f2332e0765e8e5dc71be3",
      "artifactSizeBytes": 120968,
      "runtimeVerified": true,
      "mainnetProgramId": null,
      "mainnetVerified": false
    },
    {
      "id": "treasury",
      "artifact": "programs/tenure-treasury/artifacts/tenure_treasury.so",
      "artifactSha256": "ca1a479a279df48541ac30763bcd61932d7ea935c5553ff109fb9b4b8deafb45",
      "artifactSizeBytes": 98720,
      "runtimeVerified": true,
      "mainnetProgramId": null,
      "mainnetVerified": false
    },
    {
      "id": "staking",
      "artifact": "programs/tenure-staking/artifacts/tenure_staking.so",
      "artifactSha256": "c5a1cc61d671b2779507fa1ad1d9ddb4fc5bdd3e41ab49a37c554c9c20a753e5",
      "artifactSizeBytes": 124096,
      "runtimeVerified": true,
      "mainnetProgramId": null,
      "mainnetVerified": false
    },
    {
      "id": "claims",
      "artifact": "programs/tenure-rewards/artifacts/tenure_rewards.so",
      "artifactSha256": "7028e2018769b068c194e4ba0bfb6d7d4f8a4b6e66187488a0cdff82536e5348",
      "artifactSizeBytes": 124856,
      "runtimeVerified": true,
      "mainnetProgramId": null,
      "mainnetVerified": false
    }
  ],
  "blockers": [
    {
      "id": "deployment",
      "title": "Public program deployments",
      "detail": "All nine public program IDs are missing. Verify deployed bytes, network identity and upgrade authority before exposing custody."
    },
    {
      "id": "authority",
      "title": "Deployment signer and upgrade policy",
      "detail": "Choose a funded deployment wallet and explicit program upgrade custody. No private keys are requested or stored by this page."
    },
    {
      "id": "client",
      "title": "Mainnet transaction integration",
      "detail": "Custom custody clients are not yet integrated for mainnet. Read-only mainnet deployment inspection is implemented, but does not enable transactions. Each custom module still needs mainnet client integration and funded public-chain acceptance receipts."
    },
    {
      "id": "keeper",
      "title": "Durable automation recovery",
      "detail": "Mainnet automation needs a shared lease, persisted signed submissions and reconciliation of ambiguous outcomes across function instances."
    },
    {
      "id": "raffle",
      "title": "Live oracle and raffle recovery",
      "detail": "Raffle oracle fulfillment has only been tested with injected fixtures; the public oracle inspection is retired. Verify the mainnet oracle and define timeout/refund recovery before accepting prizes."
    },
    {
      "id": "launch",
      "title": "Real launch and acceptance tests",
      "detail": "The official token has not launched. Custom modules need real public-chain receipts for creation, fees, deposits, withdrawals and recovery before their gates open. No funded native-tool acceptance is claimed."
    }
  ],
  "notice": "writeEnabled applies only to custom-program execution. Native wallet-approved mainnet tools are implemented separately. Runtime tests do not certify security or establish funded public-chain acceptance."
}
