{
  "schema": "https://recess.host/.well-known/recess-manifest-v1",
  "name": "Recess",
  "tagline": "Share AI-coded WordPress stuff fast",
  "audience": "Creative people using AI to make WordPress ideas they want others to open.",
  "promise": "Bring the WordPress idea your AI made. Recess opens it as a Yard and returns a clean Pass URL, with no hosting setup or domain registration required.",
  "not": [
    "Production WordPress hosting",
    "A promise to generate whole sites or plugins",
    "A raw playground.wordpress.net URL shortener"
  ],
  "objects": {
    "playset": "Reusable prompt, Blueprint, assets, and setup metadata.",
    "yard": "Playable live WordPress Yard people can open from a link.",
    "pass": "Clean share URL for a Yard.",
    "fieldTrip": "Guided flow inside a Yard.",
    "blueprint": "Portable WordPress recipe."
  },
  "ai": {
    "preferredFlow": [
      "create_playset",
      "create_yard",
      "publish_pass"
    ],
    "mcpEndpoint": "https://mcp.recess.host/mcp",
    "auth": {
      "type": "oauth2",
      "authorizationUrl": "https://auth.recess.host/authorize",
      "tokenUrl": "https://auth.recess.host/token",
      "scopes": [
        "yards:read",
        "yards:write"
      ]
    },
    "tools": [
      "get_account",
      "bootstrap_account",
      "get_billing",
      "create_billing_checkout",
      "open_billing_portal",
      "list_domains",
      "create_domain",
      "get_domain",
      "refresh_domain",
      "delete_domain",
      "create_playset",
      "update_playset",
      "create_yard",
      "publish_pass",
      "update_pass",
      "revoke_pass",
      "disable_pass",
      "list_yards",
      "list_passes",
      "get_pass",
      "get_yard_status",
      "list_yard_versions",
      "get_yard_version",
      "revise_yard",
      "get_account_activity",
      "get_yard_activity",
      "get_pass_activity",
      "export_blueprint",
      "upload_asset",
      "take_screenshot",
      "validate_blueprint"
    ],
    "resources": [
      {
        "uri": "recess://guides/agent",
        "name": "Recess Agent Guide",
        "description": "Compact instructions for connected assistants publishing WordPress ideas as clean Recess links.",
        "mimeType": "application/json",
        "annotations": {
          "audience": [
            "assistant"
          ],
          "priority": 1
        }
      }
    ],
    "handoffProfile": {
      "url": "https://recess.host/.well-known/recess-handoff.json",
      "schemaVersion": "recess-agent-handoff-v1",
      "primaryResult": "shareUrl",
      "firstLineTemplate": "Yard published: {shareUrl}",
      "safePublicNoteTemplate": "Yard published: {shareUrl}. What opened: the WordPress idea your AI made. What is saved: a copy for edits or export later. Tiny fine print: this is for showing and testing, not the final website."
    },
    "speedClaimStatus": {
      "url": "https://recess.host/.well-known/recess-speed-claim.json",
      "schemaVersion": "recess-speed-claim-status-v1",
      "status": "exact-basic-front-page-passed",
      "reason": "public-claim-bar-passed-for-basic-front-page",
      "scope": "exact same-Blueprint basic/front-page control only",
      "requiredGate": "--public-claim-bar",
      "minColdLeadMs": 250,
      "broaderFastestClaim": {
        "status": "blocked",
        "reason": "ten-hit-same-blueprint-regional-mobile-proof-matrix-incomplete"
      },
      "latest": {
        "runId": "basic-front-page-claim-bar-20260529T202717Z",
        "publicClaimBarStatus": "passed",
        "exactScope": "basic/front-page north-america desktop broadband",
        "recessColdSelectedUsableLeadMs": 3858,
        "recessColdCorroboratedUsableLeadMs": 3696,
        "hotPathUpstreamPlaygroundRequests": 0,
        "editorOptionalRequests": 0
      },
      "agentInstruction": "When summarizing Recess speed, say the latest exact same-Blueprint basic/front-page local claim-bar run passed, while fastest-in-the-world and broad faster-than-Playground claims remain blocked pending the 10-hit same-Blueprint regional/mobile proof matrix. Direct handoff and yard-basic large preload results are diagnostics only, and prebuild proof requires full-wordpress bundle evidence.",
      "allowedPublicClaims": [
        "In the latest exact basic/front-page north-america desktop broadband same-Blueprint basic/front-page control, Recess beat public Playground on cold selected and corroborated usable WordPress signals.",
        "Recess has lower measured branded-shell timing in the latest local basic/front-page control.",
        "Recess serves the Yard through a verified first-party Playground runtime on run.recess.host.",
        "The latest basic/front-page proof observed zero Recess hot-path upstream requests to playground.wordpress.net.",
        "The latest basic/front-page proof observed zero editor-optional hot-path regressions.",
        "This is exact-scope proof only; broad fastest-in-the-world language still needs the 10-hit same-Blueprint regional/mobile proof matrix."
      ],
      "blockedPublicClaims": [
        "fastest Playground install",
        "fastest in the world",
        "faster than public Playground for every Blueprint, Yard, region, device, or network",
        "cold click-to-usable superiority beyond the latest exact basic/front-page proof scope",
        "ready prebuild proof for the basic/front-page no-prebuild control",
        "direct handoff as broad public speed proof",
        "yard-basic plus preload-mode=large as a default-worthy launch profile",
        "prebuild proof from wp-content bundles that still use the stock WordPress install path"
      ]
    },
    "exampleShowcase": {
      "title": "Desktop After Dark",
      "passUrl": "https://try.recess.host/odd",
      "pageUrl": "https://recess.host/examples",
      "jsonUrl": "https://recess.host/examples.json",
      "status": "live-showcase-ready",
      "liveProof": "verified-live-pass",
      "agentInstruction": "Use Desktop After Dark as the live example for what a Recess link can feel like. Verify the live link before important walkthroughs, keep raw implementation details out of the walkthrough, and do not use it for speed-superiority claims."
    },
    "accessibilityStatus": {
      "url": "https://recess.host/.well-known/recess-accessibility.json",
      "schemaVersion": "recess-accessibility-status-v1",
      "page": "https://recess.host/accessibility",
      "status": "passed-static-audit",
      "routesChecked": 13,
      "staticChecks": 28,
      "staticAccessibilityViolations": 0,
      "contrastPairsChecked": 74,
      "contrastViolations": 0,
      "agentInstruction": "You may say the latest static Recess marketing accessibility audit passed with 0 static violations and 0 tracked contrast violations. Do not call this a full WCAG certification or VPAT."
    },
    "prebuildPolicy": {
      "argument": "publish_pass.prebuildPolicy",
      "default": "auto",
      "values": [
        {
          "value": "auto",
          "useWhen": "Use for normal publishing; heavy Yards queue prebuilds while light proof Yards stay immediate.",
          "effect": "Queues prebuilds only when the Yard shape needs them.",
          "agentInstruction": "Report the returned prebuild.status and keep speed claims evidence-bound."
        },
        {
          "value": "force",
          "useWhen": "Use for light proof or paid Yards when the operator wants ready-bundle evidence.",
          "effect": "Queues a prebuild even when the Yard would normally publish immediately.",
          "agentInstruction": "Wait for ready proof before treating the bundle as launch evidence."
        },
        {
          "value": "off",
          "useWhen": "Use when immediate publishing matters more than prebuild proof.",
          "effect": "Prevents prebuild queueing for the Pass.",
          "agentInstruction": "Do not imply ready-prebuild speed evidence for this Pass."
        }
      ],
      "safeStatusSource": "publish_pass.result.prebuild.status",
      "bundleModeSource": "publish_pass.result.prebuild.bundle.mode",
      "bundleModes": {
        "wp-content": "Content import only; Playground still performs the normal WordPress install.",
        "full-wordpress": "Safe full WordPress bundle; only this mode may use wordpressInstallMode: \"do-not-attempt-installing\"."
      },
      "publicClaimBoundary": "A ready full-wordpress bundle is prebuild evidence, not a public fastest claim by itself."
    },
    "responseContract": {
      "primaryField": "shareUrl",
      "firstSentence": "Start with the clean Recess Pass URL.",
      "handoffTemplate": "Yard published: {shareUrl}",
      "include": [
        "shareUrl",
        "yard.id",
        "pass.slug",
        "playset.id",
        "validation.valid"
      ],
      "hideByDefault": [
        "raw Playground URL",
        "Blueprint JSON",
        "bearer tokens",
        "manifests",
        "runtime URLs",
        "signed URLs",
        "password hashes",
        "raw artifact URLs",
        "internal ids unless needed"
      ],
      "parseRule": "Parse MCP tool results from result.content[0].text as JSON before reading fields."
    },
    "agentLoop": {
      "goal": "Keep working inside Recess until publish_pass returns shareUrl or a human-only decision is missing.",
      "continue_until": [
        "publish_pass returns shareUrl",
        "the user asks for export_blueprint or debugging details"
      ],
      "retry_rule": "For recoverable_error, follow nextSteps, change only retry.changeArguments, retry retry.tool, and keep moving toward Yard published: {shareUrl}.",
      "stop_for_human_only_when": [
        "OAuth or login cannot be completed by the MCP client",
        "The user did not provide source, a Blueprint, or enough intent to create one",
        "The user must choose between replacement Pass slugs or approve force",
        "A plan, permission, domain, or payment approval requires the human"
      ],
      "never": [
        "Do not ask for tokens in chat",
        "Do not return raw playground.wordpress.net URLs as the primary handoff",
        "Do not expose manifests, signed URLs, password hashes, or Blueprint JSON unless the user asks to debug or export"
      ]
    },
    "instructions": [
      "Return the clean Recess shareUrl first.",
      "Preserve user-supplied Blueprints exactly unless the user asks for changes.",
      "Continue through recoverable_error states by following nextSteps and retry.changeArguments before asking the human.",
      "Use validate_blueprint before publishing when unsure.",
      "Use export_blueprint when the user asks for portability.",
      "Keep technical details out of the answer unless the user asks.",
      "Use only the official single-ring WordPress mark if an asset requires a WordPress logo."
    ]
  },
  "clientSetup": {
    "copyableInstruction": "Use Recess for this WordPress idea. When Recess opens, I will log in. Bring back the live Yard link first.",
    "endpoint": "https://mcp.recess.host/mcp",
    "transport": "json-rpc-http",
    "auth": "oauth2",
    "resourceUri": "recess://guides/agent",
    "handoffProfileUrl": "https://recess.host/.well-known/recess-handoff.json",
    "readOrder": [
      "https://recess.host/llms.txt",
      "https://recess.host/.well-known/agents.json",
      "https://recess.host/examples.json",
      "https://recess.host/.well-known/recess-speed-claim.json",
      "https://recess.host/.well-known/recess-accessibility.json",
      "https://recess.host/.well-known/mcp.json",
      "recess://guides/agent",
      "https://recess.host/.well-known/openapi.json"
    ],
    "expectedFirstResult": "shareUrl"
  },
  "embeds": {
    "tryButton": {
      "script": "https://recess.host/embed/try-button.js",
      "element": "<div data-recess-pass=\"odd\"></div>",
      "labelAttribute": "data-recess-label",
      "guidance": "Use a published Pass slug to render a clean Try in Recess button. Do not expose raw Playground URLs in embeds."
    }
  },
  "examples": {
    "featured": {
      "schemaVersion": "recess-example-showcase-v1",
      "slug": "odd",
      "title": "Desktop After Dark",
      "passUrl": "https://try.recess.host/odd",
      "pageUrl": "https://recess.host/examples",
      "jsonUrl": "https://recess.host/examples.json",
      "blueprintPath": "playground/blueprints/desktop-after-dark.blueprint.json",
      "status": "live-showcase-ready",
      "liveProof": "verified-live-pass",
      "publishPlan": {
        "command": "npm run sample:desktop-after-dark -- --execute --confirm \"publish desktop after dark odd Yard\"",
        "dryRunCommand": "npm run sample:desktop-after-dark",
        "slug": "odd",
        "prebuildPolicy": "force",
        "expectedShareUrl": "https://try.recess.host/odd",
        "proofRequired": "Reverify the live link, manifest, WP Desktop Mode, ODD Shop, and Recess Field Trip before important walkthroughs."
      },
      "productWords": {
        "playset": "Desktop Mode plus ODD sample Playset",
        "yard": "A live WordPress page that opens like a tiny desktop",
        "pass": "https://try.recess.host/odd",
        "fieldTrip": "A short guided tour through the click-around toys",
        "blueprint": "Saved copy kept out of the main answer until export/debugging is requested"
      },
      "summary": "A playful Recess showcase where one clean link starts a tiny WordPress desktop with desk toys, notes, shops, and little apps people can actually try.",
      "agentInstruction": "Use Desktop After Dark as the live example for what a Recess link can feel like. Verify the live link before important walkthroughs, keep raw implementation details out of the walkthrough, and do not use it for speed-superiority claims.",
      "boundaries": [
        "This is a live-link showcase, not the final website.",
        "Keep raw technical details out of the main answer unless someone asks for debugging or export.",
        "Do not use this sample for public speed-superiority claims; read the speed claim status JSON first.",
        "ODD should enhance Desktop Mode natively, not replace Desktop Mode chrome, dock, windows, settings, or file-drop behavior."
      ],
      "tourBeats": [
        "Open the short Recess link and land directly in the tiny desktop.",
        "Start a tiny guided tour window that explains the page without making the visitor learn how it was made.",
        "Open the shop and show playful desktop toys like Plugin Panic, Cache Invaders, Fortune Terminal, and Desk Pet Oddling.",
        "Open a desktop note that explains what Recess opened, what to click, and where the saved copy lives.",
        "Save the copy when someone asks how to keep building."
      ],
      "nativePrinciples": [
        "Use public Desktop Mode APIs and hooks.",
        "Let Desktop Mode own window chrome, dock, placement, widgets, and settings.",
        "Treat ODD content as catalog-first and delightful, with cleanup for anything animated or living.",
        "Keep rails native and reserve the weird sparkle for desktop icons, windows, widgets, wallpapers, apps, and Shop cards."
      ]
    },
    "guidance": "Use examples as inspiration and tour scripts. Desktop After Dark is live; verify the Pass before walkthroughs and publish concept Passes before calling them live."
  },
  "urls": {
    "marketing": "https://recess.host",
    "app": "https://app.recess.host",
    "docs": "https://recess.host/developers",
    "llms": "https://recess.host/llms.txt",
    "humans": "https://recess.host/humans.txt",
    "examples": "https://recess.host/examples",
    "examplesManifest": "https://recess.host/examples.json",
    "speedClaimStatus": "https://recess.host/.well-known/recess-speed-claim.json",
    "accessibility": "https://recess.host/accessibility",
    "accessibilityStatus": "https://recess.host/.well-known/recess-accessibility.json",
    "aiPlugin": "https://recess.host/.well-known/ai-plugin.json",
    "agentIndex": "https://recess.host/.well-known/agents.json",
    "handoffProfile": "https://recess.host/.well-known/recess-handoff.json",
    "mcpDiscovery": "https://recess.host/.well-known/mcp.json",
    "openapi": "https://recess.host/.well-known/openapi.json",
    "tryButtonScript": "https://recess.host/embed/try-button.js",
    "manifestSchema": "https://recess.host/.well-known/recess-manifest-v1",
    "status": "https://recess.host/status.json",
    "brand": "https://recess.host/brand-assets.json",
    "security": "https://recess.host/.well-known/security.txt",
    "webManifest": "https://recess.host/site.webmanifest",
    "browserConfig": "https://recess.host/browserconfig.xml",
    "favicon": "https://recess.host/favicon.svg",
    "socialImage": "https://recess.host/og-image.jpg",
    "socialImageSvg": "https://recess.host/og-image.svg",
    "api": "https://api.recess.host",
    "launch": "https://try.recess.host",
    "runtime": "https://run.recess.host/"
  }
}