{
  "version": 1,
  "sharedInterfaces": "Sequential workflow; no concurrent writers. The contract writer hands source, meaningful Foundry tests, docs/abi/<Contract>.json and docs/integration.md to independent review. Integration docs define actual constructors, permissions, token supply/allocation, pool initialization, counter semantics, events, read/quote/swap interfaces and frontend test fixtures consistent with the supplied launch policy and factory/PoolManager context; do not invent incompatible parameters. The control plane inserts its generated launch manifest before review; review inspects source, ABIs, integration docs and that manifest. After review and actual deployment, the frontend consumes .imd/reads/deployment.json with pinned source, deployed addresses and ABI hashes. Services retain GitHub source publication authorization, Sepolia univ4_hook deployment/seed authorization (chainId 11155111), and IPFS destination counter-test-1f0d5841; no other destinations or chains are authorized. Workers never broadcast transactions or receive private keys. Control plane owns manifest, deployment, pool seeding, hosting/naming and publication checks; no service workers or factory/policy commissioning. Published-origin browser verification and RPC fallback verification remain required, with reproducible operator steps and separate mocked/live evidence.",
  "steps": [
    {
      "key": "contract_project",
      "skill": "build-contract-project",
      "dependsOn": [],
      "objective": "Build the complete standalone Foundry project from the empty source, including initial setup and locally available dependencies, a Sepolia Uniswap v4 swap-counter hook and fixed-supply token, meaningful tests, ABI JSON and integration documentation. Follow the current supported hook launch policy and supplied factory/PoolManager context for supply, allocation, constructors and pool initialization. This complete-project writer owns project setup and contract implementation; subsequent writers are ordered after it. Preserve any protected configuration/dependencies supplied by the execution environment. Supply launch inputs for the control plane, without generating its manifest, commissioning factories/policy, broadcasting or handling private keys.",
      "references": [
        "uniswap-v4-hooks",
        "uniswap-v4-security",
        "public-rpcs"
      ],
      "acceptanceCriteria": [
        "A complete project builds and its meaningful Foundry tests pass with dependencies available offline as ordinary files, without git submodules.",
        "Tests exercise authorized hook callbacks and counter semantics on successful swaps, repeated swaps, reverted swaps and unauthorized calls, plus fixed supply, allocation and absence of unintended minting.",
        "Hook permission/address requirements, constructors and pool initialization are compatible with the supplied supported launch policy and factory/PoolManager context on chainId 11155111.",
        "docs/abi/<Contract>.json and docs/integration.md document the actual contracts, pool/token ordering, units, counter reads/events and quote/swap integration, with fixtures for frontend tests.",
        "Record real Sepolia RPC connectivity/chain and supplied context checks separately from mocked tests; report failures and unavailable evidence truthfully. No transactions are broadcast."
      ]
    },
    {
      "key": "contract_review",
      "skill": "adversarial-review",
      "dependsOn": [
        "contract_project"
      ],
      "objective": "Independently review the complete contract project and its tests, ABI JSON, integration documentation and control-plane-generated launch manifest before deployment. Inspect supply/allocation, callback access, hook permissions, counter correctness and compatibility with the supplied launch context. Read only; provide actionable blocking findings through the review result. The frontend must not proceed with unresolved blocking findings.",
      "references": [
        "uniswap-v4-hooks",
        "uniswap-v4-security"
      ],
      "acceptanceCriteria": [
        "Review is performed independently of the contract author and directly examines the writer output and generated manifest.",
        "Run required Foundry checks and assess meaningful adversarial coverage of unauthorized callbacks, reverted swaps, supply invariants and launch compatibility.",
        "Confirm ABI and integration documentation match source and manifest; distinguish mocked interaction coverage from actual RPC evidence.",
        "Report findings and review disposition explicitly; unresolved blocking findings prevent acceptance and deployment. No source changes, broadcasts or private keys."
      ]
    },
    {
      "key": "frontend",
      "skill": "frontend-for-contract",
      "dependsOn": [
        "contract_review"
      ],
      "paths": [
        "web/**",
        "dist/**",
        "docs/**",
        "web/.gitignore"
      ],
      "objective": "After accepted independent review and the actual control-plane deployment handoff, deliver one complete responsive wallet-connected dapp for the deployed Sepolia token/hook pool: wallet connection, balances, live hook statistics, quotes and swaps. Consume .imd/reads/deployment.json and verify pinned addresses/ABI hashes against docs/abi/<Contract>.json. Keep source, package.json, lockfiles and build configuration under web/, static export in root dist/, and documentation under docs/ or web/. Preserve root configuration and lockfiles. Deliver tests and reproducible published-origin verification instructions; hosting/publication remains a control-plane operation, with no subsequent worker integration or review.",
      "references": [
        "public-rpcs"
      ],
      "acceptanceCriteria": [
        "Source, required dependencies and static export are delivered within web/**, dist/**, docs/** and web/.gitignore only; no other dotfiles or root configuration/lockfiles are modified.",
        "Wallet connection, chain handling, token balances, live counter reads, quotes and swap submission/status use the actual deployment handoff and matching ABI hashes; workers do not broadcast transactions or receive private keys.",
        "Meaningful automated interaction/browser tests cover connection, wrong chain, reads, quote errors, required approval, swap success/rejection/failure and refreshed balances/statistics; mocked outcomes are labeled as mocks.",
        "Run real Sepolia RPC read checks against deployed contracts and test configured fallback by making the preferred endpoint unavailable; record endpoint failures, chain checks and observed fallback, separately from mocked tests.",
        "Build and locally browser-check the static export; document commands, outcomes and limitations without claiming local or mocked checks prove published-origin behavior.",
        "Provide reproducible operator steps for the final hosted URL covering wallet/browser behavior, live balances/statistics, quotes/swaps and forced RPC fallback. Mark published-origin verification pending until hosting; control plane must record actual URL, results and evidence afterward."
      ]
    }
  ],
  "questions": []
}
