{
  "generated": "2026-10-15T18:19:22.278Z",
  "product": "PoolParty",
  "site": "https://poolpartyai.com/",
  "api": "https://api.poolpartyai.com",
  "states": {
    "today": "Available in the public beta.",
    "building": "In development; not available yet.",
    "next": "Planned; not yet available.",
    "later": "Planned for a later phase; not available."
  },
  "workspace": {
    "url": "https://app.poolpartyai.com",
    "status": "In development",
    "authenticated": false,
    "preview": true,
    "features": [
      {
        "id": "chat",
        "title": "Chat",
        "icon": "chat",
        "availability": "Available in beta",
        "webReadiness": "Connection required",
        "description": "Ask a model in your pool and see which model answered and why it was selected.",
        "requiredPermissions": [
          "chat.ask"
        ]
      },
      {
        "id": "pitchdeck",
        "title": "PitchDeck",
        "icon": "pitchdeck",
        "availability": "In development",
        "webReadiness": "In development",
        "description": "Shape a story, arrange visuals and narration, and rehearse a presentation for Theater.",
        "requiredPermissions": [
          "media.present"
        ]
      },
      {
        "id": "social",
        "title": "Social",
        "icon": "social",
        "availability": "In development",
        "webReadiness": "In development",
        "description": "Invite people to Spaces and Rooms for shared clips and conversations.",
        "requiredPermissions": [
          "social.read",
          "social.write"
        ]
      },
      {
        "id": "theater",
        "title": "Theater",
        "icon": "theater",
        "availability": "In development",
        "webReadiness": "In development",
        "description": "Watch authorized media and present shared work in a screen powered by your pool.",
        "requiredPermissions": [
          "media.read"
        ]
      },
      {
        "id": "network",
        "title": "Devices",
        "icon": "network",
        "availability": "Available in beta",
        "webReadiness": "Connection required",
        "description": "Connect the computers you own. Browser management requires an approved device connection.",
        "requiredPermissions": [
          "pool.read"
        ]
      },
      {
        "id": "compute",
        "title": "Compute",
        "icon": "compute",
        "availability": "Available in beta",
        "webReadiness": "Connection required",
        "description": "Run approved work on eligible computers; availability and host limits remain visible.",
        "requiredPermissions": [
          "compute.run"
        ]
      },
      {
        "id": "models",
        "title": "Models",
        "icon": "models",
        "availability": "Available in beta",
        "webReadiness": "Connection required",
        "description": "See installed and ready local models. Provider onboarding is separately qualified.",
        "requiredPermissions": [
          "models.read"
        ]
      },
      {
        "id": "storage",
        "title": "Storage",
        "icon": "storage",
        "availability": "Available in beta",
        "webReadiness": "Connection required",
        "description": "Manage encrypted storage while distinguishing physical capacity from usable space.",
        "requiredPermissions": [
          "storage.read"
        ]
      },
      {
        "id": "agents",
        "title": "Agent crews",
        "icon": "agents",
        "availability": "In development",
        "webReadiness": "In development",
        "description": "Give agents explicit roles, permissions and budgets, then follow their work and approvals.",
        "requiredPermissions": [
          "agents.manage",
          "agents.run"
        ]
      },
      {
        "id": "messaging",
        "title": "Conversations",
        "icon": "messaging",
        "availability": "In development",
        "webReadiness": "In development",
        "description": "Discuss shared work with people and agents using clearly defined room access.",
        "requiredPermissions": [
          "social.read"
        ]
      },
      {
        "id": "bots",
        "title": "Connected assistants",
        "icon": "bots",
        "availability": "In development",
        "webReadiness": "In development",
        "description": "Connect qualified assistants and keep their access inside the permissions you approve.",
        "requiredPermissions": [
          "agents.manage"
        ]
      },
      {
        "id": "groups",
        "title": "Community",
        "icon": "groups",
        "availability": "Planned",
        "webReadiness": "Planned",
        "description": "Opt into topic rooms once membership, reporting, blocking and moderation are ready.",
        "requiredPermissions": [
          "social.read",
          "social.write"
        ]
      },
      {
        "id": "gateway",
        "title": "Access",
        "icon": "gateway",
        "availability": "Available in beta",
        "webReadiness": "Connection required",
        "description": "Use the authenticated API gateway; an API key does not grant browser ownership or device control.",
        "requiredPermissions": [
          "pool.read"
        ]
      },
      {
        "id": "contribution",
        "title": "Contribution",
        "icon": "contribution",
        "availability": "Available in beta",
        "webReadiness": "Connection required",
        "description": "Approve contribution per computer and keep its work inside resource and safety limits. The Public Pool is not open yet.",
        "requiredPermissions": [
          "devices.manage"
        ]
      },
      {
        "id": "security",
        "title": "Approvals",
        "icon": "security",
        "availability": "Available in beta",
        "webReadiness": "Connection required",
        "description": "Review explicit permissions and revoke access. Browser controls need their own approved grant.",
        "requiredPermissions": [
          "approvals.manage"
        ]
      },
      {
        "id": "usage",
        "title": "Activity",
        "icon": "usage",
        "availability": "Available in beta",
        "webReadiness": "Connection required",
        "description": "See work and usage in your pool. Provider billing and PoolParty credits stay distinct.",
        "requiredPermissions": [
          "usage.read"
        ]
      },
      {
        "id": "memory",
        "title": "Memory",
        "icon": "storage",
        "availability": "In development",
        "webReadiness": "In development",
        "description": "Inspect persistent agent memory separately from system RAM, GPU memory and storage capacity.",
        "requiredPermissions": [
          "memory.read"
        ]
      },
      {
        "id": "harness",
        "title": "Harnesses",
        "icon": "bots",
        "availability": "In development",
        "webReadiness": "In development",
        "description": "Connect a qualified agent harness with explicit authority. A provider API connection is a different integration.",
        "requiredPermissions": [
          "agents.manage"
        ]
      },
      {
        "id": "terminal",
        "title": "Terminal",
        "icon": "compute",
        "availability": "In development",
        "webReadiness": "In development",
        "description": "An approved terminal on one selected host requires a new host-side bridge.",
        "requiredPermissions": [
          "terminal.open"
        ]
      }
    ]
  },
  "items": [
    {
      "id": "one-pool-from-the-machines-you-already-own",
      "title": "One pool from the machines you already own",
      "body": "Install it, and the first machine is already a pool. Add a second with a join code — a Mac serves models and seals storage, and a Windows PC joins for jobs. Linux serving has not been measured. No account, no server to run, nothing rented.",
      "state": "today",
      "arc": "CORE+XP1+LP1",
      "source": "Plan/Website_Lane_START.md §4; item 46. Owner truth pass 2026-09-26: Linux model serving has not been measured."
    },
    {
      "id": "private-ai-chat-served-from-your-hardware",
      "title": "Private AI chat, served from your hardware",
      "body": "Ask your pool. The answer comes from a model running on a machine you own, and the line under it says which model and why the pool chose it. Nothing leaves your machines to be answered.",
      "state": "today",
      "arc": "CORE+O2+U2",
      "source": "ADR 0132 (pool/auto), ADR 0140 (Surface & Depth)"
    },
    {
      "id": "point-your-agent-at-the-pool",
      "title": "Point your agent at the pool",
      "body": "One command registers the pool as a tool server for Claude Code or any Model Context Protocol client. The agent gets the pool’s models, machines and storage behind that machine’s own credential — no login, no token to paste. Consent is one switch; off refuses the very next call in plain words.",
      "state": "today",
      "arc": "C1a",
      "source": "docs/evidence/2026-08-25-local-consume-gateway-mcp.md, ADR 0123"
    },
    {
      "id": "an-openai-compatible-endpoint-on-your-network-and-at-api-poolpartyai-com",
      "title": "An OpenAI-compatible endpoint, on your network and at api.poolpartyai.com",
      "body": "Existing code ports with a change of base URL. On your own network the pool answers directly; away from it, the hosted gateway at api.poolpartyai.com answers behind a key you mint, with rate limits and budgets on every key.",
      "state": "today",
      "arc": "W3a+W3b+RL1",
      "source": "ADR 0126, ADR 0134, docs/evidence/2026-09-01-w3b-edge-tunnel-and-dns.md"
    },
    {
      "id": "pick-your-model-from-any-tool",
      "title": "Pick your model, from any tool",
      "body": "Any LLM command-line tool can point at the pool and choose a model per request from a list that tells the truth: what is actually available, a posted price or an honest blank, and a fit label marked as advice. Nothing downloads, warms or spends outside a consent that already said yes.",
      "state": "today",
      "arc": "O1",
      "source": "ADR 0131"
    },
    {
      "id": "a-native-gpu-job-tier",
      "title": "A native GPU job tier",
      "body": "Work that needs a graphics card is placed on a machine that has one and runs as an owner-installed program pinned to its digest, in a private working directory. Its consent is separate from Contribute, because the sandbox is weaker and says so.",
      "state": "today",
      "arc": "C1b",
      "source": "ADR 0124"
    },
    {
      "id": "sealed-storage-end-to-end",
      "title": "Sealed storage, end to end",
      "body": "Encrypted on your device, split, and scattered across your machines. 2-of-3 recovery, device-to-device key approval, recovery codes shown once, automatic healing. The machines holding the pieces can read none of it; the hub never holds a key.",
      "state": "today",
      "arc": "SEAL",
      "source": "ADR 0110, 0113, 0114"
    },
    {
      "id": "works-alongside-your-vpn",
      "title": "Works alongside your VPN",
      "body": "Machines find each other beside consumer and enterprise VPN clients instead of breaking against them. If every direct path fails, the hub carries sealed data it cannot open — time-limited, budgeted, never a place your data rests.",
      "state": "today",
      "arc": "V1",
      "source": "ADR 0120, 0122"
    },
    {
      "id": "every-machine-with-a-download-you-can-verify",
      "title": "Every machine, with a download you can verify",
      "body": "A signed and notarized macOS build. Windows and Linux builds that are unsigned for now and say so plainly. Every release ships its SHA-256 digests, signed update metadata and a software bill of materials — check it yourself, or point your AI at the trust page and let it check.",
      "state": "today",
      "arc": "SIGN1+XP1+DP1",
      "source": "ADR 0118; item 46. DP1 added 2026-09-12: \"every machine\" is a claim that anyone can get one, and the download origin currently answers every request with \"private beta ... you need a join code from the owner of this pool\" — unconditionally, with no public branch in services/consume-gateway/src/download-lane.ts. The claim is true of the software and not yet of the door in front of it"
    },
    {
      "id": "updates-you-approve-that-can-roll-back",
      "title": "Updates you approve, that can roll back",
      "body": "The app tells you an update exists and you choose; opt into automatic if you like. Every update is verified before it applies and can be rolled back. No silent updates, ever.",
      "state": "today",
      "arc": "AU1",
      "source": "ADR 0133"
    },
    {
      "id": "consent-first-contribution-rails",
      "title": "Consent-first contribution rails",
      "body": "Only while idle, only plugged in, inside thermal limits that no preset can waive, and it stops the instant you touch the keyboard. Opt-in per machine, a kill switch always visible, every refusal shown in plain language.",
      "state": "today",
      "arc": "CORE",
      "source": "Plan/Website_Lane_START.md §4 (U1f)"
    },
    {
      "id": "measure-compute-used-in-your-own-pool",
      "title": "Measure compute used in your own pool",
      "body": "Credits measure compute used in your own pool. The Public Pool is not open yet; public-network credit use will be described when that service opens.",
      "state": "today",
      "arc": "M1+PS1",
      "source": "ADR 0115; Plan/PoolParty_Credits_Design.md"
    },
    {
      "id": "several-pools-at-once",
      "title": "Several pools at once",
      "body": "One machine can belong to your own pool and friends’ pools at the same time. The Public Pool is not open yet; support for it will be described when that service opens.",
      "state": "today",
      "arc": "PS1+GP1",
      "source": "Plan/PoolParty_Pools_Strip_And_Group_Pools_Plan.md; items 47, 50, 51"
    },
    {
      "id": "group-pools-with-people-you-trust",
      "title": "Group pools with people you trust",
      "body": "Invite a friend with a one-time code shown on screen; approve their machine with a tap. Their idle time helps your pool, yours helps theirs, and only your own machines answer their prompts unless you decide otherwise. Leave or revoke at any time.",
      "state": "today",
      "arc": "GP1",
      "source": "Plan/PoolParty_Pools_Strip_And_Group_Pools_Plan.md §6; item 51"
    },
    {
      "id": "messages-between-your-devices-your-bots-and-your-agents-sealed",
      "title": "Messages between your devices, your bots and your agents — sealed",
      "body": "Threads between your machines travel device-to-device, encrypted with keys only they hold; when one is offline the hub carries ciphertext it cannot read. Text and images ride the same sealed plane as your files.",
      "state": "today",
      "arc": "MP1a",
      "source": "Plan/PoolParty_Bots_And_Messages_Plan.md §2; item 41"
    },
    {
      "id": "agents-that-talk-to-agents-through-your-pool",
      "title": "Agents that talk to agents, through your pool",
      "body": "Claude Code on your laptop can message the agent on your desktop through the pool — behind three locks, all off by default: the sending agent’s permission, the receiving machine’s rail, and the receiving agent’s own consent. Every thread is readable by the humans who own the machines. Messages are speech; actions stay behind consented tool doors.",
      "state": "today",
      "arc": "AG1",
      "source": "Plan/PoolParty_Agent_Messaging_Plan.md; item 52"
    },
    {
      "id": "your-own-bots",
      "title": "Your own bots",
      "body": "A bot is a name, a brain and a budget. It is a contact on every device in your pool, it answers on your own hardware with the same routing line as any chat, and a budget of zero refuses every ask by name until you raise it — so a bot can never spend what you did not post.",
      "state": "today",
      "arc": "PB1+MP1a",
      "source": "docs/evidence/2026-09-04-pb1-personal-bots.md, ADR 0149"
    },
    {
      "id": "a-calm-face-with-the-instruments-underneath",
      "title": "A calm face, with the instruments underneath",
      "body": "The app opens to one screen — ask your pool, see your machines swimming, flip Contribute, stop everything — and a gear that dives to Depth, where every rail, door, ledger and receipt lives. Night is a tint, not a redesign.",
      "state": "today",
      "arc": "U2",
      "source": "ADR 0140"
    },
    {
      "id": "every-node-proves-itself-every-five-minutes",
      "title": "Every node proves itself, every five minutes",
      "body": "Machines attest to the hub continuously and a node that stops answering is quarantined until it proves itself again. The live rung is a software key today, stated as such; the hardware rung joins when the platform allows it.",
      "state": "today",
      "arc": "AT1+AT1b",
      "source": "ADR 0139, ADR 0141"
    },
    {
      "id": "diagnostics-you-can-read-before-you-send",
      "title": "Diagnostics you can read before you send",
      "body": "Off by default. When you turn it on, the report is built from an allowlisted set of technical fields, shown to you in full before anything leaves, and contains no file contents, prompts or secrets.",
      "state": "today",
      "arc": "DG1",
      "source": "ADR 0136"
    },
    {
      "id": "fail-closed-verified-written-down",
      "title": "Fail-closed, verified, written down",
      "body": "More than 140 architecture decision records, fail-closed verification gates, three-OS continuous integration, and an evidence record for every arc. When a check cannot be satisfied the system refuses, in plain words, rather than proceeding hopefully.",
      "state": "today",
      "arc": "CORE",
      "source": "the product repo’s docs/architecture and docs/evidence"
    },
    {
      "id": "git-pool-code-files-and-project-collaboration",
      "title": "Git Pool — code, files and project collaboration",
      "body": "Git Pool is being developed to bring code, reviews, files and collaborators into one Projects view, with repositories hosted on your pool machines. In development and off by default. Repository hosting, file access, collaboration and synchronization are not available yet.",
      "state": "building",
      "arc": null,
      "source": "Git_Pool_PoolParty_Integration_Plan.docx, approved Revision 2, Library version 1; implementation status: distributed-compute/docs/architecture/git-pool-foundation.md. Source identity and review boundaries are recorded in COPY_SOURCES.md."
    },
    {
      "id": "windows-parity-serving-and-sealed-storage-on-a-windows-pc",
      "title": "Windows parity — serving and sealed storage on a Windows PC",
      "body": "A Windows PC already joins a pool and takes jobs. The daemon's control channel, the LAN storage plane and the sealed-storage verbs on Windows are being built, so a PC serves models and holds sealed shards the way a Mac or a Linux box does.",
      "state": "building",
      "arc": "WP1",
      "source": "Truth pass 2026-09-09; the launch ledger holds WP1 unlanded (src/data/launch-ledger.mjs); the first Windows installer rides the download lane from release 0.1.37"
    },
    {
      "id": "your-pool-browser-control-for-your-pool",
      "title": "Your Pool — browser control for your pool",
      "body": "A separate, signed-in workspace is being developed for managing approved computers, models, agents, storage and compute from a browser. Access will require approval from an installed device; the public website remains a static product guide.",
      "state": "building",
      "arc": null,
      "source": "Owner-approved PoolParty workspace plan, 2026-10-11; browser control requires a new owner-scoped product contract."
    },
    {
      "id": "provider-model-onboarding",
      "title": "Provider model onboarding",
      "body": "Connect supported model providers through an owner-approved setup flow, alongside models running on your own computers. Provider credentials and billing remain separate from PoolParty credits.",
      "state": "building",
      "arc": null,
      "source": "Owner-approved PoolParty workspace plan, 2026-10-11; provider connections require qualified app support."
    },
    {
      "id": "agent-crews-and-harness-connections",
      "title": "Agent crews and harness connections",
      "body": "The planned orchestration flow will let an approved lead agent assign work to worker agents, show each role and result, and connect supported harnesses with explicit permissions. Code presence alone does not make this available in the beta.",
      "state": "building",
      "arc": null,
      "source": "Plan/PoolParty_Agent_Crews_Plan_2026-10-08.md; Plan/PoolParty_Assistant_Harness_Upgrade_Plan_2026-09-29.md; owner-approved PoolParty workspace plan, 2026-10-11."
    },
    {
      "id": "your-devices-anywhere",
      "title": "Your devices, anywhere",
      "body": "Coming after the beta: connect your own computers to your pool across networks, directly where possible or through a relay you control. Serving remains on your hardware.",
      "state": "next",
      "arc": "N1",
      "source": "Owner truth pass 2026-09-26; docs/evidence/2026-08-28-pool-mesh.md, ADR 0130"
    },
    {
      "id": "use-it-from-your-phone-or-laptop",
      "title": "Use it from your phone or laptop",
      "body": "Coming after the beta: approve a phone or laptop as a consume-only device so it can request work from your pool. These devices cannot add hardware, read sealed files, or contribute.",
      "state": "next",
      "arc": "A1",
      "source": "Owner truth pass 2026-09-26; ADR 0127"
    },
    {
      "id": "the-public-pool-coming-after-beta",
      "title": "The Public Pool — coming after beta",
      "body": "The Public Pool is not open yet. It is planned to run small, sealed, sandboxed batch jobs using idle capacity, without exposing private prompts or files. Its aggregate counter will be published when the service opens.",
      "state": "next",
      "arc": null,
      "source": "Owner truth pass 2026-09-26; Plan/PoolParty_Public_Pool_Plan.md"
    },
    {
      "id": "teach-it-your-data",
      "title": "Teach it your data",
      "body": "Point the pool at a folder or a database and get answers with citations. Training only ever reads data in the clear on machines you name.",
      "state": "next",
      "arc": null,
      "source": "Plan/PoolParty_Teach_Plan.md; item 37"
    },
    {
      "id": "tool-doors-your-agents-acting-across-your-machines",
      "title": "Tool doors — your agents acting across your machines",
      "body": "Machines and apps offer actions the pool’s agents may invoke, with per-tool, per-caller consent granted on the tool’s home machine, and receipts on both ends.",
      "state": "next",
      "arc": null,
      "source": "Plan/PoolParty_Connection_Fabric_Plan.md §1; item 44"
    },
    {
      "id": "add-your-pool-to-a-website",
      "title": "Add your pool to a website",
      "body": "A domain-locked, consume-only key and one script tag, so a site you run gets your pool behind it.",
      "state": "next",
      "arc": null,
      "source": "Plan/PoolParty_Connection_Fabric_Plan.md §2; item 45"
    },
    {
      "id": "a-pool-computer",
      "title": "A pool computer",
      "body": "A persistent workspace for your agents that lives on the pool instead of on the machine in your hand, so they keep working with the laptop closed.",
      "state": "next",
      "arc": null,
      "source": "Plan/PoolParty_Pool_Computer_Plan.md; item 40"
    },
    {
      "id": "company-mode-offered",
      "title": "Company mode, offered",
      "body": "The same product run as a company: the hub on your network, the machines you already bought, operator roles, directory sign-in, escrow keyring, policy that can only narrow. Packaged today; offered with a company release and a real price, not before.",
      "state": "next",
      "arc": null,
      "source": "ADR 0138; the owner’s line \"foundation built, offered later\""
    },
    {
      "id": "split-one-model-across-several-machines",
      "title": "Split one model across several machines",
      "body": "This planned serving approach would divide one model across multiple computers. Cross-machine performance and compatibility still need qualification; current model selection does not combine VRAM or pool the memory of separate GPUs.",
      "state": "next",
      "arc": null,
      "source": "ADR 0129"
    },
    {
      "id": "the-trust-ladder-rung-by-rung",
      "title": "The trust ladder, rung by rung",
      "body": "Sampled verification and no-plaintext serving — the gates that must be green before a stranger’s prompt ever touches a stranger’s machine. Both are public, including what each one unlocks.",
      "state": "next",
      "arc": null,
      "source": "items 34, 35; /trust"
    },
    {
      "id": "a-verified-marketplace",
      "title": "A verified marketplace",
      "body": "Pools open to contributors beyond people you already trust, behind the verification ladder.",
      "state": "later",
      "arc": null,
      "source": "Plan/PoolParty_Scale_Plan.md"
    },
    {
      "id": "real-currency-payouts",
      "title": "Real-currency payouts",
      "body": "Credits are real today; money is not. Fiat belongs to a later, deliberately gated phase.",
      "state": "later",
      "arc": null,
      "source": "Plan/PoolParty_Credits_Design.md"
    },
    {
      "id": "agents-that-pay-per-request",
      "title": "Agents that pay per request",
      "body": "An agent with a wallet buys pool compute per request, fractions of a cent at a time, with no account — behind the ladder, the credits terms and the entity decision.",
      "state": "later",
      "arc": null,
      "source": "Plan/Website_Upgrade_Plan_2026-09-02.md §4–§5"
    },
    {
      "id": "a-credits-interchange",
      "title": "A credits interchange",
      "body": "Spending credits earned on your machine against other sites’ premium features.",
      "state": "later",
      "arc": null,
      "source": "Plan/PoolParty_GTM_Flywheel.md"
    },
    {
      "id": "power-this-site",
      "title": "“Power this site”",
      "body": "The third-party program that lets a site’s visitors contribute to the pool behind it.",
      "state": "later",
      "arc": null,
      "source": "Plan/PoolParty_GTM_Flywheel.md"
    },
    {
      "id": "experience-chat",
      "title": "Chat",
      "body": "Send a question to a model available through your pool, then see which model answered and why it was selected. Model choice depends on the computers and models you have connected.",
      "state": "today",
      "arc": "CORE+O2+U2",
      "source": "ADR 0132 (pool/auto), ADR 0140 (Surface & Depth); connected conversations: Plan/PoolParty_Chat_Upgrade_Plan_2026-10-05.md"
    },
    {
      "id": "experience-pitchdeck",
      "title": "PitchDeck",
      "body": "PitchDeck is being developed inside PoolParty to shape a company or project story, arrange visuals and narration, and rehearse a presentation for Theater.",
      "state": "building",
      "arc": null,
      "source": "Plan/PoolParty_PitchDeck_Plan_2026-10-02.md"
    },
    {
      "id": "experience-social",
      "title": "Social",
      "body": "Social is being developed for opt-in Spaces and Rooms where invited people can share clips, discuss moments, and gather in Theater.",
      "state": "building",
      "arc": null,
      "source": "Plan/PoolParty_Social_Master_Plan_2026-10-04.md"
    },
    {
      "id": "experience-theater",
      "title": "Theater",
      "body": "Theater is in development for photos, films and generated worlds, powered by your pool and your own hardware.",
      "state": "building",
      "arc": null,
      "source": "Plan/PoolParty_Theater_Plan.md"
    },
    {
      "id": "experience-git-pool",
      "title": "Git Pool",
      "body": "Git Pool is being developed to bring code, reviews, files and collaborators into one Projects view, with repositories hosted on your pool machines.",
      "state": "building",
      "arc": null,
      "source": "Git_Pool_PoolParty_Integration_Plan.docx, approved Revision 2, Library version 1; implementation status: distributed-compute/docs/architecture/git-pool-foundation.md. Source identity and review boundaries are recorded in COPY_SOURCES.md."
    }
  ]
}
