application · active

TopoloWeb

Chat-first website platform with a signed-in studio, Nexus-backed agent planning, Worker control plane, Astro runtime, publish snapshots, domains, forms, assets, and launch QA.

Documentation map

  • Topolo Web — Build, preview, quality-check, publish, and recover responsive websites through a typed agent workflow.

Authority and runtime

System ID
topolo-web
App IDs
app_topolo_web
Owners
product-platform
Repositories
apps/TopoloWeb
Hosts
https://web.topolo.app, https://web-api.topolo.app, https://sites.topolo.app, https://web.stg.topolo.us, https://web-api.stg.topolo.us, https://sites.stg.topolo.us
Dependencies
topolo-platform, topolo-auth, topolo-one, applications-packages, cloud-control

Security and data ownership

Risk tier
high
Tenant isolation
organization_scoped
Privacy classification
restricted
Storage
d1, external_provider, kv
Export and deletion
planned
Enterprise ready
no

Source-derived capability inventory

Source revisions: apps/TopoloWeb@30bfa2a69264ff4adb674121bac9ed20f407bf6b

Declared actions: 44 · API routes: 5 · UI routes: 0

{
  "id": "topolo-web",
  "name": "TopoloWeb",
  "slug": "topolo-web",
  "kind": "application",
  "visibility": "public",
  "repo_paths": [
    "apps/TopoloWeb"
  ],
  "source_revisions": [
    {
      "source_path": "apps/TopoloWeb",
      "repository": "apps/TopoloWeb",
      "revision": "30bfa2a69264ff4adb674121bac9ed20f407bf6b",
      "ref": "origin/staging"
    }
  ],
  "source_counts": {
    "source_files": 169,
    "test_files": 84,
    "test_cases": 0,
    "migration_files": 8,
    "database_tables": 0,
    "manifests": 1,
    "deploy_targets": 3,
    "actions": 44,
    "mobile_contracts": 1,
    "notifications": 7,
    "package_manifests": 8,
    "deployment_configs": 1
  },
  "manifests": [
    {
      "source_path": "apps/TopoloWeb/topolo.app.json",
      "service_slug": "topolo-web",
      "name": "topoloweb",
      "app_id": "app_topolo_web",
      "compatibility_date": "2026-04-10",
      "primary_target": null,
      "environments": [
        "development",
        "production",
        "staging"
      ],
      "targets": [
        {
          "name": "web",
          "kind": "worker",
          "directory": "apps/web",
          "main": "src/worker.ts",
          "worker_name": "topolo-web-studio",
          "subdomain": "web",
          "healthcheck_path": null,
          "variable_names": [
            "AUTH_API_URL",
            "INSIGHTS_SITE_KEY"
          ],
          "secret_names": [],
          "bindings": [
            {
              "kind": "services",
              "binding": "API",
              "target": null
            }
          ]
        },
        {
          "name": "api",
          "kind": "worker",
          "directory": "apps/api",
          "main": "src/index.ts",
          "worker_name": "topolo-web-api",
          "subdomain": null,
          "healthcheck_path": "/health",
          "variable_names": [
            "ENVIRONMENT",
            "FRONTEND_URL",
            "NEXUS_GATEWAY_URL",
            "NEXUS_MODEL",
            "NEXUS_PROVIDER",
            "RUNTIME_URL",
            "TOPOLO_AUTH_API_URL",
            "TOPOLO_NOTIFY_URL"
          ],
          "secret_names": [],
          "bindings": [
            {
              "kind": "d1",
              "binding": "TOPOLOWEB_CONTROL_DB",
              "target": null
            },
            {
              "kind": "d1",
              "binding": "TOPOLOWEB_CONTENT_DB",
              "target": null
            },
            {
              "kind": "d1",
              "binding": "TOPOLOWEB_EVENTS_AGENT_DB",
              "target": null
            },
            {
              "kind": "kv",
              "binding": "TOPOLOWEB_PUBLISHED_KV",
              "target": null
            }
          ]
        },
        {
          "name": "runtime",
          "kind": "worker",
          "directory": "apps/runtime",
          "main": "@astrojs/cloudflare/entrypoints/server",
          "worker_name": "topolo-web-runtime",
          "subdomain": null,
          "healthcheck_path": "/health",
          "variable_names": [],
          "secret_names": [],
          "bindings": [
            {
              "kind": "kv",
              "binding": "SESSION",
              "target": null
            }
          ]
        }
      ],
      "notifications": [
        "web.build.completed",
        "web.build.failed",
        "web.collection.import_failed",
        "web.domain.verification_failed",
        "web.domain.verification_required",
        "web.site.published",
        "web.site.unpublished"
      ],
      "notification_contract": {
        "source_path": "topolo.notification-contracts.json",
        "role": "producer",
        "schema_version": 1,
        "owner_app_id": "app_topolo_web",
        "events": [
          {
            "type": "web.build.completed",
            "version": 1,
            "description": "A requested site build completed and its site state was persisted.",
            "status": "published",
            "payloadSchema": {
              "type": "object",
              "required": [
                "title",
                "body",
                "object_id",
                "occurred_at",
                "build_id",
                "site_id",
                "site_name"
              ],
              "properties": {
                "title": {
                  "type": "string",
                  "minLength": 1
                },
                "body": {
                  "type": "string",
                  "minLength": 1
                },
                "object_id": {
                  "type": "string",
                  "minLength": 1
                },
                "occurred_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "build_id": {
                  "type": "string",
                  "minLength": 1
                },
                "site_id": {
                  "type": "string",
                  "minLength": 1
                },
                "site_name": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "additionalProperties": true
            },
            "examples": [
              {
                "title": "Site build completed: Northstar",
                "body": "The generated site is ready to review.",
                "object_id": "webbuild_1",
                "occurred_at": "2026-07-20T00:00:00.000Z",
                "build_id": "webbuild_1",
                "site_id": "site_1",
                "site_name": "Northstar"
              }
            ],
            "dataClassification": "internal",
            "recipients": {
              "modes": [
                "organization_member"
              ],
              "externalAddress": "forbidden"
            },
            "idempotency": {
              "required": true,
              "pattern": "^web:build-completed:"
            },
            "sensitiveFields": []
          },
          {
            "type": "web.build.failed",
            "version": 1,
            "description": "A requested site build failed and the terminal attempt was persisted.",
            "status": "published",
            "payloadSchema": {
              "type": "object",
              "required": [
                "title",
                "body",
                "object_id",
                "occurred_at",
                "build_id",
                "site_name",
                "reason"
              ],
              "properties": {
                "title": {
                  "type": "string",
                  "minLength": 1
                },
                "body": {
                  "type": "string",
                  "minLength": 1
                },
                "object_id": {
                  "type": "string",
                  "minLength": 1
                },
                "occurred_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "build_id": {
                  "type": "string",
                  "minLength": 1
                },
                "site_name": {
                  "type": "string",
                  "minLength": 1
                },
                "reason": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "additionalProperties": true
            },
            "examples": [
              {
                "title": "Site build failed: Northstar",
                "body": "The site payload could not be built.",
                "object_id": "webbuild_2",
                "occurred_at": "2026-07-20T00:00:00.000Z",
                "build_id": "webbuild_2",
                "site_name": "Northstar",
                "reason": "invalid_build_payload"
              }
            ],
            "dataClassification": "internal",
            "recipients": {
              "modes": [
                "organization_member"
              ],
              "externalAddress": "forbidden"
            },
            "idempotency": {
              "required": true,
              "pattern": "^web:build-failed:"
            },
            "sensitiveFields": []
          },
          {
            "type": "web.collection.import_failed",
            "version": 1,
            "description": "A collection CSV import failed and the terminal attempt was persisted.",
            "status": "published",
            "payloadSchema": {
              "type": "object",
              "required": [
                "title",
                "body",
                "object_id",
                "occurred_at",
                "import_id",
                "site_id",
                "collection_slug",
                "reason"
              ],
              "properties": {
                "title": {
                  "type": "string",
                  "minLength": 1
                },
                "body": {
                  "type": "string",
                  "minLength": 1
                },
                "object_id": {
                  "type": "string",
                  "minLength": 1
                },
                "occurred_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "import_id": {
                  "type": "string",
                  "minLength": 1
                },
                "site_id": {
                  "type": "string",
                  "minLength": 1
                },
                "collection_slug": {
                  "type": "string",
                  "minLength": 1
                },
                "reason": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "additionalProperties": true
            },
            "examples": [
              {
                "title": "Collection import failed: products",
                "body": "The collection CSV was rejected.",
                "object_id": "webcollectionimport_1",
                "occurred_at": "2026-07-20T00:00:00.000Z",
                "import_id": "webcollectionimport_1",
                "site_id": "site_1",
                "collection_slug": "products",
                "reason": "invalid_headers"
              }
            ],
            "dataClassification": "internal",
            "recipients": {
              "modes": [
                "organization_member"
              ],
              "externalAddress": "forbidden"
            },
            "idempotency": {
              "required": true,
              "pattern": "^web:collection-import-failed:"
            },
            "sensitiveFields": []
          },
          {
            "type": "web.domain.verification_failed",
            "version": 1,
            "description": "A custom-domain DNS verification attempt failed and was persisted.",
            "status": "published",
            "payloadSchema": {
              "type": "object",
              "required": [
                "title",
                "body",
                "object_id",
                "occurred_at",
                "site_id",
                "domain_id",
                "hostname",
                "reason"
              ],
              "properties": {
                "title": {
                  "type": "string",
                  "minLength": 1
                },
                "body": {
                  "type": "string",
                  "minLength": 1
                },
                "object_id": {
                  "type": "string",
                  "minLength": 1
                },
                "occurred_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "site_id": {
                  "type": "string",
                  "minLength": 1
                },
                "domain_id": {
                  "type": "string",
                  "minLength": 1
                },
                "hostname": {
                  "type": "string",
                  "minLength": 1
                },
                "reason": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "additionalProperties": true
            },
            "examples": [
              {
                "title": "Domain verification failed: www.example.com",
                "body": "The required DNS records were not visible.",
                "object_id": "domain_1",
                "occurred_at": "2026-07-20T00:00:00.000Z",
                "site_id": "site_1",
                "domain_id": "domain_1",
                "hostname": "www.example.com",
                "reason": "dns_records_missing"
              }
            ],
            "dataClassification": "internal",
            "recipients": {
              "modes": [
                "organization_member"
              ],
              "externalAddress": "forbidden"
            },
            "idempotency": {
              "required": true,
              "pattern": "^web:domain-verification-failed:"
            },
            "sensitiveFields": []
          },
          {
            "type": "web.domain.verification_required",
            "version": 1,
            "description": "A custom domain was persisted and requires DNS ownership verification.",
            "status": "published",
            "payloadSchema": {
              "type": "object",
              "required": [
                "title",
                "body",
                "object_id",
                "occurred_at",
                "site_id",
                "domain_id",
                "hostname",
                "dns_target",
                "verification_token"
              ],
              "properties": {
                "title": {
                  "type": "string",
                  "minLength": 1
                },
                "body": {
                  "type": "string",
                  "minLength": 1
                },
                "object_id": {
                  "type": "string",
                  "minLength": 1
                },
                "occurred_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "site_id": {
                  "type": "string",
                  "minLength": 1
                },
                "domain_id": {
                  "type": "string",
                  "minLength": 1
                },
                "hostname": {
                  "type": "string",
                  "minLength": 1
                },
                "dns_target": {
                  "type": "string",
                  "minLength": 1
                },
                "verification_token": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "additionalProperties": true
            },
            "examples": [
              {
                "title": "Verify www.example.com",
                "body": "Add the required DNS records.",
                "object_id": "domain_1",
                "occurred_at": "2026-07-20T00:00:00.000Z",
                "site_id": "site_1",
                "domain_id": "domain_1",
                "hostname": "www.example.com",
                "dns_target": "sites.topolo.app",
                "verification_token": "verify_123"
              }
            ],
            "dataClassification": "confidential",
            "recipients": {
              "modes": [
                "organization_member"
              ],
              "externalAddress": "forbidden"
            },
            "idempotency": {
              "required": true,
              "pattern": "^web:domain-verification-required:"
            },
            "sensitiveFields": [
              "verification_token"
            ]
          },
          {
            "type": "web.site.published",
            "version": 1,
            "description": "A site version was published and persisted.",
            "status": "published",
            "payloadSchema": {
              "type": "object",
              "required": [
                "title",
                "body",
                "object_id",
                "occurred_at",
                "site_id",
                "version_id",
                "version_number"
              ],
              "properties": {
                "title": {
                  "type": "string",
                  "minLength": 1
                },
                "body": {
                  "type": "string",
                  "minLength": 1
                },
                "object_id": {
                  "type": "string",
                  "minLength": 1
                },
                "occurred_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "site_id": {
                  "type": "string",
                  "minLength": 1
                },
                "version_id": {
                  "type": "string",
                  "minLength": 1
                },
                "version_number": {
                  "type": "integer",
                  "minimum": 1
                }
              },
              "additionalProperties": true
            },
            "examples": [
              {
                "title": "Site published: Northstar",
                "body": "Version 2 is now live.",
                "object_id": "site_1",
                "occurred_at": "2026-07-20T00:00:00.000Z",
                "site_id": "site_1",
                "version_id": "version_2",
                "version_number": 2
              }
            ],
            "dataClassification": "internal",
            "recipients": {
              "modes": [
                "organization_member"
              ],
              "externalAddress": "forbidden"
            },
            "idempotency": {
              "required": true,
              "pattern": "^web:site-published:"
            },
            "sensitiveFields": []
          },
          {
            "type": "web.site.unpublished",
            "version": 1,
            "description": "A published site was moved back to draft and its public cache was purged.",
            "status": "published",
            "payloadSchema": {
              "type": "object",
              "required": [
                "title",
                "body",
                "object_id",
                "occurred_at",
                "site_id"
              ],
              "properties": {
                "title": {
                  "type": "string",
                  "minLength": 1
                },
                "body": {
                  "type": "string",
                  "minLength": 1
                },
                "object_id": {
                  "type": "string",
                  "minLength": 1
                },
                "occurred_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "site_id": {
                  "type": "string",
                  "minLength": 1
                }
              },
              "additionalProperties": true
            },
            "examples": [
              {
                "title": "Site unpublished: Northstar",
                "body": "The public site is no longer serving its published version.",
                "object_id": "site_1",
                "occurred_at": "2026-07-20T00:00:00.000Z",
                "site_id": "site_1"
              }
            ],
            "dataClassification": "internal",
            "recipients": {
              "modes": [
                "organization_member"
              ],
              "externalAddress": "forbidden"
            },
            "idempotency": {
              "required": true,
              "pattern": "^web:site-unpublished:"
            },
            "sensitiveFields": []
          }
        ]
      },
      "actions": [
        {
          "name": "organizations.data.export",
          "title": "Export organization data",
          "description": "Export all TopoloWeb workspaces, sites, content, submissions, agent activity, operational records, and uploaded-asset metadata owned by the authenticated organization without preview, domain-verification, or client-address credentials.",
          "permission": "privacy:read",
          "method": "GET",
          "path": "/api/organizations/data/export",
          "authorizationMode": "static",
          "readOnly": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {},
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "target": "api",
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/organizations/data/export",
              "body": null
            },
            "effects": "Reads state through GET /api/organizations/data/export without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/organizations/data/export",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "organizations.data.erase",
          "title": "Erase organization data",
          "description": "Permanently erase all TopoloWeb data owned by the authenticated organization across control, content, events and agent databases plus published KV objects while retaining backups under policy.",
          "permission": "privacy:write",
          "method": "DELETE",
          "path": "/api/organizations/data/erase",
          "authorizationMode": "static",
          "readOnly": false,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "confirmation": {
                "type": "string",
                "const": "ERASE"
              }
            },
            "required": [
              "confirmation"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "target": "api",
          "destructive": true,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "confirmation": "ERASE"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "DELETE",
              "path": "/api/organizations/data/erase",
              "body": null
            },
            "effects": "May change state through DELETE /api/organizations/data/erase. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "DELETE /api/organizations/data/erase",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "workspaces.delete",
          "title": "Delete workspace",
          "description": "Permanently delete an empty, non-default TopoloWeb workspace.",
          "permission": "workspace:delete",
          "method": "DELETE",
          "path": "/api/workspaces/{workspaceId}",
          "authorizationMode": "static",
          "readOnly": false,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "workspaceId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "workspaceId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "ok": {
                "type": "boolean",
                "const": true
              },
              "workspaceId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "ok",
              "workspaceId"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "destructive": true,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "agentContract": {
            "docsUrl": "https://docs.topolo.app/applications/web#workspace-management",
            "resource": {
              "kind": "workspace",
              "idPath": "workspaceId"
            },
            "effects": [
              "Confirms the TopoloWeb workspace is empty, then asks Topolo Auth to archive its canonical identity."
            ],
            "errors": [
              {
                "status": 409,
                "code": "workspace_delete_blocked",
                "recovery": "Remove owned sites or select another default workspace, then retry the deletion."
              }
            ],
            "verify": [
              "Call app_topolo_auth.workspaces.list and confirm the archived workspace id is absent."
            ],
            "nextActionIds": [
              "app_topolo_auth.workspaces.list"
            ]
          },
          "documentation": {
            "example_input": {
              "workspaceId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "DELETE",
              "path": "/api/workspaces/example",
              "body": null
            },
            "effects": "Confirms the TopoloWeb workspace is empty, then asks Topolo Auth to archive its canonical identity.",
            "verification": [
              "Call app_topolo_auth.workspaces.list and confirm the archived workspace id is absent."
            ],
            "recovery": [
              "409 workspace_delete_blocked: Remove owned sites or select another default workspace, then retry the deletion."
            ],
            "docs_url": "https://docs.topolo.app/applications/web#workspace-management",
            "resource": {
              "kind": "workspace",
              "idPath": "workspaceId"
            },
            "next_action_ids": [
              "app_topolo_auth.workspaces.list"
            ],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "DELETE /api/workspaces/*",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "forms.submissions.create",
          "title": "Forms Submissions Create",
          "description": "Call POST /forms/{formId}/submissions.",
          "method": "POST",
          "path": "/api/forms/{formId}/submissions",
          "requiresConfirmation": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "formId": {
                "type": "string",
                "minLength": 1
              },
              "siteId": {
                "type": "string",
                "minLength": 1
              },
              "pageId": {
                "type": "string",
                "minLength": 1
              },
              "turnstileToken": {
                "type": "string",
                "minLength": 1
              },
              "cf-turnstile-response": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "formId",
              "siteId",
              "pageId"
            ],
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                },
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Forms Submissions Create.",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "agentAccess": "confirm",
          "authorizationMode": "public",
          "documentation": {
            "example_input": {
              "formId": "example",
              "siteId": "example",
              "pageId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/forms/example/submissions",
              "body": {
                "formId": "example",
                "siteId": "example",
                "pageId": "example"
              }
            },
            "effects": "May change state through POST /api/forms/{formId}/submissions. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/forms/*/submissions",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.create",
          "title": "Sites Create",
          "description": "Call POST /studio/sites.",
          "method": "POST",
          "path": "/api/studio/sites",
          "permission": "studio:write",
          "requiresConfirmation": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "minLength": 1
              },
              "intent": {
                "type": "string",
                "enum": [
                  "business_site",
                  "landing_page",
                  "portfolio",
                  "agency",
                  "product_suite"
                ]
              },
              "businessType": {
                "type": "string",
                "minLength": 1
              },
              "audience": {
                "type": "string",
                "minLength": 1
              },
              "offer": {
                "type": "string",
                "minLength": 1
              },
              "tone": {
                "type": "string",
                "minLength": 1
              },
              "location": {
                "type": "string",
                "minLength": 1
              },
              "differentiators": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "goals": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "prompt": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "name",
              "businessType",
              "audience",
              "offer",
              "tone"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Sites Create.",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "agentAccess": "confirm",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "name": "example",
              "businessType": "example",
              "audience": "example",
              "offer": "example",
              "tone": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/studio/sites",
              "body": {
                "name": "example",
                "businessType": "example",
                "audience": "example",
                "offer": "example",
                "tone": "example"
              }
            },
            "effects": "May change state through POST /api/studio/sites. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/studio/sites",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "id": "app_topolo_web.sites.build",
          "name": "sites.build",
          "title": "Build site from canonical content",
          "description": "Create a TopoloWeb site from a full canonical SiteContent payload and optionally publish it. This is the agent-safe Topolo Developers action path for Codex, Claude, CLI, and MCP site builds.",
          "method": "POST",
          "path": "/api/studio/sites/build",
          "permission": "studio:write",
          "requiresConfirmation": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "title": "Build TopoloWeb site",
            "type": "object",
            "description": "Create a site from complete canonical content and optionally publish it.",
            "properties": {
              "site": {
                "$ref": "#/$defs/createSite"
              },
              "content": {
                "$ref": "#/$defs/siteContent"
              },
              "publish": {
                "type": "boolean",
                "description": "Publish the first immutable version after quality validation."
              },
              "publishLabel": {
                "type": "string",
                "description": "Optional first-version label.",
                "minLength": 1
              }
            },
            "required": [
              "site",
              "content"
            ],
            "additionalProperties": false,
            "$defs": {
              "jsonValue": {
                "description": "A JSON-compatible component property value.",
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "type": "array",
                    "items": {
                      "$ref": "#/$defs/jsonValue"
                    }
                  },
                  {
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/$defs/jsonValue"
                    }
                  }
                ]
              },
              "actionLink": {
                "type": "object",
                "description": "A rendered call-to-action link.",
                "properties": {
                  "label": {
                    "type": "string",
                    "description": "Visible link label.",
                    "minLength": 1
                  },
                  "href": {
                    "type": "string",
                    "description": "Root-relative path, anchor, mailto, tel, or HTTPS URL.",
                    "minLength": 1
                  },
                  "linkKind": {
                    "type": "string",
                    "description": "Whether the link targets a TopoloWeb page or a custom URL.",
                    "enum": [
                      "custom",
                      "page"
                    ]
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the link in a new browser tab."
                  }
                },
                "required": [
                  "label",
                  "href"
                ],
                "additionalProperties": false
              },
              "navigationItem": {
                "type": "object",
                "description": "One site navigation entry.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable navigation item identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Visible navigation label.",
                    "minLength": 1
                  },
                  "href": {
                    "type": "string",
                    "description": "Root-relative path, anchor, or external URL.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Navigation emphasis.",
                    "enum": [
                      "primary",
                      "secondary",
                      "cta"
                    ]
                  },
                  "parentId": {
                    "type": "string",
                    "description": "Optional parent item identifier for one-level menus."
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the link in a new browser tab."
                  }
                },
                "required": [
                  "id",
                  "label",
                  "href",
                  "kind"
                ],
                "additionalProperties": false
              },
              "navigationMenu": {
                "type": "object",
                "description": "A named reusable navigation menu.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable menu identifier.",
                    "minLength": 1
                  },
                  "name": {
                    "type": "string",
                    "description": "Human-readable menu name.",
                    "minLength": 1
                  },
                  "placement": {
                    "type": "string",
                    "description": "Custom menu placement marker.",
                    "const": "custom"
                  },
                  "items": {
                    "type": "array",
                    "description": "Ordered menu entries.",
                    "items": {
                      "$ref": "#/$defs/navigationItem"
                    }
                  }
                },
                "required": [
                  "id",
                  "name",
                  "placement",
                  "items"
                ],
                "additionalProperties": false
              },
              "pageStyleDefaultsBase": {
                "type": "object",
                "description": "Site-wide default layout and typography values.",
                "properties": {
                  "sectionPaddingTop": {
                    "type": "number",
                    "description": "Default section top padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingBottom": {
                    "type": "number",
                    "description": "Default section bottom padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingLeft": {
                    "type": "number",
                    "description": "Default section left padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingRight": {
                    "type": "number",
                    "description": "Default section right padding in pixels.",
                    "minimum": 0
                  },
                  "sectionMarginTop": {
                    "type": "number",
                    "description": "Default section top margin in pixels."
                  },
                  "sectionMarginBottom": {
                    "type": "number",
                    "description": "Default section bottom margin in pixels."
                  },
                  "sectionMarginLeft": {
                    "type": "number",
                    "description": "Default section left margin in pixels."
                  },
                  "sectionMarginRight": {
                    "type": "number",
                    "description": "Default section right margin in pixels."
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Default heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Default heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Default body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Default body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Default card padding in pixels.",
                    "minimum": 0
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Default layout gap in pixels.",
                    "minimum": 0
                  }
                },
                "additionalProperties": false
              },
              "pageStyleDefaults": {
                "type": "object",
                "description": "Desktop page defaults with optional viewport overrides.",
                "properties": {
                  "sectionPaddingTop": {
                    "type": "number",
                    "description": "Default section top padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingBottom": {
                    "type": "number",
                    "description": "Default section bottom padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingLeft": {
                    "type": "number",
                    "description": "Default section left padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingRight": {
                    "type": "number",
                    "description": "Default section right padding in pixels.",
                    "minimum": 0
                  },
                  "sectionMarginTop": {
                    "type": "number",
                    "description": "Default section top margin in pixels."
                  },
                  "sectionMarginBottom": {
                    "type": "number",
                    "description": "Default section bottom margin in pixels."
                  },
                  "sectionMarginLeft": {
                    "type": "number",
                    "description": "Default section left margin in pixels."
                  },
                  "sectionMarginRight": {
                    "type": "number",
                    "description": "Default section right margin in pixels."
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Default heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Default heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Default body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Default body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Default card padding in pixels.",
                    "minimum": 0
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Default layout gap in pixels.",
                    "minimum": 0
                  },
                  "responsive": {
                    "type": "object",
                    "description": "Viewport-specific page-default overrides.",
                    "propertyNames": {
                      "type": "string",
                      "description": "A non-desktop responsive override breakpoint.",
                      "enum": [
                        "4k",
                        "tablet",
                        "mobile"
                      ]
                    },
                    "additionalProperties": {
                      "$ref": "#/$defs/pageStyleDefaultsBase"
                    }
                  }
                },
                "additionalProperties": false
              },
              "theme": {
                "type": "object",
                "description": "Complete TopoloWeb theme and responsive page defaults.",
                "properties": {
                  "primary": {
                    "type": "string",
                    "description": "Primary brand color.",
                    "minLength": 1
                  },
                  "secondary": {
                    "type": "string",
                    "description": "Secondary brand color.",
                    "minLength": 1
                  },
                  "surface": {
                    "type": "string",
                    "description": "Primary surface color.",
                    "minLength": 1
                  },
                  "ink": {
                    "type": "string",
                    "description": "Primary text color.",
                    "minLength": 1
                  },
                  "muted": {
                    "type": "string",
                    "description": "Muted text color.",
                    "minLength": 1
                  },
                  "accent": {
                    "type": "string",
                    "description": "Accent color.",
                    "minLength": 1
                  },
                  "accentSoft": {
                    "type": "string",
                    "description": "Soft accent surface color.",
                    "minLength": 1
                  },
                  "glow": {
                    "type": "string",
                    "description": "Decorative glow color.",
                    "minLength": 1
                  },
                  "headingFont": {
                    "type": "string",
                    "description": "CSS heading font stack.",
                    "minLength": 1
                  },
                  "bodyFont": {
                    "type": "string",
                    "description": "CSS body font stack.",
                    "minLength": 1
                  },
                  "radius": {
                    "type": "string",
                    "description": "Default CSS corner radius.",
                    "minLength": 1
                  },
                  "brandLogoUrl": {
                    "type": "string",
                    "description": "HTTPS brand-logo URL."
                  },
                  "brandLogoAlt": {
                    "type": "string",
                    "description": "Accessible brand-logo description."
                  },
                  "brandLogoWidth": {
                    "type": "string",
                    "description": "CSS brand-logo width."
                  },
                  "brandLogoHeight": {
                    "type": "string",
                    "description": "CSS brand-logo height."
                  },
                  "pageDefaults": {
                    "$ref": "#/$defs/pageStyleDefaults"
                  },
                  "customCss": {
                    "type": "string",
                    "description": "Reviewed site-wide CSS loaded after generated styles."
                  }
                },
                "required": [
                  "primary",
                  "secondary",
                  "surface",
                  "ink",
                  "muted",
                  "accent",
                  "accentSoft",
                  "glow",
                  "headingFont",
                  "bodyFont",
                  "radius"
                ],
                "additionalProperties": false
              },
              "sectionStyleBase": {
                "type": "object",
                "description": "Desktop section style values.",
                "properties": {
                  "backgroundColor": {
                    "type": "string",
                    "description": "CSS background color."
                  },
                  "backgroundImageUrl": {
                    "type": "string",
                    "description": "HTTPS background image URL."
                  },
                  "backgroundMode": {
                    "type": "string",
                    "description": "Background image sizing mode.",
                    "enum": [
                      "cover",
                      "contain",
                      "stretch",
                      "tile"
                    ]
                  },
                  "backgroundPosition": {
                    "type": "string",
                    "description": "Background image position.",
                    "enum": [
                      "center",
                      "top",
                      "bottom",
                      "left",
                      "right",
                      "top left",
                      "top right",
                      "bottom left",
                      "bottom right"
                    ]
                  },
                  "textColor": {
                    "type": "string",
                    "description": "CSS foreground color."
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "imagePlacement": {
                    "type": "string",
                    "description": "Media placement relative to text.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "itemsPlacement": {
                    "type": "string",
                    "description": "Repeated items placement relative to section copy for supported compositions.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "paddingTop": {
                    "type": "number",
                    "description": "Top padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBottom": {
                    "type": "number",
                    "description": "Bottom padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom padding should stay linked."
                  },
                  "paddingLeft": {
                    "type": "number",
                    "description": "Left padding in pixels.",
                    "minimum": 0
                  },
                  "paddingRight": {
                    "type": "number",
                    "description": "Right padding in pixels.",
                    "minimum": 0
                  },
                  "paddingInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right padding should stay linked."
                  },
                  "marginTop": {
                    "type": "number",
                    "description": "Top margin in pixels."
                  },
                  "marginBottom": {
                    "type": "number",
                    "description": "Bottom margin in pixels."
                  },
                  "marginBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom margins should stay linked."
                  },
                  "marginLeft": {
                    "type": "number",
                    "description": "Left margin in pixels."
                  },
                  "marginRight": {
                    "type": "number",
                    "description": "Right margin in pixels."
                  },
                  "marginInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right margins should stay linked."
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Border line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "CSS border color."
                  },
                  "borderRadius": {
                    "type": "number",
                    "description": "Corner radius in pixels.",
                    "minimum": 0
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Heading font size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Body font size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Repeated-card padding in pixels.",
                    "minimum": 0
                  },
                  "columnCount": {
                    "type": "number",
                    "description": "Responsive column count.",
                    "enum": [
                      2,
                      3,
                      4
                    ]
                  },
                  "columnSpans": {
                    "type": "array",
                    "description": "Grid spans for explicit columns.",
                    "items": {
                      "type": "number",
                      "description": "One column span.",
                      "minimum": 1
                    }
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Gap between layout children in pixels.",
                    "minimum": 0
                  },
                  "nestedSectionPadding": {
                    "type": "number",
                    "description": "Padding around nested sections in pixels.",
                    "minimum": 0
                  },
                  "mediaAspectRatio": {
                    "type": "string",
                    "description": "Media aspect ratio.",
                    "enum": [
                      "16 / 9",
                      "4 / 3",
                      "1 / 1",
                      "9 / 16"
                    ]
                  },
                  "mediaFit": {
                    "type": "string",
                    "description": "Media object-fit behavior.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "mediaFocalX": {
                    "type": "number",
                    "description": "Horizontal focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "mediaFocalY": {
                    "type": "number",
                    "description": "Vertical focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerTop": {
                    "type": "boolean",
                    "description": "Whether a top divider is rendered."
                  },
                  "dividerBottom": {
                    "type": "boolean",
                    "description": "Whether a bottom divider is rendered."
                  },
                  "dividerThickness": {
                    "type": "number",
                    "description": "Divider thickness in pixels.",
                    "minimum": 0
                  },
                  "dividerWidth": {
                    "type": "number",
                    "description": "Divider width percentage.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerLineStyle": {
                    "type": "string",
                    "description": "Divider line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "customCss": {
                    "type": "string",
                    "description": "Reviewed CSS declarations scoped to this section."
                  }
                },
                "additionalProperties": false
              },
              "sectionStyle": {
                "type": "object",
                "description": "Section style values with optional responsive overrides.",
                "properties": {
                  "backgroundColor": {
                    "type": "string",
                    "description": "CSS background color."
                  },
                  "backgroundImageUrl": {
                    "type": "string",
                    "description": "HTTPS background image URL."
                  },
                  "backgroundMode": {
                    "type": "string",
                    "description": "Background image sizing mode.",
                    "enum": [
                      "cover",
                      "contain",
                      "stretch",
                      "tile"
                    ]
                  },
                  "backgroundPosition": {
                    "type": "string",
                    "description": "Background image position.",
                    "enum": [
                      "center",
                      "top",
                      "bottom",
                      "left",
                      "right",
                      "top left",
                      "top right",
                      "bottom left",
                      "bottom right"
                    ]
                  },
                  "textColor": {
                    "type": "string",
                    "description": "CSS foreground color."
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "imagePlacement": {
                    "type": "string",
                    "description": "Media placement relative to text.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "itemsPlacement": {
                    "type": "string",
                    "description": "Repeated items placement relative to section copy for supported compositions.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "paddingTop": {
                    "type": "number",
                    "description": "Top padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBottom": {
                    "type": "number",
                    "description": "Bottom padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom padding should stay linked."
                  },
                  "paddingLeft": {
                    "type": "number",
                    "description": "Left padding in pixels.",
                    "minimum": 0
                  },
                  "paddingRight": {
                    "type": "number",
                    "description": "Right padding in pixels.",
                    "minimum": 0
                  },
                  "paddingInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right padding should stay linked."
                  },
                  "marginTop": {
                    "type": "number",
                    "description": "Top margin in pixels."
                  },
                  "marginBottom": {
                    "type": "number",
                    "description": "Bottom margin in pixels."
                  },
                  "marginBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom margins should stay linked."
                  },
                  "marginLeft": {
                    "type": "number",
                    "description": "Left margin in pixels."
                  },
                  "marginRight": {
                    "type": "number",
                    "description": "Right margin in pixels."
                  },
                  "marginInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right margins should stay linked."
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Border line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "CSS border color."
                  },
                  "borderRadius": {
                    "type": "number",
                    "description": "Corner radius in pixels.",
                    "minimum": 0
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Heading font size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Body font size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Repeated-card padding in pixels.",
                    "minimum": 0
                  },
                  "columnCount": {
                    "type": "number",
                    "description": "Responsive column count.",
                    "enum": [
                      2,
                      3,
                      4
                    ]
                  },
                  "columnSpans": {
                    "type": "array",
                    "description": "Grid spans for explicit columns.",
                    "items": {
                      "type": "number",
                      "description": "One column span.",
                      "minimum": 1
                    }
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Gap between layout children in pixels.",
                    "minimum": 0
                  },
                  "nestedSectionPadding": {
                    "type": "number",
                    "description": "Padding around nested sections in pixels.",
                    "minimum": 0
                  },
                  "mediaAspectRatio": {
                    "type": "string",
                    "description": "Media aspect ratio.",
                    "enum": [
                      "16 / 9",
                      "4 / 3",
                      "1 / 1",
                      "9 / 16"
                    ]
                  },
                  "mediaFit": {
                    "type": "string",
                    "description": "Media object-fit behavior.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "mediaFocalX": {
                    "type": "number",
                    "description": "Horizontal focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "mediaFocalY": {
                    "type": "number",
                    "description": "Vertical focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerTop": {
                    "type": "boolean",
                    "description": "Whether a top divider is rendered."
                  },
                  "dividerBottom": {
                    "type": "boolean",
                    "description": "Whether a bottom divider is rendered."
                  },
                  "dividerThickness": {
                    "type": "number",
                    "description": "Divider thickness in pixels.",
                    "minimum": 0
                  },
                  "dividerWidth": {
                    "type": "number",
                    "description": "Divider width percentage.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerLineStyle": {
                    "type": "string",
                    "description": "Divider line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "customCss": {
                    "type": "string",
                    "description": "Reviewed CSS declarations scoped to this section."
                  },
                  "responsive": {
                    "type": "object",
                    "description": "Viewport-specific section-style overrides.",
                    "propertyNames": {
                      "type": "string",
                      "description": "A non-desktop responsive override breakpoint.",
                      "enum": [
                        "4k",
                        "tablet",
                        "mobile"
                      ]
                    },
                    "additionalProperties": {
                      "$ref": "#/$defs/sectionStyleBase"
                    }
                  }
                },
                "additionalProperties": false
              },
              "sectionItemStyleBase": {
                "type": "object",
                "description": "Desktop repeated-item style values.",
                "properties": {
                  "padding": {
                    "type": "number",
                    "description": "Item padding in pixels.",
                    "minimum": 0
                  },
                  "radius": {
                    "type": "number",
                    "description": "Item corner radius in pixels.",
                    "minimum": 0
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Item border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Item border style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "Item border color."
                  },
                  "imageFit": {
                    "type": "string",
                    "description": "Item image fit.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "imageFocalX": {
                    "type": "number",
                    "description": "Horizontal image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "imageFocalY": {
                    "type": "number",
                    "description": "Vertical image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "textPadding": {
                    "type": "number",
                    "description": "Text-panel padding in pixels.",
                    "minimum": 0
                  },
                  "textRadius": {
                    "type": "number",
                    "description": "Text-panel corner radius in pixels.",
                    "minimum": 0
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Item text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Item heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Item heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Item body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Item body line-height multiplier.",
                    "minimum": 0.5
                  }
                },
                "additionalProperties": false
              },
              "sectionItemStyle": {
                "type": "object",
                "description": "Repeated-item style values with optional responsive overrides.",
                "properties": {
                  "padding": {
                    "type": "number",
                    "description": "Item padding in pixels.",
                    "minimum": 0
                  },
                  "radius": {
                    "type": "number",
                    "description": "Item corner radius in pixels.",
                    "minimum": 0
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Item border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Item border style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "Item border color."
                  },
                  "imageFit": {
                    "type": "string",
                    "description": "Item image fit.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "imageFocalX": {
                    "type": "number",
                    "description": "Horizontal image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "imageFocalY": {
                    "type": "number",
                    "description": "Vertical image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "textPadding": {
                    "type": "number",
                    "description": "Text-panel padding in pixels.",
                    "minimum": 0
                  },
                  "textRadius": {
                    "type": "number",
                    "description": "Text-panel corner radius in pixels.",
                    "minimum": 0
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Item text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Item heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Item heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Item body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Item body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "responsive": {
                    "type": "object",
                    "description": "Viewport-specific item-style overrides.",
                    "propertyNames": {
                      "type": "string",
                      "description": "A non-desktop responsive override breakpoint.",
                      "enum": [
                        "4k",
                        "tablet",
                        "mobile"
                      ]
                    },
                    "additionalProperties": {
                      "$ref": "#/$defs/sectionItemStyleBase"
                    }
                  }
                },
                "additionalProperties": false
              },
              "sectionItem": {
                "type": "object",
                "description": "One repeated card, row, quote, metric, question, or media item.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable item identifier.",
                    "minLength": 1
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible item title."
                  },
                  "body": {
                    "type": "string",
                    "description": "Visible supporting copy."
                  },
                  "meta": {
                    "type": "string",
                    "description": "Optional metadata."
                  },
                  "value": {
                    "type": "string",
                    "description": "Optional value or price."
                  },
                  "badge": {
                    "type": "string",
                    "description": "Optional badge label."
                  },
                  "href": {
                    "type": "string",
                    "description": "Optional item link."
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the item link in a new tab."
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Optional item image URL."
                  },
                  "alt": {
                    "type": "string",
                    "description": "Accessible item-image description."
                  },
                  "style": {
                    "$ref": "#/$defs/sectionItemStyle"
                  },
                  "styleClassIds": {
                    "type": "array",
                    "description": "Reusable item style-class identifiers.",
                    "items": {
                      "type": "string",
                      "description": "One style-class identifier.",
                      "minLength": 1
                    }
                  }
                },
                "required": [
                  "id",
                  "title",
                  "body"
                ],
                "additionalProperties": false
              },
              "sectionValue": {
                "type": "object",
                "description": "Renderer-backed block content without persisted child arrays.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable section identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "eyebrow": {
                    "type": "string",
                    "description": "Optional eyebrow copy."
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible section heading."
                  },
                  "body": {
                    "type": "string",
                    "description": "Visible section body copy."
                  },
                  "kicker": {
                    "type": "string",
                    "description": "Optional supporting kicker."
                  },
                  "primaryAction": {
                    "$ref": "#/$defs/actionLink"
                  },
                  "secondaryAction": {
                    "$ref": "#/$defs/actionLink"
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Optional section image URL."
                  },
                  "alt": {
                    "type": "string",
                    "description": "Accessible section-image description."
                  },
                  "presentation": {
                    "type": "string",
                    "description": "A renderer-backed composition designed for the selected block type.",
                    "enum": [
                      "annotated",
                      "cards",
                      "columns",
                      "divided",
                      "editorial",
                      "manifesto",
                      "mosaic",
                      "poster",
                      "ruled",
                      "split",
                      "spotlight",
                      "tiers",
                      "timeline"
                    ]
                  },
                  "styleClassIds": {
                    "type": "array",
                    "description": "Reusable section style-class identifiers.",
                    "items": {
                      "type": "string",
                      "description": "One style-class identifier.",
                      "minLength": 1
                    }
                  },
                  "style": {
                    "$ref": "#/$defs/sectionStyle"
                  },
                  "formId": {
                    "type": "string",
                    "description": "Form identifier for a contact-form block."
                  },
                  "collectionSlug": {
                    "type": "string",
                    "description": "Collection slug bound to this block."
                  },
                  "collectionLimit": {
                    "type": "number",
                    "description": "Maximum collection entries rendered.",
                    "minimum": 1
                  },
                  "collectionSort": {
                    "type": "string",
                    "description": "Collection sorting behavior.",
                    "enum": [
                      "manual",
                      "title_asc",
                      "title_desc",
                      "meta_asc",
                      "meta_desc"
                    ]
                  },
                  "html": {
                    "type": "string",
                    "description": "Reviewed HTML for embed-capable blocks."
                  },
                  "videoUrl": {
                    "type": "string",
                    "description": "Direct, YouTube, or Vimeo video URL."
                  },
                  "videoProvider": {
                    "type": "string",
                    "description": "Video provider.",
                    "enum": [
                      "direct",
                      "youtube",
                      "vimeo"
                    ]
                  },
                  "videoPosterUrl": {
                    "type": "string",
                    "description": "Video poster image URL."
                  },
                  "videoAutoplay": {
                    "type": "boolean",
                    "description": "Autoplay video when allowed."
                  },
                  "videoControls": {
                    "type": "boolean",
                    "description": "Show native video controls."
                  },
                  "videoMuted": {
                    "type": "boolean",
                    "description": "Mute video playback."
                  },
                  "componentName": {
                    "type": "string",
                    "description": "Approved custom component name."
                  },
                  "componentProps": {
                    "type": "object",
                    "description": "Component-specific reviewed JSON properties.",
                    "additionalProperties": {
                      "$ref": "#/$defs/jsonValue"
                    }
                  },
                  "menuId": {
                    "type": "string",
                    "description": "Reusable menu identifier bound to a menu block."
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "title",
                  "body"
                ],
                "additionalProperties": false
              },
              "pageValue": {
                "type": "object",
                "description": "Persisted page metadata.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable page identifier.",
                    "minLength": 1
                  },
                  "slug": {
                    "type": "string",
                    "description": "Root-relative page slug beginning with /.",
                    "pattern": "^/"
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible page heading and title-template input.",
                    "minLength": 1
                  },
                  "description": {
                    "type": "string",
                    "description": "Page search and social description."
                  }
                },
                "required": [
                  "id",
                  "slug",
                  "title",
                  "description"
                ],
                "additionalProperties": false
              },
              "columnValue": {
                "type": "object",
                "description": "Persisted layout-column metadata.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable column identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Optional editor label."
                  },
                  "span": {
                    "type": "number",
                    "description": "Grid span.",
                    "minimum": 1
                  },
                  "style": {
                    "$ref": "#/$defs/sectionStyle"
                  }
                },
                "required": [
                  "id"
                ],
                "additionalProperties": false
              },
              "source": {
                "type": "object",
                "description": "Original product-domain identity for a document node.",
                "properties": {
                  "kind": {
                    "type": "string",
                    "description": "Source record kind.",
                    "enum": [
                      "page",
                      "section",
                      "column",
                      "item"
                    ]
                  },
                  "id": {
                    "type": "string",
                    "description": "Source record identifier.",
                    "minLength": 1
                  }
                },
                "required": [
                  "kind",
                  "id"
                ],
                "additionalProperties": false
              },
              "pageNode": {
                "type": "object",
                "description": "A canonical page node owning exactly one page-body slot.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "page"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Parent node identifier when nested."
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "value": {
                    "$ref": "#/$defs/pageValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Exactly one page-body slot.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "source",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "slotNode": {
                "type": "object",
                "description": "A canonical child slot controlling accepted node kinds.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "slot"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning page, layout, or block node identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "slotKind": {
                    "type": "string",
                    "description": "Child-slot role.",
                    "enum": [
                      "page-body",
                      "layout-column",
                      "block-items"
                    ]
                  },
                  "accepts": {
                    "type": "array",
                    "description": "Document node kinds allowed in this slot.",
                    "items": {
                      "type": "string",
                      "description": "One allowed node kind.",
                      "enum": [
                        "layout",
                        "block",
                        "item"
                      ]
                    }
                  },
                  "parentSectionId": {
                    "type": "string",
                    "description": "Owning section identifier for layout and block slots."
                  },
                  "columnId": {
                    "type": "string",
                    "description": "Column identifier for layout-column slots."
                  },
                  "value": {
                    "$ref": "#/$defs/columnValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Canonical child nodes.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "parentNodeId",
                  "source",
                  "slotKind",
                  "accepts",
                  "children"
                ],
                "additionalProperties": false
              },
              "layoutNode": {
                "type": "object",
                "description": "A canonical layout block owning one or more layout-column slots.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "layout"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning slot identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "layoutKind": {
                    "type": "string",
                    "description": "Layout behavior.",
                    "enum": [
                      "container",
                      "grid",
                      "stack",
                      "flex-row",
                      "columns"
                    ]
                  },
                  "sectionKind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "sectionId": {
                    "type": "string",
                    "description": "Persisted section identifier.",
                    "minLength": 1
                  },
                  "value": {
                    "$ref": "#/$defs/sectionValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Layout-column slots.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "source",
                  "layoutKind",
                  "sectionKind",
                  "sectionId",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "blockNode": {
                "type": "object",
                "description": "A canonical renderer block with optional block-items slot.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "block"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning slot identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "blockKind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "sectionKind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "sectionId": {
                    "type": "string",
                    "description": "Persisted section identifier.",
                    "minLength": 1
                  },
                  "value": {
                    "$ref": "#/$defs/sectionValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Optional block-items slot.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "source",
                  "blockKind",
                  "sectionKind",
                  "sectionId",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "itemNode": {
                "type": "object",
                "description": "A canonical repeated-item leaf node.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "item"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning block-items slot identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "parentSectionId": {
                    "type": "string",
                    "description": "Owning block section identifier.",
                    "minLength": 1
                  },
                  "itemId": {
                    "type": "string",
                    "description": "Persisted item identifier.",
                    "minLength": 1
                  },
                  "value": {
                    "$ref": "#/$defs/sectionItem"
                  },
                  "children": {
                    "type": "array",
                    "description": "Item nodes are leaves and must have no children.",
                    "maxItems": 0
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "parentNodeId",
                  "source",
                  "parentSectionId",
                  "itemId",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "siteDocumentNode": {
                "description": "One canonical TopoloWeb document node.",
                "oneOf": [
                  {
                    "$ref": "#/$defs/pageNode"
                  },
                  {
                    "$ref": "#/$defs/slotNode"
                  },
                  {
                    "$ref": "#/$defs/layoutNode"
                  },
                  {
                    "$ref": "#/$defs/blockNode"
                  },
                  {
                    "$ref": "#/$defs/itemNode"
                  }
                ]
              },
              "siteDocument": {
                "type": "object",
                "description": "Canonical versioned TopoloWeb document tree.",
                "properties": {
                  "version": {
                    "type": "integer",
                    "description": "Document schema version.",
                    "const": 1
                  },
                  "pages": {
                    "type": "array",
                    "description": "Canonical page nodes.",
                    "items": {
                      "$ref": "#/$defs/pageNode"
                    }
                  }
                },
                "required": [
                  "version",
                  "pages"
                ],
                "additionalProperties": false
              },
              "styleClass": {
                "description": "A reusable section or item style class.",
                "oneOf": [
                  {
                    "type": "object",
                    "description": "Reusable section style class.",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Stable style-class identifier.",
                        "minLength": 1
                      },
                      "name": {
                        "type": "string",
                        "description": "Human-readable class name.",
                        "minLength": 1
                      },
                      "targetKind": {
                        "type": "string",
                        "description": "The renderer-backed TopoloWeb block kind.",
                        "enum": [
                          "container",
                          "layout-grid",
                          "stack",
                          "flex-row",
                          "spacer",
                          "hero",
                          "feature-grid",
                          "story",
                          "proof",
                          "header",
                          "announcement",
                          "menu",
                          "columns",
                          "accordion",
                          "faq",
                          "cta",
                          "contact-form",
                          "image",
                          "gallery",
                          "video",
                          "logo-cloud",
                          "stats",
                          "testimonials",
                          "pricing",
                          "comparison-table",
                          "app-grid",
                          "article-list",
                          "legal",
                          "embed",
                          "custom-component",
                          "divider",
                          "footer"
                        ]
                      },
                      "targetScope": {
                        "type": "string",
                        "description": "Style-class target scope.",
                        "const": "section"
                      },
                      "style": {
                        "$ref": "#/$defs/sectionStyle"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "targetKind",
                      "targetScope",
                      "style"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "description": "Reusable repeated-item style class.",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Stable style-class identifier.",
                        "minLength": 1
                      },
                      "name": {
                        "type": "string",
                        "description": "Human-readable class name.",
                        "minLength": 1
                      },
                      "targetKind": {
                        "type": "string",
                        "description": "The renderer-backed TopoloWeb block kind.",
                        "enum": [
                          "container",
                          "layout-grid",
                          "stack",
                          "flex-row",
                          "spacer",
                          "hero",
                          "feature-grid",
                          "story",
                          "proof",
                          "header",
                          "announcement",
                          "menu",
                          "columns",
                          "accordion",
                          "faq",
                          "cta",
                          "contact-form",
                          "image",
                          "gallery",
                          "video",
                          "logo-cloud",
                          "stats",
                          "testimonials",
                          "pricing",
                          "comparison-table",
                          "app-grid",
                          "article-list",
                          "legal",
                          "embed",
                          "custom-component",
                          "divider",
                          "footer"
                        ]
                      },
                      "targetScope": {
                        "type": "string",
                        "description": "Style-class target scope.",
                        "const": "item"
                      },
                      "style": {
                        "$ref": "#/$defs/sectionItemStyle"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "targetKind",
                      "targetScope",
                      "style"
                    ],
                    "additionalProperties": false
                  }
                ]
              },
              "collectionItem": {
                "type": "object",
                "description": "One reusable CMS collection entry.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable collection-item identifier.",
                    "minLength": 1
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible item title.",
                    "minLength": 1
                  },
                  "body": {
                    "type": "string",
                    "description": "Visible item body."
                  },
                  "meta": {
                    "type": "string",
                    "description": "Optional metadata."
                  },
                  "value": {
                    "type": "string",
                    "description": "Optional price or value."
                  },
                  "badge": {
                    "type": "string",
                    "description": "Optional badge label."
                  },
                  "href": {
                    "type": "string",
                    "description": "Optional item link."
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the item link in a new tab."
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Optional item image URL."
                  },
                  "alt": {
                    "type": "string",
                    "description": "Accessible item-image description."
                  }
                },
                "required": [
                  "id",
                  "title",
                  "body"
                ],
                "additionalProperties": false
              },
              "collection": {
                "type": "object",
                "description": "Reusable CMS collection.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable collection identifier.",
                    "minLength": 1
                  },
                  "slug": {
                    "type": "string",
                    "description": "Stable collection slug.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Collection content kind.",
                    "enum": [
                      "apps",
                      "pricing",
                      "articles",
                      "changelog",
                      "legal",
                      "faq",
                      "custom"
                    ]
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable collection label.",
                    "minLength": 1
                  },
                  "items": {
                    "type": "array",
                    "description": "Ordered collection entries.",
                    "items": {
                      "$ref": "#/$defs/collectionItem"
                    }
                  }
                },
                "required": [
                  "id",
                  "slug",
                  "kind",
                  "label",
                  "items"
                ],
                "additionalProperties": false
              },
              "codeSnippet": {
                "type": "object",
                "description": "Reviewed bounded code injection.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable snippet identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable snippet label.",
                    "minLength": 1
                  },
                  "slot": {
                    "type": "string",
                    "description": "Injection slot.",
                    "enum": [
                      "head",
                      "body_start",
                      "body_end"
                    ]
                  },
                  "code": {
                    "type": "string",
                    "description": "Reviewed HTML, CSS, or JavaScript source."
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Whether this snippet is active."
                  }
                },
                "required": [
                  "id",
                  "label",
                  "slot",
                  "code",
                  "enabled"
                ],
                "additionalProperties": false
              },
              "seo": {
                "type": "object",
                "description": "Site-wide search and social metadata defaults.",
                "properties": {
                  "titleTemplate": {
                    "type": "string",
                    "description": "Title template; %s is replaced by the page title."
                  },
                  "metaTitle": {
                    "type": "string",
                    "description": "Default page title override."
                  },
                  "metaDescription": {
                    "type": "string",
                    "description": "Default search and social description."
                  },
                  "faviconUrl": {
                    "type": "string",
                    "description": "Browser and bookmark icon URL."
                  },
                  "openGraphImageUrl": {
                    "type": "string",
                    "description": "Default Open Graph image URL."
                  },
                  "canonicalUrl": {
                    "type": "string",
                    "description": "Canonical site URL."
                  }
                },
                "additionalProperties": false
              },
              "siteContent": {
                "type": "object",
                "description": "Complete canonical TopoloWeb site content.",
                "properties": {
                  "intent": {
                    "type": "string",
                    "description": "The kind of website being created.",
                    "enum": [
                      "business_site",
                      "landing_page",
                      "portfolio",
                      "agency",
                      "product_suite"
                    ]
                  },
                  "siteTitle": {
                    "type": "string",
                    "description": "Public site title.",
                    "minLength": 1
                  },
                  "siteDescription": {
                    "type": "string",
                    "description": "Public site description."
                  },
                  "contactEmail": {
                    "type": "string",
                    "description": "Public contact email.",
                    "minLength": 1
                  },
                  "contactPhone": {
                    "type": "string",
                    "description": "Optional public contact phone number."
                  },
                  "navigation": {
                    "type": "array",
                    "description": "Primary site navigation.",
                    "items": {
                      "$ref": "#/$defs/navigationItem"
                    }
                  },
                  "footerNavigation": {
                    "type": "array",
                    "description": "Footer navigation.",
                    "items": {
                      "$ref": "#/$defs/navigationItem"
                    }
                  },
                  "menus": {
                    "type": "array",
                    "description": "Reusable custom menus.",
                    "items": {
                      "$ref": "#/$defs/navigationMenu"
                    }
                  },
                  "styleClasses": {
                    "type": "array",
                    "description": "Reusable section and item styles.",
                    "items": {
                      "$ref": "#/$defs/styleClass"
                    }
                  },
                  "theme": {
                    "$ref": "#/$defs/theme"
                  },
                  "document": {
                    "$ref": "#/$defs/siteDocument"
                  },
                  "collections": {
                    "type": "array",
                    "description": "Reusable CMS collections.",
                    "items": {
                      "$ref": "#/$defs/collection"
                    }
                  },
                  "codeSnippets": {
                    "type": "array",
                    "description": "Reviewed bounded code snippets.",
                    "items": {
                      "$ref": "#/$defs/codeSnippet"
                    }
                  },
                  "seo": {
                    "$ref": "#/$defs/seo"
                  }
                },
                "required": [
                  "intent",
                  "siteTitle",
                  "siteDescription",
                  "contactEmail",
                  "navigation",
                  "footerNavigation",
                  "menus",
                  "styleClasses",
                  "theme",
                  "document",
                  "collections",
                  "codeSnippets"
                ],
                "additionalProperties": false
              },
              "createSite": {
                "type": "object",
                "description": "Brief used to create a new TopoloWeb site.",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Internal and initial public site name.",
                    "minLength": 1
                  },
                  "intent": {
                    "type": "string",
                    "description": "The kind of website being created.",
                    "enum": [
                      "business_site",
                      "landing_page",
                      "portfolio",
                      "agency",
                      "product_suite"
                    ]
                  },
                  "businessType": {
                    "type": "string",
                    "description": "Business or project category.",
                    "minLength": 1
                  },
                  "audience": {
                    "type": "string",
                    "description": "Primary intended audience.",
                    "minLength": 1
                  },
                  "offer": {
                    "type": "string",
                    "description": "Primary product, service, or proposition.",
                    "minLength": 1
                  },
                  "tone": {
                    "type": "string",
                    "description": "Desired writing and visual tone.",
                    "minLength": 1
                  },
                  "location": {
                    "type": "string",
                    "description": "Optional geographic market."
                  },
                  "differentiators": {
                    "type": "array",
                    "description": "Specific differentiators to communicate.",
                    "items": {
                      "type": "string",
                      "description": "One differentiator."
                    }
                  },
                  "goals": {
                    "type": "array",
                    "description": "Desired user and business outcomes.",
                    "items": {
                      "type": "string",
                      "description": "One goal."
                    }
                  },
                  "prompt": {
                    "type": "string",
                    "description": "Additional generation direction."
                  }
                },
                "required": [
                  "name",
                  "businessType",
                  "audience",
                  "offer",
                  "tone"
                ],
                "additionalProperties": false
              },
              "qualityIssue": {
                "type": "object",
                "description": "One actionable launch-quality finding.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable issue code.",
                    "minLength": 1
                  },
                  "severity": {
                    "type": "string",
                    "description": "Issue severity.",
                    "enum": [
                      "info",
                      "warning",
                      "error"
                    ]
                  },
                  "title": {
                    "type": "string",
                    "description": "Short issue title.",
                    "minLength": 1
                  },
                  "detail": {
                    "type": "string",
                    "description": "Actionable remediation detail.",
                    "minLength": 1
                  }
                },
                "required": [
                  "id",
                  "severity",
                  "title",
                  "detail"
                ],
                "additionalProperties": false
              },
              "qualityReport": {
                "type": "object",
                "description": "Deterministic content and launch-quality report.",
                "properties": {
                  "generatedAt": {
                    "type": "string",
                    "description": "ISO-8601 generation timestamp.",
                    "format": "date-time"
                  },
                  "score": {
                    "type": "number",
                    "description": "Quality score from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "issues": {
                    "type": "array",
                    "description": "Actionable quality findings.",
                    "items": {
                      "$ref": "#/$defs/qualityIssue"
                    }
                  }
                },
                "required": [
                  "generatedAt",
                  "score",
                  "issues"
                ],
                "additionalProperties": false
              },
              "siteRecord": {
                "type": "object",
                "description": "One TopoloWeb site and its current editable content.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable site identifier.",
                    "minLength": 1
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "Owning Topolo organization identifier.",
                    "minLength": 1
                  },
                  "workspaceId": {
                    "type": "string",
                    "description": "Owning Topolo workspace identifier.",
                    "minLength": 1
                  },
                  "slug": {
                    "type": "string",
                    "description": "Platform hostname slug.",
                    "minLength": 1
                  },
                  "name": {
                    "type": "string",
                    "description": "Internal site name.",
                    "minLength": 1
                  },
                  "status": {
                    "type": "string",
                    "description": "Current lifecycle status.",
                    "enum": [
                      "draft",
                      "published",
                      "archived"
                    ]
                  },
                  "brief": {
                    "type": "object",
                    "description": "Generation brief retained for iterative edits.",
                    "additionalProperties": true
                  },
                  "draftContent": {
                    "$ref": "#/$defs/siteContent"
                  },
                  "currentVersionId": {
                    "type": "string",
                    "description": "Currently published immutable version identifier."
                  },
                  "draftPreviewToken": {
                    "type": "string",
                    "description": "Opaque token used by the draft preview URL.",
                    "minLength": 1
                  },
                  "createdAt": {
                    "type": "string",
                    "description": "ISO-8601 creation timestamp.",
                    "format": "date-time"
                  },
                  "updatedAt": {
                    "type": "string",
                    "description": "ISO-8601 last-update timestamp.",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "workspaceId",
                  "slug",
                  "name",
                  "status",
                  "brief",
                  "draftContent",
                  "draftPreviewToken",
                  "createdAt",
                  "updatedAt"
                ],
                "additionalProperties": false
              },
              "siteVersion": {
                "type": "object",
                "description": "One immutable published site version.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable version identifier.",
                    "minLength": 1
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "Owning Topolo organization identifier.",
                    "minLength": 1
                  },
                  "workspaceId": {
                    "type": "string",
                    "description": "Owning Topolo workspace identifier.",
                    "minLength": 1
                  },
                  "siteId": {
                    "type": "string",
                    "description": "Parent site identifier.",
                    "minLength": 1
                  },
                  "versionNumber": {
                    "type": "integer",
                    "description": "Monotonic site version number.",
                    "minimum": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable version label.",
                    "minLength": 1
                  },
                  "snapshot": {
                    "$ref": "#/$defs/siteContent"
                  },
                  "previewToken": {
                    "type": "string",
                    "description": "Opaque immutable-version preview token.",
                    "minLength": 1
                  },
                  "publishedAt": {
                    "type": "string",
                    "description": "ISO-8601 publication timestamp.",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "workspaceId",
                  "siteId",
                  "versionNumber",
                  "label",
                  "snapshot",
                  "previewToken",
                  "publishedAt"
                ],
                "additionalProperties": false
              },
              "siteDomain": {
                "type": "object",
                "description": "One platform or custom site domain.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable domain identifier.",
                    "minLength": 1
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "Owning Topolo organization identifier.",
                    "minLength": 1
                  },
                  "workspaceId": {
                    "type": "string",
                    "description": "Owning Topolo workspace identifier.",
                    "minLength": 1
                  },
                  "siteId": {
                    "type": "string",
                    "description": "Parent site identifier.",
                    "minLength": 1
                  },
                  "hostname": {
                    "type": "string",
                    "description": "Domain hostname without scheme.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Domain ownership kind.",
                    "enum": [
                      "platform",
                      "custom"
                    ]
                  },
                  "status": {
                    "type": "string",
                    "description": "DNS and TLS activation status.",
                    "enum": [
                      "pending_dns",
                      "pending_ssl",
                      "active",
                      "failed"
                    ]
                  },
                  "dnsTarget": {
                    "type": "string",
                    "description": "DNS target required for this domain.",
                    "minLength": 1
                  },
                  "verificationToken": {
                    "type": "string",
                    "description": "Opaque DNS ownership verification token.",
                    "minLength": 1
                  },
                  "isPrimary": {
                    "type": "boolean",
                    "description": "Whether this is the primary public hostname."
                  },
                  "createdAt": {
                    "type": "string",
                    "description": "ISO-8601 creation timestamp.",
                    "format": "date-time"
                  },
                  "updatedAt": {
                    "type": "string",
                    "description": "ISO-8601 last-update timestamp.",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "workspaceId",
                  "siteId",
                  "hostname",
                  "kind",
                  "status",
                  "dnsTarget",
                  "verificationToken",
                  "isPrimary",
                  "createdAt",
                  "updatedAt"
                ],
                "additionalProperties": false
              },
              "siteUrls": {
                "type": "object",
                "description": "Stable URLs used to preview and verify the site.",
                "properties": {
                  "previewUrl": {
                    "type": "string",
                    "description": "Authenticated draft-preview URL.",
                    "format": "uri"
                  },
                  "publicUrl": {
                    "type": "string",
                    "description": "Primary public site URL.",
                    "format": "uri"
                  }
                },
                "required": [
                  "previewUrl",
                  "publicUrl"
                ],
                "additionalProperties": false
              },
              "siteDetails": {
                "type": "object",
                "description": "Complete editable site state returned after a build.",
                "properties": {
                  "site": {
                    "$ref": "#/$defs/siteRecord"
                  },
                  "versions": {
                    "type": "array",
                    "description": "Published immutable versions, newest first.",
                    "items": {
                      "$ref": "#/$defs/siteVersion"
                    }
                  },
                  "domains": {
                    "type": "array",
                    "description": "Platform and custom domains.",
                    "items": {
                      "$ref": "#/$defs/siteDomain"
                    }
                  },
                  "assets": {
                    "type": "array",
                    "description": "Uploaded or linked site assets.",
                    "items": {
                      "type": "object",
                      "description": "One site asset record.",
                      "additionalProperties": true
                    }
                  },
                  "submissions": {
                    "type": "array",
                    "description": "Recent form submissions.",
                    "items": {
                      "type": "object",
                      "description": "One site form submission.",
                      "additionalProperties": true
                    }
                  },
                  "events": {
                    "type": "array",
                    "description": "Recent site lifecycle events.",
                    "items": {
                      "type": "object",
                      "description": "One site event.",
                      "additionalProperties": true
                    }
                  },
                  "insights": {
                    "type": "object",
                    "description": "Derived site activity counters.",
                    "additionalProperties": true
                  },
                  "qualityReport": {
                    "$ref": "#/$defs/qualityReport"
                  },
                  "agentSessions": {
                    "type": "array",
                    "description": "Agent editing sessions.",
                    "items": {
                      "type": "object",
                      "description": "One agent session summary.",
                      "additionalProperties": true
                    }
                  }
                },
                "required": [
                  "site",
                  "versions",
                  "domains",
                  "assets",
                  "submissions",
                  "events",
                  "insights",
                  "qualityReport",
                  "agentSessions"
                ],
                "additionalProperties": false
              }
            }
          },
          "target": "api",
          "outputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "description": "New site state, quality evidence, preview coordinates, and optional first published version.",
            "properties": {
              "site": {
                "$ref": "#/$defs/siteRecord"
              },
              "versions": {
                "type": "array",
                "description": "Published immutable versions, newest first.",
                "items": {
                  "$ref": "#/$defs/siteVersion"
                }
              },
              "domains": {
                "type": "array",
                "description": "Platform and custom domains.",
                "items": {
                  "$ref": "#/$defs/siteDomain"
                }
              },
              "assets": {
                "type": "array",
                "description": "Uploaded or linked site assets.",
                "items": {
                  "type": "object",
                  "description": "One site asset record.",
                  "additionalProperties": true
                }
              },
              "submissions": {
                "type": "array",
                "description": "Recent form submissions.",
                "items": {
                  "type": "object",
                  "description": "One form submission.",
                  "additionalProperties": true
                }
              },
              "events": {
                "type": "array",
                "description": "Recent site lifecycle events.",
                "items": {
                  "type": "object",
                  "description": "One site event.",
                  "additionalProperties": true
                }
              },
              "insights": {
                "type": "object",
                "description": "Derived site activity counters.",
                "additionalProperties": true
              },
              "qualityReport": {
                "$ref": "#/$defs/qualityReport"
              },
              "agentSessions": {
                "type": "array",
                "description": "Agent editing sessions.",
                "items": {
                  "type": "object",
                  "description": "One agent session summary.",
                  "additionalProperties": true
                }
              },
              "version": {
                "description": "First published version when publish=true; omitted otherwise.",
                "anyOf": [
                  {
                    "$ref": "#/$defs/siteVersion"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "urls": {
                "$ref": "#/$defs/siteUrls"
              }
            },
            "required": [
              "site",
              "versions",
              "domains",
              "assets",
              "submissions",
              "events",
              "insights",
              "qualityReport",
              "agentSessions",
              "urls"
            ],
            "additionalProperties": false,
            "$defs": {
              "jsonValue": {
                "description": "A JSON-compatible component property value.",
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "type": "array",
                    "items": {
                      "$ref": "#/$defs/jsonValue"
                    }
                  },
                  {
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/$defs/jsonValue"
                    }
                  }
                ]
              },
              "actionLink": {
                "type": "object",
                "description": "A rendered call-to-action link.",
                "properties": {
                  "label": {
                    "type": "string",
                    "description": "Visible link label.",
                    "minLength": 1
                  },
                  "href": {
                    "type": "string",
                    "description": "Root-relative path, anchor, mailto, tel, or HTTPS URL.",
                    "minLength": 1
                  },
                  "linkKind": {
                    "type": "string",
                    "description": "Whether the link targets a TopoloWeb page or a custom URL.",
                    "enum": [
                      "custom",
                      "page"
                    ]
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the link in a new browser tab."
                  }
                },
                "required": [
                  "label",
                  "href"
                ],
                "additionalProperties": false
              },
              "navigationItem": {
                "type": "object",
                "description": "One site navigation entry.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable navigation item identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Visible navigation label.",
                    "minLength": 1
                  },
                  "href": {
                    "type": "string",
                    "description": "Root-relative path, anchor, or external URL.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Navigation emphasis.",
                    "enum": [
                      "primary",
                      "secondary",
                      "cta"
                    ]
                  },
                  "parentId": {
                    "type": "string",
                    "description": "Optional parent item identifier for one-level menus."
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the link in a new browser tab."
                  }
                },
                "required": [
                  "id",
                  "label",
                  "href",
                  "kind"
                ],
                "additionalProperties": false
              },
              "navigationMenu": {
                "type": "object",
                "description": "A named reusable navigation menu.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable menu identifier.",
                    "minLength": 1
                  },
                  "name": {
                    "type": "string",
                    "description": "Human-readable menu name.",
                    "minLength": 1
                  },
                  "placement": {
                    "type": "string",
                    "description": "Custom menu placement marker.",
                    "const": "custom"
                  },
                  "items": {
                    "type": "array",
                    "description": "Ordered menu entries.",
                    "items": {
                      "$ref": "#/$defs/navigationItem"
                    }
                  }
                },
                "required": [
                  "id",
                  "name",
                  "placement",
                  "items"
                ],
                "additionalProperties": false
              },
              "pageStyleDefaultsBase": {
                "type": "object",
                "description": "Site-wide default layout and typography values.",
                "properties": {
                  "sectionPaddingTop": {
                    "type": "number",
                    "description": "Default section top padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingBottom": {
                    "type": "number",
                    "description": "Default section bottom padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingLeft": {
                    "type": "number",
                    "description": "Default section left padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingRight": {
                    "type": "number",
                    "description": "Default section right padding in pixels.",
                    "minimum": 0
                  },
                  "sectionMarginTop": {
                    "type": "number",
                    "description": "Default section top margin in pixels."
                  },
                  "sectionMarginBottom": {
                    "type": "number",
                    "description": "Default section bottom margin in pixels."
                  },
                  "sectionMarginLeft": {
                    "type": "number",
                    "description": "Default section left margin in pixels."
                  },
                  "sectionMarginRight": {
                    "type": "number",
                    "description": "Default section right margin in pixels."
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Default heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Default heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Default body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Default body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Default card padding in pixels.",
                    "minimum": 0
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Default layout gap in pixels.",
                    "minimum": 0
                  }
                },
                "additionalProperties": false
              },
              "pageStyleDefaults": {
                "type": "object",
                "description": "Desktop page defaults with optional viewport overrides.",
                "properties": {
                  "sectionPaddingTop": {
                    "type": "number",
                    "description": "Default section top padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingBottom": {
                    "type": "number",
                    "description": "Default section bottom padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingLeft": {
                    "type": "number",
                    "description": "Default section left padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingRight": {
                    "type": "number",
                    "description": "Default section right padding in pixels.",
                    "minimum": 0
                  },
                  "sectionMarginTop": {
                    "type": "number",
                    "description": "Default section top margin in pixels."
                  },
                  "sectionMarginBottom": {
                    "type": "number",
                    "description": "Default section bottom margin in pixels."
                  },
                  "sectionMarginLeft": {
                    "type": "number",
                    "description": "Default section left margin in pixels."
                  },
                  "sectionMarginRight": {
                    "type": "number",
                    "description": "Default section right margin in pixels."
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Default heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Default heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Default body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Default body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Default card padding in pixels.",
                    "minimum": 0
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Default layout gap in pixels.",
                    "minimum": 0
                  },
                  "responsive": {
                    "type": "object",
                    "description": "Viewport-specific page-default overrides.",
                    "propertyNames": {
                      "type": "string",
                      "description": "A non-desktop responsive override breakpoint.",
                      "enum": [
                        "4k",
                        "tablet",
                        "mobile"
                      ]
                    },
                    "additionalProperties": {
                      "$ref": "#/$defs/pageStyleDefaultsBase"
                    }
                  }
                },
                "additionalProperties": false
              },
              "theme": {
                "type": "object",
                "description": "Complete TopoloWeb theme and responsive page defaults.",
                "properties": {
                  "primary": {
                    "type": "string",
                    "description": "Primary brand color.",
                    "minLength": 1
                  },
                  "secondary": {
                    "type": "string",
                    "description": "Secondary brand color.",
                    "minLength": 1
                  },
                  "surface": {
                    "type": "string",
                    "description": "Primary surface color.",
                    "minLength": 1
                  },
                  "ink": {
                    "type": "string",
                    "description": "Primary text color.",
                    "minLength": 1
                  },
                  "muted": {
                    "type": "string",
                    "description": "Muted text color.",
                    "minLength": 1
                  },
                  "accent": {
                    "type": "string",
                    "description": "Accent color.",
                    "minLength": 1
                  },
                  "accentSoft": {
                    "type": "string",
                    "description": "Soft accent surface color.",
                    "minLength": 1
                  },
                  "glow": {
                    "type": "string",
                    "description": "Decorative glow color.",
                    "minLength": 1
                  },
                  "headingFont": {
                    "type": "string",
                    "description": "CSS heading font stack.",
                    "minLength": 1
                  },
                  "bodyFont": {
                    "type": "string",
                    "description": "CSS body font stack.",
                    "minLength": 1
                  },
                  "radius": {
                    "type": "string",
                    "description": "Default CSS corner radius.",
                    "minLength": 1
                  },
                  "brandLogoUrl": {
                    "type": "string",
                    "description": "HTTPS brand-logo URL."
                  },
                  "brandLogoAlt": {
                    "type": "string",
                    "description": "Accessible brand-logo description."
                  },
                  "brandLogoWidth": {
                    "type": "string",
                    "description": "CSS brand-logo width."
                  },
                  "brandLogoHeight": {
                    "type": "string",
                    "description": "CSS brand-logo height."
                  },
                  "pageDefaults": {
                    "$ref": "#/$defs/pageStyleDefaults"
                  },
                  "customCss": {
                    "type": "string",
                    "description": "Reviewed site-wide CSS loaded after generated styles."
                  }
                },
                "required": [
                  "primary",
                  "secondary",
                  "surface",
                  "ink",
                  "muted",
                  "accent",
                  "accentSoft",
                  "glow",
                  "headingFont",
                  "bodyFont",
                  "radius"
                ],
                "additionalProperties": false
              },
              "sectionStyleBase": {
                "type": "object",
                "description": "Desktop section style values.",
                "properties": {
                  "backgroundColor": {
                    "type": "string",
                    "description": "CSS background color."
                  },
                  "backgroundImageUrl": {
                    "type": "string",
                    "description": "HTTPS background image URL."
                  },
                  "backgroundMode": {
                    "type": "string",
                    "description": "Background image sizing mode.",
                    "enum": [
                      "cover",
                      "contain",
                      "stretch",
                      "tile"
                    ]
                  },
                  "backgroundPosition": {
                    "type": "string",
                    "description": "Background image position.",
                    "enum": [
                      "center",
                      "top",
                      "bottom",
                      "left",
                      "right",
                      "top left",
                      "top right",
                      "bottom left",
                      "bottom right"
                    ]
                  },
                  "textColor": {
                    "type": "string",
                    "description": "CSS foreground color."
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "imagePlacement": {
                    "type": "string",
                    "description": "Media placement relative to text.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "itemsPlacement": {
                    "type": "string",
                    "description": "Repeated items placement relative to section copy for supported compositions.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "paddingTop": {
                    "type": "number",
                    "description": "Top padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBottom": {
                    "type": "number",
                    "description": "Bottom padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom padding should stay linked."
                  },
                  "paddingLeft": {
                    "type": "number",
                    "description": "Left padding in pixels.",
                    "minimum": 0
                  },
                  "paddingRight": {
                    "type": "number",
                    "description": "Right padding in pixels.",
                    "minimum": 0
                  },
                  "paddingInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right padding should stay linked."
                  },
                  "marginTop": {
                    "type": "number",
                    "description": "Top margin in pixels."
                  },
                  "marginBottom": {
                    "type": "number",
                    "description": "Bottom margin in pixels."
                  },
                  "marginBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom margins should stay linked."
                  },
                  "marginLeft": {
                    "type": "number",
                    "description": "Left margin in pixels."
                  },
                  "marginRight": {
                    "type": "number",
                    "description": "Right margin in pixels."
                  },
                  "marginInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right margins should stay linked."
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Border line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "CSS border color."
                  },
                  "borderRadius": {
                    "type": "number",
                    "description": "Corner radius in pixels.",
                    "minimum": 0
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Heading font size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Body font size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Repeated-card padding in pixels.",
                    "minimum": 0
                  },
                  "columnCount": {
                    "type": "number",
                    "description": "Responsive column count.",
                    "enum": [
                      2,
                      3,
                      4
                    ]
                  },
                  "columnSpans": {
                    "type": "array",
                    "description": "Grid spans for explicit columns.",
                    "items": {
                      "type": "number",
                      "description": "One column span.",
                      "minimum": 1
                    }
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Gap between layout children in pixels.",
                    "minimum": 0
                  },
                  "nestedSectionPadding": {
                    "type": "number",
                    "description": "Padding around nested sections in pixels.",
                    "minimum": 0
                  },
                  "mediaAspectRatio": {
                    "type": "string",
                    "description": "Media aspect ratio.",
                    "enum": [
                      "16 / 9",
                      "4 / 3",
                      "1 / 1",
                      "9 / 16"
                    ]
                  },
                  "mediaFit": {
                    "type": "string",
                    "description": "Media object-fit behavior.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "mediaFocalX": {
                    "type": "number",
                    "description": "Horizontal focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "mediaFocalY": {
                    "type": "number",
                    "description": "Vertical focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerTop": {
                    "type": "boolean",
                    "description": "Whether a top divider is rendered."
                  },
                  "dividerBottom": {
                    "type": "boolean",
                    "description": "Whether a bottom divider is rendered."
                  },
                  "dividerThickness": {
                    "type": "number",
                    "description": "Divider thickness in pixels.",
                    "minimum": 0
                  },
                  "dividerWidth": {
                    "type": "number",
                    "description": "Divider width percentage.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerLineStyle": {
                    "type": "string",
                    "description": "Divider line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "customCss": {
                    "type": "string",
                    "description": "Reviewed CSS declarations scoped to this section."
                  }
                },
                "additionalProperties": false
              },
              "sectionStyle": {
                "type": "object",
                "description": "Section style values with optional responsive overrides.",
                "properties": {
                  "backgroundColor": {
                    "type": "string",
                    "description": "CSS background color."
                  },
                  "backgroundImageUrl": {
                    "type": "string",
                    "description": "HTTPS background image URL."
                  },
                  "backgroundMode": {
                    "type": "string",
                    "description": "Background image sizing mode.",
                    "enum": [
                      "cover",
                      "contain",
                      "stretch",
                      "tile"
                    ]
                  },
                  "backgroundPosition": {
                    "type": "string",
                    "description": "Background image position.",
                    "enum": [
                      "center",
                      "top",
                      "bottom",
                      "left",
                      "right",
                      "top left",
                      "top right",
                      "bottom left",
                      "bottom right"
                    ]
                  },
                  "textColor": {
                    "type": "string",
                    "description": "CSS foreground color."
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "imagePlacement": {
                    "type": "string",
                    "description": "Media placement relative to text.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "itemsPlacement": {
                    "type": "string",
                    "description": "Repeated items placement relative to section copy for supported compositions.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "paddingTop": {
                    "type": "number",
                    "description": "Top padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBottom": {
                    "type": "number",
                    "description": "Bottom padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom padding should stay linked."
                  },
                  "paddingLeft": {
                    "type": "number",
                    "description": "Left padding in pixels.",
                    "minimum": 0
                  },
                  "paddingRight": {
                    "type": "number",
                    "description": "Right padding in pixels.",
                    "minimum": 0
                  },
                  "paddingInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right padding should stay linked."
                  },
                  "marginTop": {
                    "type": "number",
                    "description": "Top margin in pixels."
                  },
                  "marginBottom": {
                    "type": "number",
                    "description": "Bottom margin in pixels."
                  },
                  "marginBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom margins should stay linked."
                  },
                  "marginLeft": {
                    "type": "number",
                    "description": "Left margin in pixels."
                  },
                  "marginRight": {
                    "type": "number",
                    "description": "Right margin in pixels."
                  },
                  "marginInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right margins should stay linked."
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Border line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "CSS border color."
                  },
                  "borderRadius": {
                    "type": "number",
                    "description": "Corner radius in pixels.",
                    "minimum": 0
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Heading font size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Body font size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Repeated-card padding in pixels.",
                    "minimum": 0
                  },
                  "columnCount": {
                    "type": "number",
                    "description": "Responsive column count.",
                    "enum": [
                      2,
                      3,
                      4
                    ]
                  },
                  "columnSpans": {
                    "type": "array",
                    "description": "Grid spans for explicit columns.",
                    "items": {
                      "type": "number",
                      "description": "One column span.",
                      "minimum": 1
                    }
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Gap between layout children in pixels.",
                    "minimum": 0
                  },
                  "nestedSectionPadding": {
                    "type": "number",
                    "description": "Padding around nested sections in pixels.",
                    "minimum": 0
                  },
                  "mediaAspectRatio": {
                    "type": "string",
                    "description": "Media aspect ratio.",
                    "enum": [
                      "16 / 9",
                      "4 / 3",
                      "1 / 1",
                      "9 / 16"
                    ]
                  },
                  "mediaFit": {
                    "type": "string",
                    "description": "Media object-fit behavior.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "mediaFocalX": {
                    "type": "number",
                    "description": "Horizontal focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "mediaFocalY": {
                    "type": "number",
                    "description": "Vertical focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerTop": {
                    "type": "boolean",
                    "description": "Whether a top divider is rendered."
                  },
                  "dividerBottom": {
                    "type": "boolean",
                    "description": "Whether a bottom divider is rendered."
                  },
                  "dividerThickness": {
                    "type": "number",
                    "description": "Divider thickness in pixels.",
                    "minimum": 0
                  },
                  "dividerWidth": {
                    "type": "number",
                    "description": "Divider width percentage.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerLineStyle": {
                    "type": "string",
                    "description": "Divider line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "customCss": {
                    "type": "string",
                    "description": "Reviewed CSS declarations scoped to this section."
                  },
                  "responsive": {
                    "type": "object",
                    "description": "Viewport-specific section-style overrides.",
                    "propertyNames": {
                      "type": "string",
                      "description": "A non-desktop responsive override breakpoint.",
                      "enum": [
                        "4k",
                        "tablet",
                        "mobile"
                      ]
                    },
                    "additionalProperties": {
                      "$ref": "#/$defs/sectionStyleBase"
                    }
                  }
                },
                "additionalProperties": false
              },
              "sectionItemStyleBase": {
                "type": "object",
                "description": "Desktop repeated-item style values.",
                "properties": {
                  "padding": {
                    "type": "number",
                    "description": "Item padding in pixels.",
                    "minimum": 0
                  },
                  "radius": {
                    "type": "number",
                    "description": "Item corner radius in pixels.",
                    "minimum": 0
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Item border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Item border style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "Item border color."
                  },
                  "imageFit": {
                    "type": "string",
                    "description": "Item image fit.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "imageFocalX": {
                    "type": "number",
                    "description": "Horizontal image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "imageFocalY": {
                    "type": "number",
                    "description": "Vertical image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "textPadding": {
                    "type": "number",
                    "description": "Text-panel padding in pixels.",
                    "minimum": 0
                  },
                  "textRadius": {
                    "type": "number",
                    "description": "Text-panel corner radius in pixels.",
                    "minimum": 0
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Item text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Item heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Item heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Item body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Item body line-height multiplier.",
                    "minimum": 0.5
                  }
                },
                "additionalProperties": false
              },
              "sectionItemStyle": {
                "type": "object",
                "description": "Repeated-item style values with optional responsive overrides.",
                "properties": {
                  "padding": {
                    "type": "number",
                    "description": "Item padding in pixels.",
                    "minimum": 0
                  },
                  "radius": {
                    "type": "number",
                    "description": "Item corner radius in pixels.",
                    "minimum": 0
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Item border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Item border style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "Item border color."
                  },
                  "imageFit": {
                    "type": "string",
                    "description": "Item image fit.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "imageFocalX": {
                    "type": "number",
                    "description": "Horizontal image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "imageFocalY": {
                    "type": "number",
                    "description": "Vertical image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "textPadding": {
                    "type": "number",
                    "description": "Text-panel padding in pixels.",
                    "minimum": 0
                  },
                  "textRadius": {
                    "type": "number",
                    "description": "Text-panel corner radius in pixels.",
                    "minimum": 0
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Item text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Item heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Item heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Item body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Item body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "responsive": {
                    "type": "object",
                    "description": "Viewport-specific item-style overrides.",
                    "propertyNames": {
                      "type": "string",
                      "description": "A non-desktop responsive override breakpoint.",
                      "enum": [
                        "4k",
                        "tablet",
                        "mobile"
                      ]
                    },
                    "additionalProperties": {
                      "$ref": "#/$defs/sectionItemStyleBase"
                    }
                  }
                },
                "additionalProperties": false
              },
              "sectionItem": {
                "type": "object",
                "description": "One repeated card, row, quote, metric, question, or media item.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable item identifier.",
                    "minLength": 1
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible item title."
                  },
                  "body": {
                    "type": "string",
                    "description": "Visible supporting copy."
                  },
                  "meta": {
                    "type": "string",
                    "description": "Optional metadata."
                  },
                  "value": {
                    "type": "string",
                    "description": "Optional value or price."
                  },
                  "badge": {
                    "type": "string",
                    "description": "Optional badge label."
                  },
                  "href": {
                    "type": "string",
                    "description": "Optional item link."
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the item link in a new tab."
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Optional item image URL."
                  },
                  "alt": {
                    "type": "string",
                    "description": "Accessible item-image description."
                  },
                  "style": {
                    "$ref": "#/$defs/sectionItemStyle"
                  },
                  "styleClassIds": {
                    "type": "array",
                    "description": "Reusable item style-class identifiers.",
                    "items": {
                      "type": "string",
                      "description": "One style-class identifier.",
                      "minLength": 1
                    }
                  }
                },
                "required": [
                  "id",
                  "title",
                  "body"
                ],
                "additionalProperties": false
              },
              "sectionValue": {
                "type": "object",
                "description": "Renderer-backed block content without persisted child arrays.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable section identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "eyebrow": {
                    "type": "string",
                    "description": "Optional eyebrow copy."
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible section heading."
                  },
                  "body": {
                    "type": "string",
                    "description": "Visible section body copy."
                  },
                  "kicker": {
                    "type": "string",
                    "description": "Optional supporting kicker."
                  },
                  "primaryAction": {
                    "$ref": "#/$defs/actionLink"
                  },
                  "secondaryAction": {
                    "$ref": "#/$defs/actionLink"
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Optional section image URL."
                  },
                  "alt": {
                    "type": "string",
                    "description": "Accessible section-image description."
                  },
                  "presentation": {
                    "type": "string",
                    "description": "A renderer-backed composition designed for the selected block type.",
                    "enum": [
                      "annotated",
                      "cards",
                      "columns",
                      "divided",
                      "editorial",
                      "manifesto",
                      "mosaic",
                      "poster",
                      "ruled",
                      "split",
                      "spotlight",
                      "tiers",
                      "timeline"
                    ]
                  },
                  "styleClassIds": {
                    "type": "array",
                    "description": "Reusable section style-class identifiers.",
                    "items": {
                      "type": "string",
                      "description": "One style-class identifier.",
                      "minLength": 1
                    }
                  },
                  "style": {
                    "$ref": "#/$defs/sectionStyle"
                  },
                  "formId": {
                    "type": "string",
                    "description": "Form identifier for a contact-form block."
                  },
                  "collectionSlug": {
                    "type": "string",
                    "description": "Collection slug bound to this block."
                  },
                  "collectionLimit": {
                    "type": "number",
                    "description": "Maximum collection entries rendered.",
                    "minimum": 1
                  },
                  "collectionSort": {
                    "type": "string",
                    "description": "Collection sorting behavior.",
                    "enum": [
                      "manual",
                      "title_asc",
                      "title_desc",
                      "meta_asc",
                      "meta_desc"
                    ]
                  },
                  "html": {
                    "type": "string",
                    "description": "Reviewed HTML for embed-capable blocks."
                  },
                  "videoUrl": {
                    "type": "string",
                    "description": "Direct, YouTube, or Vimeo video URL."
                  },
                  "videoProvider": {
                    "type": "string",
                    "description": "Video provider.",
                    "enum": [
                      "direct",
                      "youtube",
                      "vimeo"
                    ]
                  },
                  "videoPosterUrl": {
                    "type": "string",
                    "description": "Video poster image URL."
                  },
                  "videoAutoplay": {
                    "type": "boolean",
                    "description": "Autoplay video when allowed."
                  },
                  "videoControls": {
                    "type": "boolean",
                    "description": "Show native video controls."
                  },
                  "videoMuted": {
                    "type": "boolean",
                    "description": "Mute video playback."
                  },
                  "componentName": {
                    "type": "string",
                    "description": "Approved custom component name."
                  },
                  "componentProps": {
                    "type": "object",
                    "description": "Component-specific reviewed JSON properties.",
                    "additionalProperties": {
                      "$ref": "#/$defs/jsonValue"
                    }
                  },
                  "menuId": {
                    "type": "string",
                    "description": "Reusable menu identifier bound to a menu block."
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "title",
                  "body"
                ],
                "additionalProperties": false
              },
              "pageValue": {
                "type": "object",
                "description": "Persisted page metadata.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable page identifier.",
                    "minLength": 1
                  },
                  "slug": {
                    "type": "string",
                    "description": "Root-relative page slug beginning with /.",
                    "pattern": "^/"
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible page heading and title-template input.",
                    "minLength": 1
                  },
                  "description": {
                    "type": "string",
                    "description": "Page search and social description."
                  }
                },
                "required": [
                  "id",
                  "slug",
                  "title",
                  "description"
                ],
                "additionalProperties": false
              },
              "columnValue": {
                "type": "object",
                "description": "Persisted layout-column metadata.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable column identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Optional editor label."
                  },
                  "span": {
                    "type": "number",
                    "description": "Grid span.",
                    "minimum": 1
                  },
                  "style": {
                    "$ref": "#/$defs/sectionStyle"
                  }
                },
                "required": [
                  "id"
                ],
                "additionalProperties": false
              },
              "source": {
                "type": "object",
                "description": "Original product-domain identity for a document node.",
                "properties": {
                  "kind": {
                    "type": "string",
                    "description": "Source record kind.",
                    "enum": [
                      "page",
                      "section",
                      "column",
                      "item"
                    ]
                  },
                  "id": {
                    "type": "string",
                    "description": "Source record identifier.",
                    "minLength": 1
                  }
                },
                "required": [
                  "kind",
                  "id"
                ],
                "additionalProperties": false
              },
              "pageNode": {
                "type": "object",
                "description": "A canonical page node owning exactly one page-body slot.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "page"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Parent node identifier when nested."
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "value": {
                    "$ref": "#/$defs/pageValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Exactly one page-body slot.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "source",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "slotNode": {
                "type": "object",
                "description": "A canonical child slot controlling accepted node kinds.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "slot"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning page, layout, or block node identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "slotKind": {
                    "type": "string",
                    "description": "Child-slot role.",
                    "enum": [
                      "page-body",
                      "layout-column",
                      "block-items"
                    ]
                  },
                  "accepts": {
                    "type": "array",
                    "description": "Document node kinds allowed in this slot.",
                    "items": {
                      "type": "string",
                      "description": "One allowed node kind.",
                      "enum": [
                        "layout",
                        "block",
                        "item"
                      ]
                    }
                  },
                  "parentSectionId": {
                    "type": "string",
                    "description": "Owning section identifier for layout and block slots."
                  },
                  "columnId": {
                    "type": "string",
                    "description": "Column identifier for layout-column slots."
                  },
                  "value": {
                    "$ref": "#/$defs/columnValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Canonical child nodes.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "parentNodeId",
                  "source",
                  "slotKind",
                  "accepts",
                  "children"
                ],
                "additionalProperties": false
              },
              "layoutNode": {
                "type": "object",
                "description": "A canonical layout block owning one or more layout-column slots.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "layout"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning slot identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "layoutKind": {
                    "type": "string",
                    "description": "Layout behavior.",
                    "enum": [
                      "container",
                      "grid",
                      "stack",
                      "flex-row",
                      "columns"
                    ]
                  },
                  "sectionKind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "sectionId": {
                    "type": "string",
                    "description": "Persisted section identifier.",
                    "minLength": 1
                  },
                  "value": {
                    "$ref": "#/$defs/sectionValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Layout-column slots.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "source",
                  "layoutKind",
                  "sectionKind",
                  "sectionId",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "blockNode": {
                "type": "object",
                "description": "A canonical renderer block with optional block-items slot.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "block"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning slot identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "blockKind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "sectionKind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "sectionId": {
                    "type": "string",
                    "description": "Persisted section identifier.",
                    "minLength": 1
                  },
                  "value": {
                    "$ref": "#/$defs/sectionValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Optional block-items slot.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "source",
                  "blockKind",
                  "sectionKind",
                  "sectionId",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "itemNode": {
                "type": "object",
                "description": "A canonical repeated-item leaf node.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "item"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning block-items slot identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "parentSectionId": {
                    "type": "string",
                    "description": "Owning block section identifier.",
                    "minLength": 1
                  },
                  "itemId": {
                    "type": "string",
                    "description": "Persisted item identifier.",
                    "minLength": 1
                  },
                  "value": {
                    "$ref": "#/$defs/sectionItem"
                  },
                  "children": {
                    "type": "array",
                    "description": "Item nodes are leaves and must have no children.",
                    "maxItems": 0
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "parentNodeId",
                  "source",
                  "parentSectionId",
                  "itemId",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "siteDocumentNode": {
                "description": "One canonical TopoloWeb document node.",
                "oneOf": [
                  {
                    "$ref": "#/$defs/pageNode"
                  },
                  {
                    "$ref": "#/$defs/slotNode"
                  },
                  {
                    "$ref": "#/$defs/layoutNode"
                  },
                  {
                    "$ref": "#/$defs/blockNode"
                  },
                  {
                    "$ref": "#/$defs/itemNode"
                  }
                ]
              },
              "siteDocument": {
                "type": "object",
                "description": "Canonical versioned TopoloWeb document tree.",
                "properties": {
                  "version": {
                    "type": "integer",
                    "description": "Document schema version.",
                    "const": 1
                  },
                  "pages": {
                    "type": "array",
                    "description": "Canonical page nodes.",
                    "items": {
                      "$ref": "#/$defs/pageNode"
                    }
                  }
                },
                "required": [
                  "version",
                  "pages"
                ],
                "additionalProperties": false
              },
              "styleClass": {
                "description": "A reusable section or item style class.",
                "oneOf": [
                  {
                    "type": "object",
                    "description": "Reusable section style class.",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Stable style-class identifier.",
                        "minLength": 1
                      },
                      "name": {
                        "type": "string",
                        "description": "Human-readable class name.",
                        "minLength": 1
                      },
                      "targetKind": {
                        "type": "string",
                        "description": "The renderer-backed TopoloWeb block kind.",
                        "enum": [
                          "container",
                          "layout-grid",
                          "stack",
                          "flex-row",
                          "spacer",
                          "hero",
                          "feature-grid",
                          "story",
                          "proof",
                          "header",
                          "announcement",
                          "menu",
                          "columns",
                          "accordion",
                          "faq",
                          "cta",
                          "contact-form",
                          "image",
                          "gallery",
                          "video",
                          "logo-cloud",
                          "stats",
                          "testimonials",
                          "pricing",
                          "comparison-table",
                          "app-grid",
                          "article-list",
                          "legal",
                          "embed",
                          "custom-component",
                          "divider",
                          "footer"
                        ]
                      },
                      "targetScope": {
                        "type": "string",
                        "description": "Style-class target scope.",
                        "const": "section"
                      },
                      "style": {
                        "$ref": "#/$defs/sectionStyle"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "targetKind",
                      "targetScope",
                      "style"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "description": "Reusable repeated-item style class.",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Stable style-class identifier.",
                        "minLength": 1
                      },
                      "name": {
                        "type": "string",
                        "description": "Human-readable class name.",
                        "minLength": 1
                      },
                      "targetKind": {
                        "type": "string",
                        "description": "The renderer-backed TopoloWeb block kind.",
                        "enum": [
                          "container",
                          "layout-grid",
                          "stack",
                          "flex-row",
                          "spacer",
                          "hero",
                          "feature-grid",
                          "story",
                          "proof",
                          "header",
                          "announcement",
                          "menu",
                          "columns",
                          "accordion",
                          "faq",
                          "cta",
                          "contact-form",
                          "image",
                          "gallery",
                          "video",
                          "logo-cloud",
                          "stats",
                          "testimonials",
                          "pricing",
                          "comparison-table",
                          "app-grid",
                          "article-list",
                          "legal",
                          "embed",
                          "custom-component",
                          "divider",
                          "footer"
                        ]
                      },
                      "targetScope": {
                        "type": "string",
                        "description": "Style-class target scope.",
                        "const": "item"
                      },
                      "style": {
                        "$ref": "#/$defs/sectionItemStyle"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "targetKind",
                      "targetScope",
                      "style"
                    ],
                    "additionalProperties": false
                  }
                ]
              },
              "collectionItem": {
                "type": "object",
                "description": "One reusable CMS collection entry.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable collection-item identifier.",
                    "minLength": 1
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible item title.",
                    "minLength": 1
                  },
                  "body": {
                    "type": "string",
                    "description": "Visible item body."
                  },
                  "meta": {
                    "type": "string",
                    "description": "Optional metadata."
                  },
                  "value": {
                    "type": "string",
                    "description": "Optional price or value."
                  },
                  "badge": {
                    "type": "string",
                    "description": "Optional badge label."
                  },
                  "href": {
                    "type": "string",
                    "description": "Optional item link."
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the item link in a new tab."
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Optional item image URL."
                  },
                  "alt": {
                    "type": "string",
                    "description": "Accessible item-image description."
                  }
                },
                "required": [
                  "id",
                  "title",
                  "body"
                ],
                "additionalProperties": false
              },
              "collection": {
                "type": "object",
                "description": "Reusable CMS collection.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable collection identifier.",
                    "minLength": 1
                  },
                  "slug": {
                    "type": "string",
                    "description": "Stable collection slug.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Collection content kind.",
                    "enum": [
                      "apps",
                      "pricing",
                      "articles",
                      "changelog",
                      "legal",
                      "faq",
                      "custom"
                    ]
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable collection label.",
                    "minLength": 1
                  },
                  "items": {
                    "type": "array",
                    "description": "Ordered collection entries.",
                    "items": {
                      "$ref": "#/$defs/collectionItem"
                    }
                  }
                },
                "required": [
                  "id",
                  "slug",
                  "kind",
                  "label",
                  "items"
                ],
                "additionalProperties": false
              },
              "codeSnippet": {
                "type": "object",
                "description": "Reviewed bounded code injection.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable snippet identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable snippet label.",
                    "minLength": 1
                  },
                  "slot": {
                    "type": "string",
                    "description": "Injection slot.",
                    "enum": [
                      "head",
                      "body_start",
                      "body_end"
                    ]
                  },
                  "code": {
                    "type": "string",
                    "description": "Reviewed HTML, CSS, or JavaScript source."
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Whether this snippet is active."
                  }
                },
                "required": [
                  "id",
                  "label",
                  "slot",
                  "code",
                  "enabled"
                ],
                "additionalProperties": false
              },
              "seo": {
                "type": "object",
                "description": "Site-wide search and social metadata defaults.",
                "properties": {
                  "titleTemplate": {
                    "type": "string",
                    "description": "Title template; %s is replaced by the page title."
                  },
                  "metaTitle": {
                    "type": "string",
                    "description": "Default page title override."
                  },
                  "metaDescription": {
                    "type": "string",
                    "description": "Default search and social description."
                  },
                  "faviconUrl": {
                    "type": "string",
                    "description": "Browser and bookmark icon URL."
                  },
                  "openGraphImageUrl": {
                    "type": "string",
                    "description": "Default Open Graph image URL."
                  },
                  "canonicalUrl": {
                    "type": "string",
                    "description": "Canonical site URL."
                  }
                },
                "additionalProperties": false
              },
              "siteContent": {
                "type": "object",
                "description": "Complete canonical TopoloWeb site content.",
                "properties": {
                  "intent": {
                    "type": "string",
                    "description": "The kind of website being created.",
                    "enum": [
                      "business_site",
                      "landing_page",
                      "portfolio",
                      "agency",
                      "product_suite"
                    ]
                  },
                  "siteTitle": {
                    "type": "string",
                    "description": "Public site title.",
                    "minLength": 1
                  },
                  "siteDescription": {
                    "type": "string",
                    "description": "Public site description."
                  },
                  "contactEmail": {
                    "type": "string",
                    "description": "Public contact email.",
                    "minLength": 1
                  },
                  "contactPhone": {
                    "type": "string",
                    "description": "Optional public contact phone number."
                  },
                  "navigation": {
                    "type": "array",
                    "description": "Primary site navigation.",
                    "items": {
                      "$ref": "#/$defs/navigationItem"
                    }
                  },
                  "footerNavigation": {
                    "type": "array",
                    "description": "Footer navigation.",
                    "items": {
                      "$ref": "#/$defs/navigationItem"
                    }
                  },
                  "menus": {
                    "type": "array",
                    "description": "Reusable custom menus.",
                    "items": {
                      "$ref": "#/$defs/navigationMenu"
                    }
                  },
                  "styleClasses": {
                    "type": "array",
                    "description": "Reusable section and item styles.",
                    "items": {
                      "$ref": "#/$defs/styleClass"
                    }
                  },
                  "theme": {
                    "$ref": "#/$defs/theme"
                  },
                  "document": {
                    "$ref": "#/$defs/siteDocument"
                  },
                  "collections": {
                    "type": "array",
                    "description": "Reusable CMS collections.",
                    "items": {
                      "$ref": "#/$defs/collection"
                    }
                  },
                  "codeSnippets": {
                    "type": "array",
                    "description": "Reviewed bounded code snippets.",
                    "items": {
                      "$ref": "#/$defs/codeSnippet"
                    }
                  },
                  "seo": {
                    "$ref": "#/$defs/seo"
                  }
                },
                "required": [
                  "intent",
                  "siteTitle",
                  "siteDescription",
                  "contactEmail",
                  "navigation",
                  "footerNavigation",
                  "menus",
                  "styleClasses",
                  "theme",
                  "document",
                  "collections",
                  "codeSnippets"
                ],
                "additionalProperties": false
              },
              "createSite": {
                "type": "object",
                "description": "Brief used to create a new TopoloWeb site.",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Internal and initial public site name.",
                    "minLength": 1
                  },
                  "intent": {
                    "type": "string",
                    "description": "The kind of website being created.",
                    "enum": [
                      "business_site",
                      "landing_page",
                      "portfolio",
                      "agency",
                      "product_suite"
                    ]
                  },
                  "businessType": {
                    "type": "string",
                    "description": "Business or project category.",
                    "minLength": 1
                  },
                  "audience": {
                    "type": "string",
                    "description": "Primary intended audience.",
                    "minLength": 1
                  },
                  "offer": {
                    "type": "string",
                    "description": "Primary product, service, or proposition.",
                    "minLength": 1
                  },
                  "tone": {
                    "type": "string",
                    "description": "Desired writing and visual tone.",
                    "minLength": 1
                  },
                  "location": {
                    "type": "string",
                    "description": "Optional geographic market."
                  },
                  "differentiators": {
                    "type": "array",
                    "description": "Specific differentiators to communicate.",
                    "items": {
                      "type": "string",
                      "description": "One differentiator."
                    }
                  },
                  "goals": {
                    "type": "array",
                    "description": "Desired user and business outcomes.",
                    "items": {
                      "type": "string",
                      "description": "One goal."
                    }
                  },
                  "prompt": {
                    "type": "string",
                    "description": "Additional generation direction."
                  }
                },
                "required": [
                  "name",
                  "businessType",
                  "audience",
                  "offer",
                  "tone"
                ],
                "additionalProperties": false
              },
              "qualityIssue": {
                "type": "object",
                "description": "One actionable launch-quality finding.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable issue code.",
                    "minLength": 1
                  },
                  "severity": {
                    "type": "string",
                    "description": "Issue severity.",
                    "enum": [
                      "info",
                      "warning",
                      "error"
                    ]
                  },
                  "title": {
                    "type": "string",
                    "description": "Short issue title.",
                    "minLength": 1
                  },
                  "detail": {
                    "type": "string",
                    "description": "Actionable remediation detail.",
                    "minLength": 1
                  }
                },
                "required": [
                  "id",
                  "severity",
                  "title",
                  "detail"
                ],
                "additionalProperties": false
              },
              "qualityReport": {
                "type": "object",
                "description": "Deterministic content and launch-quality report.",
                "properties": {
                  "generatedAt": {
                    "type": "string",
                    "description": "ISO-8601 generation timestamp.",
                    "format": "date-time"
                  },
                  "score": {
                    "type": "number",
                    "description": "Quality score from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "issues": {
                    "type": "array",
                    "description": "Actionable quality findings.",
                    "items": {
                      "$ref": "#/$defs/qualityIssue"
                    }
                  }
                },
                "required": [
                  "generatedAt",
                  "score",
                  "issues"
                ],
                "additionalProperties": false
              },
              "siteRecord": {
                "type": "object",
                "description": "One TopoloWeb site and its current editable content.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable site identifier.",
                    "minLength": 1
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "Owning Topolo organization identifier.",
                    "minLength": 1
                  },
                  "workspaceId": {
                    "type": "string",
                    "description": "Owning Topolo workspace identifier.",
                    "minLength": 1
                  },
                  "slug": {
                    "type": "string",
                    "description": "Platform hostname slug.",
                    "minLength": 1
                  },
                  "name": {
                    "type": "string",
                    "description": "Internal site name.",
                    "minLength": 1
                  },
                  "status": {
                    "type": "string",
                    "description": "Current lifecycle status.",
                    "enum": [
                      "draft",
                      "published",
                      "archived"
                    ]
                  },
                  "brief": {
                    "type": "object",
                    "description": "Generation brief retained for iterative edits.",
                    "additionalProperties": true
                  },
                  "draftContent": {
                    "$ref": "#/$defs/siteContent"
                  },
                  "currentVersionId": {
                    "type": "string",
                    "description": "Currently published immutable version identifier."
                  },
                  "draftPreviewToken": {
                    "type": "string",
                    "description": "Opaque token used by the draft preview URL.",
                    "minLength": 1
                  },
                  "createdAt": {
                    "type": "string",
                    "description": "ISO-8601 creation timestamp.",
                    "format": "date-time"
                  },
                  "updatedAt": {
                    "type": "string",
                    "description": "ISO-8601 last-update timestamp.",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "workspaceId",
                  "slug",
                  "name",
                  "status",
                  "brief",
                  "draftContent",
                  "draftPreviewToken",
                  "createdAt",
                  "updatedAt"
                ],
                "additionalProperties": false
              },
              "siteVersion": {
                "type": "object",
                "description": "One immutable published site version.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable version identifier.",
                    "minLength": 1
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "Owning Topolo organization identifier.",
                    "minLength": 1
                  },
                  "workspaceId": {
                    "type": "string",
                    "description": "Owning Topolo workspace identifier.",
                    "minLength": 1
                  },
                  "siteId": {
                    "type": "string",
                    "description": "Parent site identifier.",
                    "minLength": 1
                  },
                  "versionNumber": {
                    "type": "integer",
                    "description": "Monotonic site version number.",
                    "minimum": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable version label.",
                    "minLength": 1
                  },
                  "snapshot": {
                    "$ref": "#/$defs/siteContent"
                  },
                  "previewToken": {
                    "type": "string",
                    "description": "Opaque immutable-version preview token.",
                    "minLength": 1
                  },
                  "publishedAt": {
                    "type": "string",
                    "description": "ISO-8601 publication timestamp.",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "workspaceId",
                  "siteId",
                  "versionNumber",
                  "label",
                  "snapshot",
                  "previewToken",
                  "publishedAt"
                ],
                "additionalProperties": false
              },
              "siteDomain": {
                "type": "object",
                "description": "One platform or custom site domain.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable domain identifier.",
                    "minLength": 1
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "Owning Topolo organization identifier.",
                    "minLength": 1
                  },
                  "workspaceId": {
                    "type": "string",
                    "description": "Owning Topolo workspace identifier.",
                    "minLength": 1
                  },
                  "siteId": {
                    "type": "string",
                    "description": "Parent site identifier.",
                    "minLength": 1
                  },
                  "hostname": {
                    "type": "string",
                    "description": "Domain hostname without scheme.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Domain ownership kind.",
                    "enum": [
                      "platform",
                      "custom"
                    ]
                  },
                  "status": {
                    "type": "string",
                    "description": "DNS and TLS activation status.",
                    "enum": [
                      "pending_dns",
                      "pending_ssl",
                      "active",
                      "failed"
                    ]
                  },
                  "dnsTarget": {
                    "type": "string",
                    "description": "DNS target required for this domain.",
                    "minLength": 1
                  },
                  "verificationToken": {
                    "type": "string",
                    "description": "Opaque DNS ownership verification token.",
                    "minLength": 1
                  },
                  "isPrimary": {
                    "type": "boolean",
                    "description": "Whether this is the primary public hostname."
                  },
                  "createdAt": {
                    "type": "string",
                    "description": "ISO-8601 creation timestamp.",
                    "format": "date-time"
                  },
                  "updatedAt": {
                    "type": "string",
                    "description": "ISO-8601 last-update timestamp.",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "workspaceId",
                  "siteId",
                  "hostname",
                  "kind",
                  "status",
                  "dnsTarget",
                  "verificationToken",
                  "isPrimary",
                  "createdAt",
                  "updatedAt"
                ],
                "additionalProperties": false
              },
              "siteUrls": {
                "type": "object",
                "description": "Stable URLs used to preview and verify the site.",
                "properties": {
                  "previewUrl": {
                    "type": "string",
                    "description": "Authenticated draft-preview URL.",
                    "format": "uri"
                  },
                  "publicUrl": {
                    "type": "string",
                    "description": "Primary public site URL.",
                    "format": "uri"
                  }
                },
                "required": [
                  "previewUrl",
                  "publicUrl"
                ],
                "additionalProperties": false
              },
              "siteDetails": {
                "type": "object",
                "description": "Complete editable site state returned after a build.",
                "properties": {
                  "site": {
                    "$ref": "#/$defs/siteRecord"
                  },
                  "versions": {
                    "type": "array",
                    "description": "Published immutable versions, newest first.",
                    "items": {
                      "$ref": "#/$defs/siteVersion"
                    }
                  },
                  "domains": {
                    "type": "array",
                    "description": "Platform and custom domains.",
                    "items": {
                      "$ref": "#/$defs/siteDomain"
                    }
                  },
                  "assets": {
                    "type": "array",
                    "description": "Uploaded or linked site assets.",
                    "items": {
                      "type": "object",
                      "description": "One site asset record.",
                      "additionalProperties": true
                    }
                  },
                  "submissions": {
                    "type": "array",
                    "description": "Recent form submissions.",
                    "items": {
                      "type": "object",
                      "description": "One site form submission.",
                      "additionalProperties": true
                    }
                  },
                  "events": {
                    "type": "array",
                    "description": "Recent site lifecycle events.",
                    "items": {
                      "type": "object",
                      "description": "One site event.",
                      "additionalProperties": true
                    }
                  },
                  "insights": {
                    "type": "object",
                    "description": "Derived site activity counters.",
                    "additionalProperties": true
                  },
                  "qualityReport": {
                    "$ref": "#/$defs/qualityReport"
                  },
                  "agentSessions": {
                    "type": "array",
                    "description": "Agent editing sessions.",
                    "items": {
                      "type": "object",
                      "description": "One agent session summary.",
                      "additionalProperties": true
                    }
                  }
                },
                "required": [
                  "site",
                  "versions",
                  "domains",
                  "assets",
                  "submissions",
                  "events",
                  "insights",
                  "qualityReport",
                  "agentSessions"
                ],
                "additionalProperties": false
              }
            }
          },
          "readOnly": false,
          "destructive": false,
          "agentAccess": "confirm",
          "agentContract": {
            "docsUrl": "https://docs.topolo.app/applications/web",
            "resource": {
              "kind": "site",
              "idPath": "site.id",
              "versionPath": "version.id"
            },
            "effects": [
              "Creates one site and draft content.",
              "Publishes only when publish=true."
            ],
            "errors": [
              {
                "status": 400,
                "code": "invalid_site_payload",
                "recovery": "Correct the payload using sites.capabilities.get, then call sites.validate."
              },
              {
                "status": 422,
                "code": "publish_blocked",
                "recovery": "Resolve every error in qualityReport before publishing."
              }
            ],
            "verify": [
              "Open urls.previewUrl at every required viewport.",
              "When published, open urls.publicUrl and confirm the intended version."
            ],
            "rollbackActionId": "app_topolo_web.sites.versions.restore",
            "nextActionIds": [
              "app_topolo_web.sites.preview.get",
              "app_topolo_web.sites.publish.preflight"
            ]
          },
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "site": {
                "name": "example",
                "businessType": "example",
                "audience": "example",
                "offer": "example",
                "tone": "example"
              },
              "content": {
                "intent": "business_site",
                "siteTitle": "example",
                "siteDescription": "example",
                "contactEmail": "user@example.com",
                "navigation": [
                  {
                    "id": "00000000-0000-4000-8000-000000000000",
                    "label": "example",
                    "href": "example",
                    "kind": "primary"
                  }
                ],
                "footerNavigation": [
                  {
                    "id": "00000000-0000-4000-8000-000000000000",
                    "label": "example",
                    "href": "example",
                    "kind": "primary"
                  }
                ],
                "menus": [
                  {
                    "id": "00000000-0000-4000-8000-000000000000",
                    "name": "example",
                    "placement": "custom",
                    "items": []
                  }
                ],
                "styleClasses": [
                  {
                    "id": "00000000-0000-4000-8000-000000000000",
                    "name": "example",
                    "targetKind": "container",
                    "targetScope": "section",
                    "style": {
                      "backgroundColor": "example",
                      "backgroundImageUrl": "https://example.com",
                      "backgroundMode": "cover"
                    }
                  }
                ],
                "theme": {
                  "primary": "example",
                  "secondary": "example",
                  "surface": "example",
                  "ink": "example",
                  "muted": "example",
                  "accent": "example",
                  "accentSoft": "example",
                  "glow": "example",
                  "headingFont": "example",
                  "bodyFont": "example",
                  "radius": "example"
                },
                "document": {
                  "version": 1,
                  "pages": []
                },
                "collections": [
                  {
                    "id": "00000000-0000-4000-8000-000000000000",
                    "slug": "example",
                    "kind": "apps",
                    "label": "example",
                    "items": []
                  }
                ],
                "codeSnippets": [
                  {
                    "id": "00000000-0000-4000-8000-000000000000",
                    "label": "example",
                    "slot": "head",
                    "code": "example",
                    "enabled": true
                  }
                ]
              }
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/studio/sites/build",
              "body": {
                "site": {
                  "name": "example",
                  "businessType": "example",
                  "audience": "example",
                  "offer": "example",
                  "tone": "example"
                },
                "content": {
                  "intent": "business_site",
                  "siteTitle": "example",
                  "siteDescription": "example",
                  "contactEmail": "user@example.com",
                  "navigation": [
                    {
                      "id": "00000000-0000-4000-8000-000000000000",
                      "label": "example",
                      "href": "example",
                      "kind": "primary"
                    }
                  ],
                  "footerNavigation": [
                    {
                      "id": "00000000-0000-4000-8000-000000000000",
                      "label": "example",
                      "href": "example",
                      "kind": "primary"
                    }
                  ],
                  "menus": [
                    {
                      "id": "00000000-0000-4000-8000-000000000000",
                      "name": "example",
                      "placement": "custom",
                      "items": []
                    }
                  ],
                  "styleClasses": [
                    {
                      "id": "00000000-0000-4000-8000-000000000000",
                      "name": "example",
                      "targetKind": "container",
                      "targetScope": "section",
                      "style": {
                        "backgroundColor": "example",
                        "backgroundImageUrl": "https://example.com",
                        "backgroundMode": "cover"
                      }
                    }
                  ],
                  "theme": {
                    "primary": "example",
                    "secondary": "example",
                    "surface": "example",
                    "ink": "example",
                    "muted": "example",
                    "accent": "example",
                    "accentSoft": "example",
                    "glow": "example",
                    "headingFont": "example",
                    "bodyFont": "example",
                    "radius": "example"
                  },
                  "document": {
                    "version": 1,
                    "pages": []
                  },
                  "collections": [
                    {
                      "id": "00000000-0000-4000-8000-000000000000",
                      "slug": "example",
                      "kind": "apps",
                      "label": "example",
                      "items": []
                    }
                  ],
                  "codeSnippets": [
                    {
                      "id": "00000000-0000-4000-8000-000000000000",
                      "label": "example",
                      "slot": "head",
                      "code": "example",
                      "enabled": true
                    }
                  ]
                }
              }
            },
            "effects": "Creates one site and draft content. Publishes only when publish=true.",
            "verification": [
              "Open urls.previewUrl at every required viewport.",
              "When published, open urls.publicUrl and confirm the intended version."
            ],
            "recovery": [
              "400 invalid_site_payload: Correct the payload using sites.capabilities.get, then call sites.validate.",
              "422 publish_blocked: Resolve every error in qualityReport before publishing."
            ],
            "docs_url": "https://docs.topolo.app/applications/web",
            "resource": {
              "kind": "site",
              "idPath": "site.id",
              "versionPath": "version.id"
            },
            "next_action_ids": [
              "app_topolo_web.sites.preview.get",
              "app_topolo_web.sites.publish.preflight"
            ],
            "rollback_action_id": "app_topolo_web.sites.versions.restore"
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/studio/sites/build",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.capabilities.get",
          "title": "Get site agent capabilities",
          "description": "Get the canonical repository-independent site schema, block catalog, examples, viewports, and workflow.",
          "permission": "studio:read",
          "method": "GET",
          "path": "/api/studio/sites/capabilities",
          "readOnly": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {},
            "additionalProperties": false
          },
          "outputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "description": "TopoloWeb clean-room agent capabilities and canonical schemas.",
            "properties": {
              "contractVersion": {
                "type": "string",
                "description": "Version of the public agent contract.",
                "minLength": 1
              },
              "docsUrl": {
                "type": "string",
                "description": "Public operational documentation URL.",
                "format": "uri"
              },
              "siteContentSchema": {
                "type": "object",
                "description": "Canonical SiteContent JSON Schema.",
                "additionalProperties": true
              },
              "buildInputSchema": {
                "type": "object",
                "description": "sites.build input JSON Schema.",
                "additionalProperties": true
              },
              "blockCatalog": {
                "type": "array",
                "description": "Renderer-backed block catalog with fields and design capabilities.",
                "items": {
                  "type": "object",
                  "description": "One block capability entry.",
                  "additionalProperties": true
                }
              },
              "compositionRecipes": {
                "type": "array",
                "description": "Audience-specific composition plans that use the block catalog deliberately.",
                "items": {
                  "type": "object",
                  "description": "One complete composition recipe.",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Stable recipe identifier.",
                      "enum": [
                        "angel-investor",
                        "marketplace-developer",
                        "partner-channel",
                        "platform-pitch",
                        "venture-investor"
                      ]
                    },
                    "title": {
                      "type": "string",
                      "description": "Human-readable recipe title.",
                      "minLength": 1
                    },
                    "audience": {
                      "type": "string",
                      "description": "Audience the composition is designed to persuade.",
                      "minLength": 1
                    },
                    "visualThesis": {
                      "type": "string",
                      "description": "Unifying visual direction for the site.",
                      "minLength": 1
                    },
                    "contentPlan": {
                      "type": "array",
                      "description": "Ordered content and block plan.",
                      "items": {
                        "type": "object",
                        "description": "One block choice and its narrative job.",
                        "properties": {
                          "purpose": {
                            "type": "string",
                            "description": "Narrative purpose of the block.",
                            "minLength": 1
                          },
                          "kind": {
                            "type": "string",
                            "description": "The renderer-backed TopoloWeb block kind.",
                            "enum": [
                              "container",
                              "layout-grid",
                              "stack",
                              "flex-row",
                              "spacer",
                              "hero",
                              "feature-grid",
                              "story",
                              "proof",
                              "header",
                              "announcement",
                              "menu",
                              "columns",
                              "accordion",
                              "faq",
                              "cta",
                              "contact-form",
                              "image",
                              "gallery",
                              "video",
                              "logo-cloud",
                              "stats",
                              "testimonials",
                              "pricing",
                              "comparison-table",
                              "app-grid",
                              "article-list",
                              "legal",
                              "embed",
                              "custom-component",
                              "divider",
                              "footer"
                            ]
                          },
                          "presentation": {
                            "type": "string",
                            "description": "A renderer-backed composition designed for the selected block type.",
                            "enum": [
                              "annotated",
                              "cards",
                              "columns",
                              "divided",
                              "editorial",
                              "manifesto",
                              "mosaic",
                              "poster",
                              "ruled",
                              "split",
                              "spotlight",
                              "tiers",
                              "timeline"
                            ]
                          },
                          "itemsPlacement": {
                            "type": "string",
                            "description": "Optional repeated-item placement.",
                            "enum": [
                              "left",
                              "right"
                            ]
                          },
                          "note": {
                            "type": "string",
                            "description": "Implementation guidance for this block.",
                            "minLength": 1
                          }
                        },
                        "required": [
                          "purpose",
                          "kind",
                          "note"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "interactionThesis": {
                      "type": "array",
                      "description": "Interaction and reading-flow principles.",
                      "items": {
                        "type": "string",
                        "description": "One interaction principle.",
                        "minLength": 1
                      }
                    },
                    "avoid": {
                      "type": "array",
                      "description": "Composition failure modes to avoid.",
                      "items": {
                        "type": "string",
                        "description": "One failure mode.",
                        "minLength": 1
                      }
                    }
                  },
                  "required": [
                    "id",
                    "title",
                    "audience",
                    "visualThesis",
                    "contentPlan",
                    "interactionThesis",
                    "avoid"
                  ],
                  "additionalProperties": false
                }
              },
              "viewports": {
                "type": "array",
                "description": "Required responsive QA viewports.",
                "items": {
                  "type": "object",
                  "description": "One required QA viewport.",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Viewport identifier.",
                      "enum": [
                        "mobile",
                        "tablet",
                        "desktop",
                        "4k"
                      ]
                    },
                    "width": {
                      "type": "integer",
                      "description": "Viewport width in CSS pixels.",
                      "minimum": 1
                    },
                    "description": {
                      "type": "string",
                      "description": "What this viewport verifies.",
                      "minLength": 1
                    }
                  },
                  "required": [
                    "id",
                    "width",
                    "description"
                  ],
                  "additionalProperties": false
                }
              },
              "workflow": {
                "type": "array",
                "description": "Ordered clean-room build workflow.",
                "items": {
                  "type": "string",
                  "description": "One workflow step.",
                  "minLength": 1
                }
              },
              "examples": {
                "type": "array",
                "description": "Canonical generated examples for every supported site intent.",
                "items": {
                  "type": "object",
                  "description": "One named intent example.",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Stable example identifier.",
                      "minLength": 1
                    },
                    "intent": {
                      "type": "string",
                      "description": "The kind of website being created.",
                      "enum": [
                        "business_site",
                        "landing_page",
                        "portfolio",
                        "agency",
                        "product_suite"
                      ]
                    },
                    "content": {
                      "$ref": "#/$defs/siteContent"
                    }
                  },
                  "required": [
                    "id",
                    "intent",
                    "content"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [
              "contractVersion",
              "docsUrl",
              "siteContentSchema",
              "buildInputSchema",
              "blockCatalog",
              "compositionRecipes",
              "viewports",
              "workflow",
              "examples"
            ],
            "additionalProperties": false,
            "$defs": {
              "jsonValue": {
                "description": "A JSON-compatible component property value.",
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "type": "array",
                    "items": {
                      "$ref": "#/$defs/jsonValue"
                    }
                  },
                  {
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/$defs/jsonValue"
                    }
                  }
                ]
              },
              "actionLink": {
                "type": "object",
                "description": "A rendered call-to-action link.",
                "properties": {
                  "label": {
                    "type": "string",
                    "description": "Visible link label.",
                    "minLength": 1
                  },
                  "href": {
                    "type": "string",
                    "description": "Root-relative path, anchor, mailto, tel, or HTTPS URL.",
                    "minLength": 1
                  },
                  "linkKind": {
                    "type": "string",
                    "description": "Whether the link targets a TopoloWeb page or a custom URL.",
                    "enum": [
                      "custom",
                      "page"
                    ]
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the link in a new browser tab."
                  }
                },
                "required": [
                  "label",
                  "href"
                ],
                "additionalProperties": false
              },
              "navigationItem": {
                "type": "object",
                "description": "One site navigation entry.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable navigation item identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Visible navigation label.",
                    "minLength": 1
                  },
                  "href": {
                    "type": "string",
                    "description": "Root-relative path, anchor, or external URL.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Navigation emphasis.",
                    "enum": [
                      "primary",
                      "secondary",
                      "cta"
                    ]
                  },
                  "parentId": {
                    "type": "string",
                    "description": "Optional parent item identifier for one-level menus."
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the link in a new browser tab."
                  }
                },
                "required": [
                  "id",
                  "label",
                  "href",
                  "kind"
                ],
                "additionalProperties": false
              },
              "navigationMenu": {
                "type": "object",
                "description": "A named reusable navigation menu.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable menu identifier.",
                    "minLength": 1
                  },
                  "name": {
                    "type": "string",
                    "description": "Human-readable menu name.",
                    "minLength": 1
                  },
                  "placement": {
                    "type": "string",
                    "description": "Custom menu placement marker.",
                    "const": "custom"
                  },
                  "items": {
                    "type": "array",
                    "description": "Ordered menu entries.",
                    "items": {
                      "$ref": "#/$defs/navigationItem"
                    }
                  }
                },
                "required": [
                  "id",
                  "name",
                  "placement",
                  "items"
                ],
                "additionalProperties": false
              },
              "pageStyleDefaultsBase": {
                "type": "object",
                "description": "Site-wide default layout and typography values.",
                "properties": {
                  "sectionPaddingTop": {
                    "type": "number",
                    "description": "Default section top padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingBottom": {
                    "type": "number",
                    "description": "Default section bottom padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingLeft": {
                    "type": "number",
                    "description": "Default section left padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingRight": {
                    "type": "number",
                    "description": "Default section right padding in pixels.",
                    "minimum": 0
                  },
                  "sectionMarginTop": {
                    "type": "number",
                    "description": "Default section top margin in pixels."
                  },
                  "sectionMarginBottom": {
                    "type": "number",
                    "description": "Default section bottom margin in pixels."
                  },
                  "sectionMarginLeft": {
                    "type": "number",
                    "description": "Default section left margin in pixels."
                  },
                  "sectionMarginRight": {
                    "type": "number",
                    "description": "Default section right margin in pixels."
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Default heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Default heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Default body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Default body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Default card padding in pixels.",
                    "minimum": 0
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Default layout gap in pixels.",
                    "minimum": 0
                  }
                },
                "additionalProperties": false
              },
              "pageStyleDefaults": {
                "type": "object",
                "description": "Desktop page defaults with optional viewport overrides.",
                "properties": {
                  "sectionPaddingTop": {
                    "type": "number",
                    "description": "Default section top padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingBottom": {
                    "type": "number",
                    "description": "Default section bottom padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingLeft": {
                    "type": "number",
                    "description": "Default section left padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingRight": {
                    "type": "number",
                    "description": "Default section right padding in pixels.",
                    "minimum": 0
                  },
                  "sectionMarginTop": {
                    "type": "number",
                    "description": "Default section top margin in pixels."
                  },
                  "sectionMarginBottom": {
                    "type": "number",
                    "description": "Default section bottom margin in pixels."
                  },
                  "sectionMarginLeft": {
                    "type": "number",
                    "description": "Default section left margin in pixels."
                  },
                  "sectionMarginRight": {
                    "type": "number",
                    "description": "Default section right margin in pixels."
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Default heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Default heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Default body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Default body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Default card padding in pixels.",
                    "minimum": 0
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Default layout gap in pixels.",
                    "minimum": 0
                  },
                  "responsive": {
                    "type": "object",
                    "description": "Viewport-specific page-default overrides.",
                    "propertyNames": {
                      "type": "string",
                      "description": "A non-desktop responsive override breakpoint.",
                      "enum": [
                        "4k",
                        "tablet",
                        "mobile"
                      ]
                    },
                    "additionalProperties": {
                      "$ref": "#/$defs/pageStyleDefaultsBase"
                    }
                  }
                },
                "additionalProperties": false
              },
              "theme": {
                "type": "object",
                "description": "Complete TopoloWeb theme and responsive page defaults.",
                "properties": {
                  "primary": {
                    "type": "string",
                    "description": "Primary brand color.",
                    "minLength": 1
                  },
                  "secondary": {
                    "type": "string",
                    "description": "Secondary brand color.",
                    "minLength": 1
                  },
                  "surface": {
                    "type": "string",
                    "description": "Primary surface color.",
                    "minLength": 1
                  },
                  "ink": {
                    "type": "string",
                    "description": "Primary text color.",
                    "minLength": 1
                  },
                  "muted": {
                    "type": "string",
                    "description": "Muted text color.",
                    "minLength": 1
                  },
                  "accent": {
                    "type": "string",
                    "description": "Accent color.",
                    "minLength": 1
                  },
                  "accentSoft": {
                    "type": "string",
                    "description": "Soft accent surface color.",
                    "minLength": 1
                  },
                  "glow": {
                    "type": "string",
                    "description": "Decorative glow color.",
                    "minLength": 1
                  },
                  "headingFont": {
                    "type": "string",
                    "description": "CSS heading font stack.",
                    "minLength": 1
                  },
                  "bodyFont": {
                    "type": "string",
                    "description": "CSS body font stack.",
                    "minLength": 1
                  },
                  "radius": {
                    "type": "string",
                    "description": "Default CSS corner radius.",
                    "minLength": 1
                  },
                  "brandLogoUrl": {
                    "type": "string",
                    "description": "HTTPS brand-logo URL."
                  },
                  "brandLogoAlt": {
                    "type": "string",
                    "description": "Accessible brand-logo description."
                  },
                  "brandLogoWidth": {
                    "type": "string",
                    "description": "CSS brand-logo width."
                  },
                  "brandLogoHeight": {
                    "type": "string",
                    "description": "CSS brand-logo height."
                  },
                  "pageDefaults": {
                    "$ref": "#/$defs/pageStyleDefaults"
                  },
                  "customCss": {
                    "type": "string",
                    "description": "Reviewed site-wide CSS loaded after generated styles."
                  }
                },
                "required": [
                  "primary",
                  "secondary",
                  "surface",
                  "ink",
                  "muted",
                  "accent",
                  "accentSoft",
                  "glow",
                  "headingFont",
                  "bodyFont",
                  "radius"
                ],
                "additionalProperties": false
              },
              "sectionStyleBase": {
                "type": "object",
                "description": "Desktop section style values.",
                "properties": {
                  "backgroundColor": {
                    "type": "string",
                    "description": "CSS background color."
                  },
                  "backgroundImageUrl": {
                    "type": "string",
                    "description": "HTTPS background image URL."
                  },
                  "backgroundMode": {
                    "type": "string",
                    "description": "Background image sizing mode.",
                    "enum": [
                      "cover",
                      "contain",
                      "stretch",
                      "tile"
                    ]
                  },
                  "backgroundPosition": {
                    "type": "string",
                    "description": "Background image position.",
                    "enum": [
                      "center",
                      "top",
                      "bottom",
                      "left",
                      "right",
                      "top left",
                      "top right",
                      "bottom left",
                      "bottom right"
                    ]
                  },
                  "textColor": {
                    "type": "string",
                    "description": "CSS foreground color."
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "imagePlacement": {
                    "type": "string",
                    "description": "Media placement relative to text.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "itemsPlacement": {
                    "type": "string",
                    "description": "Repeated items placement relative to section copy for supported compositions.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "paddingTop": {
                    "type": "number",
                    "description": "Top padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBottom": {
                    "type": "number",
                    "description": "Bottom padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom padding should stay linked."
                  },
                  "paddingLeft": {
                    "type": "number",
                    "description": "Left padding in pixels.",
                    "minimum": 0
                  },
                  "paddingRight": {
                    "type": "number",
                    "description": "Right padding in pixels.",
                    "minimum": 0
                  },
                  "paddingInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right padding should stay linked."
                  },
                  "marginTop": {
                    "type": "number",
                    "description": "Top margin in pixels."
                  },
                  "marginBottom": {
                    "type": "number",
                    "description": "Bottom margin in pixels."
                  },
                  "marginBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom margins should stay linked."
                  },
                  "marginLeft": {
                    "type": "number",
                    "description": "Left margin in pixels."
                  },
                  "marginRight": {
                    "type": "number",
                    "description": "Right margin in pixels."
                  },
                  "marginInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right margins should stay linked."
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Border line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "CSS border color."
                  },
                  "borderRadius": {
                    "type": "number",
                    "description": "Corner radius in pixels.",
                    "minimum": 0
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Heading font size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Body font size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Repeated-card padding in pixels.",
                    "minimum": 0
                  },
                  "columnCount": {
                    "type": "number",
                    "description": "Responsive column count.",
                    "enum": [
                      2,
                      3,
                      4
                    ]
                  },
                  "columnSpans": {
                    "type": "array",
                    "description": "Grid spans for explicit columns.",
                    "items": {
                      "type": "number",
                      "description": "One column span.",
                      "minimum": 1
                    }
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Gap between layout children in pixels.",
                    "minimum": 0
                  },
                  "nestedSectionPadding": {
                    "type": "number",
                    "description": "Padding around nested sections in pixels.",
                    "minimum": 0
                  },
                  "mediaAspectRatio": {
                    "type": "string",
                    "description": "Media aspect ratio.",
                    "enum": [
                      "16 / 9",
                      "4 / 3",
                      "1 / 1",
                      "9 / 16"
                    ]
                  },
                  "mediaFit": {
                    "type": "string",
                    "description": "Media object-fit behavior.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "mediaFocalX": {
                    "type": "number",
                    "description": "Horizontal focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "mediaFocalY": {
                    "type": "number",
                    "description": "Vertical focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerTop": {
                    "type": "boolean",
                    "description": "Whether a top divider is rendered."
                  },
                  "dividerBottom": {
                    "type": "boolean",
                    "description": "Whether a bottom divider is rendered."
                  },
                  "dividerThickness": {
                    "type": "number",
                    "description": "Divider thickness in pixels.",
                    "minimum": 0
                  },
                  "dividerWidth": {
                    "type": "number",
                    "description": "Divider width percentage.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerLineStyle": {
                    "type": "string",
                    "description": "Divider line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "customCss": {
                    "type": "string",
                    "description": "Reviewed CSS declarations scoped to this section."
                  }
                },
                "additionalProperties": false
              },
              "sectionStyle": {
                "type": "object",
                "description": "Section style values with optional responsive overrides.",
                "properties": {
                  "backgroundColor": {
                    "type": "string",
                    "description": "CSS background color."
                  },
                  "backgroundImageUrl": {
                    "type": "string",
                    "description": "HTTPS background image URL."
                  },
                  "backgroundMode": {
                    "type": "string",
                    "description": "Background image sizing mode.",
                    "enum": [
                      "cover",
                      "contain",
                      "stretch",
                      "tile"
                    ]
                  },
                  "backgroundPosition": {
                    "type": "string",
                    "description": "Background image position.",
                    "enum": [
                      "center",
                      "top",
                      "bottom",
                      "left",
                      "right",
                      "top left",
                      "top right",
                      "bottom left",
                      "bottom right"
                    ]
                  },
                  "textColor": {
                    "type": "string",
                    "description": "CSS foreground color."
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "imagePlacement": {
                    "type": "string",
                    "description": "Media placement relative to text.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "itemsPlacement": {
                    "type": "string",
                    "description": "Repeated items placement relative to section copy for supported compositions.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "paddingTop": {
                    "type": "number",
                    "description": "Top padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBottom": {
                    "type": "number",
                    "description": "Bottom padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom padding should stay linked."
                  },
                  "paddingLeft": {
                    "type": "number",
                    "description": "Left padding in pixels.",
                    "minimum": 0
                  },
                  "paddingRight": {
                    "type": "number",
                    "description": "Right padding in pixels.",
                    "minimum": 0
                  },
                  "paddingInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right padding should stay linked."
                  },
                  "marginTop": {
                    "type": "number",
                    "description": "Top margin in pixels."
                  },
                  "marginBottom": {
                    "type": "number",
                    "description": "Bottom margin in pixels."
                  },
                  "marginBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom margins should stay linked."
                  },
                  "marginLeft": {
                    "type": "number",
                    "description": "Left margin in pixels."
                  },
                  "marginRight": {
                    "type": "number",
                    "description": "Right margin in pixels."
                  },
                  "marginInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right margins should stay linked."
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Border line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "CSS border color."
                  },
                  "borderRadius": {
                    "type": "number",
                    "description": "Corner radius in pixels.",
                    "minimum": 0
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Heading font size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Body font size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Repeated-card padding in pixels.",
                    "minimum": 0
                  },
                  "columnCount": {
                    "type": "number",
                    "description": "Responsive column count.",
                    "enum": [
                      2,
                      3,
                      4
                    ]
                  },
                  "columnSpans": {
                    "type": "array",
                    "description": "Grid spans for explicit columns.",
                    "items": {
                      "type": "number",
                      "description": "One column span.",
                      "minimum": 1
                    }
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Gap between layout children in pixels.",
                    "minimum": 0
                  },
                  "nestedSectionPadding": {
                    "type": "number",
                    "description": "Padding around nested sections in pixels.",
                    "minimum": 0
                  },
                  "mediaAspectRatio": {
                    "type": "string",
                    "description": "Media aspect ratio.",
                    "enum": [
                      "16 / 9",
                      "4 / 3",
                      "1 / 1",
                      "9 / 16"
                    ]
                  },
                  "mediaFit": {
                    "type": "string",
                    "description": "Media object-fit behavior.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "mediaFocalX": {
                    "type": "number",
                    "description": "Horizontal focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "mediaFocalY": {
                    "type": "number",
                    "description": "Vertical focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerTop": {
                    "type": "boolean",
                    "description": "Whether a top divider is rendered."
                  },
                  "dividerBottom": {
                    "type": "boolean",
                    "description": "Whether a bottom divider is rendered."
                  },
                  "dividerThickness": {
                    "type": "number",
                    "description": "Divider thickness in pixels.",
                    "minimum": 0
                  },
                  "dividerWidth": {
                    "type": "number",
                    "description": "Divider width percentage.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerLineStyle": {
                    "type": "string",
                    "description": "Divider line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "customCss": {
                    "type": "string",
                    "description": "Reviewed CSS declarations scoped to this section."
                  },
                  "responsive": {
                    "type": "object",
                    "description": "Viewport-specific section-style overrides.",
                    "propertyNames": {
                      "type": "string",
                      "description": "A non-desktop responsive override breakpoint.",
                      "enum": [
                        "4k",
                        "tablet",
                        "mobile"
                      ]
                    },
                    "additionalProperties": {
                      "$ref": "#/$defs/sectionStyleBase"
                    }
                  }
                },
                "additionalProperties": false
              },
              "sectionItemStyleBase": {
                "type": "object",
                "description": "Desktop repeated-item style values.",
                "properties": {
                  "padding": {
                    "type": "number",
                    "description": "Item padding in pixels.",
                    "minimum": 0
                  },
                  "radius": {
                    "type": "number",
                    "description": "Item corner radius in pixels.",
                    "minimum": 0
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Item border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Item border style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "Item border color."
                  },
                  "imageFit": {
                    "type": "string",
                    "description": "Item image fit.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "imageFocalX": {
                    "type": "number",
                    "description": "Horizontal image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "imageFocalY": {
                    "type": "number",
                    "description": "Vertical image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "textPadding": {
                    "type": "number",
                    "description": "Text-panel padding in pixels.",
                    "minimum": 0
                  },
                  "textRadius": {
                    "type": "number",
                    "description": "Text-panel corner radius in pixels.",
                    "minimum": 0
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Item text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Item heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Item heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Item body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Item body line-height multiplier.",
                    "minimum": 0.5
                  }
                },
                "additionalProperties": false
              },
              "sectionItemStyle": {
                "type": "object",
                "description": "Repeated-item style values with optional responsive overrides.",
                "properties": {
                  "padding": {
                    "type": "number",
                    "description": "Item padding in pixels.",
                    "minimum": 0
                  },
                  "radius": {
                    "type": "number",
                    "description": "Item corner radius in pixels.",
                    "minimum": 0
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Item border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Item border style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "Item border color."
                  },
                  "imageFit": {
                    "type": "string",
                    "description": "Item image fit.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "imageFocalX": {
                    "type": "number",
                    "description": "Horizontal image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "imageFocalY": {
                    "type": "number",
                    "description": "Vertical image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "textPadding": {
                    "type": "number",
                    "description": "Text-panel padding in pixels.",
                    "minimum": 0
                  },
                  "textRadius": {
                    "type": "number",
                    "description": "Text-panel corner radius in pixels.",
                    "minimum": 0
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Item text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Item heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Item heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Item body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Item body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "responsive": {
                    "type": "object",
                    "description": "Viewport-specific item-style overrides.",
                    "propertyNames": {
                      "type": "string",
                      "description": "A non-desktop responsive override breakpoint.",
                      "enum": [
                        "4k",
                        "tablet",
                        "mobile"
                      ]
                    },
                    "additionalProperties": {
                      "$ref": "#/$defs/sectionItemStyleBase"
                    }
                  }
                },
                "additionalProperties": false
              },
              "sectionItem": {
                "type": "object",
                "description": "One repeated card, row, quote, metric, question, or media item.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable item identifier.",
                    "minLength": 1
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible item title."
                  },
                  "body": {
                    "type": "string",
                    "description": "Visible supporting copy."
                  },
                  "meta": {
                    "type": "string",
                    "description": "Optional metadata."
                  },
                  "value": {
                    "type": "string",
                    "description": "Optional value or price."
                  },
                  "badge": {
                    "type": "string",
                    "description": "Optional badge label."
                  },
                  "href": {
                    "type": "string",
                    "description": "Optional item link."
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the item link in a new tab."
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Optional item image URL."
                  },
                  "alt": {
                    "type": "string",
                    "description": "Accessible item-image description."
                  },
                  "style": {
                    "$ref": "#/$defs/sectionItemStyle"
                  },
                  "styleClassIds": {
                    "type": "array",
                    "description": "Reusable item style-class identifiers.",
                    "items": {
                      "type": "string",
                      "description": "One style-class identifier.",
                      "minLength": 1
                    }
                  }
                },
                "required": [
                  "id",
                  "title",
                  "body"
                ],
                "additionalProperties": false
              },
              "sectionValue": {
                "type": "object",
                "description": "Renderer-backed block content without persisted child arrays.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable section identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "eyebrow": {
                    "type": "string",
                    "description": "Optional eyebrow copy."
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible section heading."
                  },
                  "body": {
                    "type": "string",
                    "description": "Visible section body copy."
                  },
                  "kicker": {
                    "type": "string",
                    "description": "Optional supporting kicker."
                  },
                  "primaryAction": {
                    "$ref": "#/$defs/actionLink"
                  },
                  "secondaryAction": {
                    "$ref": "#/$defs/actionLink"
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Optional section image URL."
                  },
                  "alt": {
                    "type": "string",
                    "description": "Accessible section-image description."
                  },
                  "presentation": {
                    "type": "string",
                    "description": "A renderer-backed composition designed for the selected block type.",
                    "enum": [
                      "annotated",
                      "cards",
                      "columns",
                      "divided",
                      "editorial",
                      "manifesto",
                      "mosaic",
                      "poster",
                      "ruled",
                      "split",
                      "spotlight",
                      "tiers",
                      "timeline"
                    ]
                  },
                  "styleClassIds": {
                    "type": "array",
                    "description": "Reusable section style-class identifiers.",
                    "items": {
                      "type": "string",
                      "description": "One style-class identifier.",
                      "minLength": 1
                    }
                  },
                  "style": {
                    "$ref": "#/$defs/sectionStyle"
                  },
                  "formId": {
                    "type": "string",
                    "description": "Form identifier for a contact-form block."
                  },
                  "collectionSlug": {
                    "type": "string",
                    "description": "Collection slug bound to this block."
                  },
                  "collectionLimit": {
                    "type": "number",
                    "description": "Maximum collection entries rendered.",
                    "minimum": 1
                  },
                  "collectionSort": {
                    "type": "string",
                    "description": "Collection sorting behavior.",
                    "enum": [
                      "manual",
                      "title_asc",
                      "title_desc",
                      "meta_asc",
                      "meta_desc"
                    ]
                  },
                  "html": {
                    "type": "string",
                    "description": "Reviewed HTML for embed-capable blocks."
                  },
                  "videoUrl": {
                    "type": "string",
                    "description": "Direct, YouTube, or Vimeo video URL."
                  },
                  "videoProvider": {
                    "type": "string",
                    "description": "Video provider.",
                    "enum": [
                      "direct",
                      "youtube",
                      "vimeo"
                    ]
                  },
                  "videoPosterUrl": {
                    "type": "string",
                    "description": "Video poster image URL."
                  },
                  "videoAutoplay": {
                    "type": "boolean",
                    "description": "Autoplay video when allowed."
                  },
                  "videoControls": {
                    "type": "boolean",
                    "description": "Show native video controls."
                  },
                  "videoMuted": {
                    "type": "boolean",
                    "description": "Mute video playback."
                  },
                  "componentName": {
                    "type": "string",
                    "description": "Approved custom component name."
                  },
                  "componentProps": {
                    "type": "object",
                    "description": "Component-specific reviewed JSON properties.",
                    "additionalProperties": {
                      "$ref": "#/$defs/jsonValue"
                    }
                  },
                  "menuId": {
                    "type": "string",
                    "description": "Reusable menu identifier bound to a menu block."
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "title",
                  "body"
                ],
                "additionalProperties": false
              },
              "pageValue": {
                "type": "object",
                "description": "Persisted page metadata.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable page identifier.",
                    "minLength": 1
                  },
                  "slug": {
                    "type": "string",
                    "description": "Root-relative page slug beginning with /.",
                    "pattern": "^/"
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible page heading and title-template input.",
                    "minLength": 1
                  },
                  "description": {
                    "type": "string",
                    "description": "Page search and social description."
                  }
                },
                "required": [
                  "id",
                  "slug",
                  "title",
                  "description"
                ],
                "additionalProperties": false
              },
              "columnValue": {
                "type": "object",
                "description": "Persisted layout-column metadata.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable column identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Optional editor label."
                  },
                  "span": {
                    "type": "number",
                    "description": "Grid span.",
                    "minimum": 1
                  },
                  "style": {
                    "$ref": "#/$defs/sectionStyle"
                  }
                },
                "required": [
                  "id"
                ],
                "additionalProperties": false
              },
              "source": {
                "type": "object",
                "description": "Original product-domain identity for a document node.",
                "properties": {
                  "kind": {
                    "type": "string",
                    "description": "Source record kind.",
                    "enum": [
                      "page",
                      "section",
                      "column",
                      "item"
                    ]
                  },
                  "id": {
                    "type": "string",
                    "description": "Source record identifier.",
                    "minLength": 1
                  }
                },
                "required": [
                  "kind",
                  "id"
                ],
                "additionalProperties": false
              },
              "pageNode": {
                "type": "object",
                "description": "A canonical page node owning exactly one page-body slot.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "page"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Parent node identifier when nested."
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "value": {
                    "$ref": "#/$defs/pageValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Exactly one page-body slot.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "source",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "slotNode": {
                "type": "object",
                "description": "A canonical child slot controlling accepted node kinds.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "slot"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning page, layout, or block node identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "slotKind": {
                    "type": "string",
                    "description": "Child-slot role.",
                    "enum": [
                      "page-body",
                      "layout-column",
                      "block-items"
                    ]
                  },
                  "accepts": {
                    "type": "array",
                    "description": "Document node kinds allowed in this slot.",
                    "items": {
                      "type": "string",
                      "description": "One allowed node kind.",
                      "enum": [
                        "layout",
                        "block",
                        "item"
                      ]
                    }
                  },
                  "parentSectionId": {
                    "type": "string",
                    "description": "Owning section identifier for layout and block slots."
                  },
                  "columnId": {
                    "type": "string",
                    "description": "Column identifier for layout-column slots."
                  },
                  "value": {
                    "$ref": "#/$defs/columnValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Canonical child nodes.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "parentNodeId",
                  "source",
                  "slotKind",
                  "accepts",
                  "children"
                ],
                "additionalProperties": false
              },
              "layoutNode": {
                "type": "object",
                "description": "A canonical layout block owning one or more layout-column slots.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "layout"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning slot identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "layoutKind": {
                    "type": "string",
                    "description": "Layout behavior.",
                    "enum": [
                      "container",
                      "grid",
                      "stack",
                      "flex-row",
                      "columns"
                    ]
                  },
                  "sectionKind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "sectionId": {
                    "type": "string",
                    "description": "Persisted section identifier.",
                    "minLength": 1
                  },
                  "value": {
                    "$ref": "#/$defs/sectionValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Layout-column slots.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "source",
                  "layoutKind",
                  "sectionKind",
                  "sectionId",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "blockNode": {
                "type": "object",
                "description": "A canonical renderer block with optional block-items slot.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "block"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning slot identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "blockKind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "sectionKind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "sectionId": {
                    "type": "string",
                    "description": "Persisted section identifier.",
                    "minLength": 1
                  },
                  "value": {
                    "$ref": "#/$defs/sectionValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Optional block-items slot.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "source",
                  "blockKind",
                  "sectionKind",
                  "sectionId",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "itemNode": {
                "type": "object",
                "description": "A canonical repeated-item leaf node.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "item"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning block-items slot identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "parentSectionId": {
                    "type": "string",
                    "description": "Owning block section identifier.",
                    "minLength": 1
                  },
                  "itemId": {
                    "type": "string",
                    "description": "Persisted item identifier.",
                    "minLength": 1
                  },
                  "value": {
                    "$ref": "#/$defs/sectionItem"
                  },
                  "children": {
                    "type": "array",
                    "description": "Item nodes are leaves and must have no children.",
                    "maxItems": 0
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "parentNodeId",
                  "source",
                  "parentSectionId",
                  "itemId",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "siteDocumentNode": {
                "description": "One canonical TopoloWeb document node.",
                "oneOf": [
                  {
                    "$ref": "#/$defs/pageNode"
                  },
                  {
                    "$ref": "#/$defs/slotNode"
                  },
                  {
                    "$ref": "#/$defs/layoutNode"
                  },
                  {
                    "$ref": "#/$defs/blockNode"
                  },
                  {
                    "$ref": "#/$defs/itemNode"
                  }
                ]
              },
              "siteDocument": {
                "type": "object",
                "description": "Canonical versioned TopoloWeb document tree.",
                "properties": {
                  "version": {
                    "type": "integer",
                    "description": "Document schema version.",
                    "const": 1
                  },
                  "pages": {
                    "type": "array",
                    "description": "Canonical page nodes.",
                    "items": {
                      "$ref": "#/$defs/pageNode"
                    }
                  }
                },
                "required": [
                  "version",
                  "pages"
                ],
                "additionalProperties": false
              },
              "styleClass": {
                "description": "A reusable section or item style class.",
                "oneOf": [
                  {
                    "type": "object",
                    "description": "Reusable section style class.",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Stable style-class identifier.",
                        "minLength": 1
                      },
                      "name": {
                        "type": "string",
                        "description": "Human-readable class name.",
                        "minLength": 1
                      },
                      "targetKind": {
                        "type": "string",
                        "description": "The renderer-backed TopoloWeb block kind.",
                        "enum": [
                          "container",
                          "layout-grid",
                          "stack",
                          "flex-row",
                          "spacer",
                          "hero",
                          "feature-grid",
                          "story",
                          "proof",
                          "header",
                          "announcement",
                          "menu",
                          "columns",
                          "accordion",
                          "faq",
                          "cta",
                          "contact-form",
                          "image",
                          "gallery",
                          "video",
                          "logo-cloud",
                          "stats",
                          "testimonials",
                          "pricing",
                          "comparison-table",
                          "app-grid",
                          "article-list",
                          "legal",
                          "embed",
                          "custom-component",
                          "divider",
                          "footer"
                        ]
                      },
                      "targetScope": {
                        "type": "string",
                        "description": "Style-class target scope.",
                        "const": "section"
                      },
                      "style": {
                        "$ref": "#/$defs/sectionStyle"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "targetKind",
                      "targetScope",
                      "style"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "description": "Reusable repeated-item style class.",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Stable style-class identifier.",
                        "minLength": 1
                      },
                      "name": {
                        "type": "string",
                        "description": "Human-readable class name.",
                        "minLength": 1
                      },
                      "targetKind": {
                        "type": "string",
                        "description": "The renderer-backed TopoloWeb block kind.",
                        "enum": [
                          "container",
                          "layout-grid",
                          "stack",
                          "flex-row",
                          "spacer",
                          "hero",
                          "feature-grid",
                          "story",
                          "proof",
                          "header",
                          "announcement",
                          "menu",
                          "columns",
                          "accordion",
                          "faq",
                          "cta",
                          "contact-form",
                          "image",
                          "gallery",
                          "video",
                          "logo-cloud",
                          "stats",
                          "testimonials",
                          "pricing",
                          "comparison-table",
                          "app-grid",
                          "article-list",
                          "legal",
                          "embed",
                          "custom-component",
                          "divider",
                          "footer"
                        ]
                      },
                      "targetScope": {
                        "type": "string",
                        "description": "Style-class target scope.",
                        "const": "item"
                      },
                      "style": {
                        "$ref": "#/$defs/sectionItemStyle"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "targetKind",
                      "targetScope",
                      "style"
                    ],
                    "additionalProperties": false
                  }
                ]
              },
              "collectionItem": {
                "type": "object",
                "description": "One reusable CMS collection entry.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable collection-item identifier.",
                    "minLength": 1
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible item title.",
                    "minLength": 1
                  },
                  "body": {
                    "type": "string",
                    "description": "Visible item body."
                  },
                  "meta": {
                    "type": "string",
                    "description": "Optional metadata."
                  },
                  "value": {
                    "type": "string",
                    "description": "Optional price or value."
                  },
                  "badge": {
                    "type": "string",
                    "description": "Optional badge label."
                  },
                  "href": {
                    "type": "string",
                    "description": "Optional item link."
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the item link in a new tab."
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Optional item image URL."
                  },
                  "alt": {
                    "type": "string",
                    "description": "Accessible item-image description."
                  }
                },
                "required": [
                  "id",
                  "title",
                  "body"
                ],
                "additionalProperties": false
              },
              "collection": {
                "type": "object",
                "description": "Reusable CMS collection.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable collection identifier.",
                    "minLength": 1
                  },
                  "slug": {
                    "type": "string",
                    "description": "Stable collection slug.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Collection content kind.",
                    "enum": [
                      "apps",
                      "pricing",
                      "articles",
                      "changelog",
                      "legal",
                      "faq",
                      "custom"
                    ]
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable collection label.",
                    "minLength": 1
                  },
                  "items": {
                    "type": "array",
                    "description": "Ordered collection entries.",
                    "items": {
                      "$ref": "#/$defs/collectionItem"
                    }
                  }
                },
                "required": [
                  "id",
                  "slug",
                  "kind",
                  "label",
                  "items"
                ],
                "additionalProperties": false
              },
              "codeSnippet": {
                "type": "object",
                "description": "Reviewed bounded code injection.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable snippet identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable snippet label.",
                    "minLength": 1
                  },
                  "slot": {
                    "type": "string",
                    "description": "Injection slot.",
                    "enum": [
                      "head",
                      "body_start",
                      "body_end"
                    ]
                  },
                  "code": {
                    "type": "string",
                    "description": "Reviewed HTML, CSS, or JavaScript source."
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Whether this snippet is active."
                  }
                },
                "required": [
                  "id",
                  "label",
                  "slot",
                  "code",
                  "enabled"
                ],
                "additionalProperties": false
              },
              "seo": {
                "type": "object",
                "description": "Site-wide search and social metadata defaults.",
                "properties": {
                  "titleTemplate": {
                    "type": "string",
                    "description": "Title template; %s is replaced by the page title."
                  },
                  "metaTitle": {
                    "type": "string",
                    "description": "Default page title override."
                  },
                  "metaDescription": {
                    "type": "string",
                    "description": "Default search and social description."
                  },
                  "faviconUrl": {
                    "type": "string",
                    "description": "Browser and bookmark icon URL."
                  },
                  "openGraphImageUrl": {
                    "type": "string",
                    "description": "Default Open Graph image URL."
                  },
                  "canonicalUrl": {
                    "type": "string",
                    "description": "Canonical site URL."
                  }
                },
                "additionalProperties": false
              },
              "siteContent": {
                "type": "object",
                "description": "Complete canonical TopoloWeb site content.",
                "properties": {
                  "intent": {
                    "type": "string",
                    "description": "The kind of website being created.",
                    "enum": [
                      "business_site",
                      "landing_page",
                      "portfolio",
                      "agency",
                      "product_suite"
                    ]
                  },
                  "siteTitle": {
                    "type": "string",
                    "description": "Public site title.",
                    "minLength": 1
                  },
                  "siteDescription": {
                    "type": "string",
                    "description": "Public site description."
                  },
                  "contactEmail": {
                    "type": "string",
                    "description": "Public contact email.",
                    "minLength": 1
                  },
                  "contactPhone": {
                    "type": "string",
                    "description": "Optional public contact phone number."
                  },
                  "navigation": {
                    "type": "array",
                    "description": "Primary site navigation.",
                    "items": {
                      "$ref": "#/$defs/navigationItem"
                    }
                  },
                  "footerNavigation": {
                    "type": "array",
                    "description": "Footer navigation.",
                    "items": {
                      "$ref": "#/$defs/navigationItem"
                    }
                  },
                  "menus": {
                    "type": "array",
                    "description": "Reusable custom menus.",
                    "items": {
                      "$ref": "#/$defs/navigationMenu"
                    }
                  },
                  "styleClasses": {
                    "type": "array",
                    "description": "Reusable section and item styles.",
                    "items": {
                      "$ref": "#/$defs/styleClass"
                    }
                  },
                  "theme": {
                    "$ref": "#/$defs/theme"
                  },
                  "document": {
                    "$ref": "#/$defs/siteDocument"
                  },
                  "collections": {
                    "type": "array",
                    "description": "Reusable CMS collections.",
                    "items": {
                      "$ref": "#/$defs/collection"
                    }
                  },
                  "codeSnippets": {
                    "type": "array",
                    "description": "Reviewed bounded code snippets.",
                    "items": {
                      "$ref": "#/$defs/codeSnippet"
                    }
                  },
                  "seo": {
                    "$ref": "#/$defs/seo"
                  }
                },
                "required": [
                  "intent",
                  "siteTitle",
                  "siteDescription",
                  "contactEmail",
                  "navigation",
                  "footerNavigation",
                  "menus",
                  "styleClasses",
                  "theme",
                  "document",
                  "collections",
                  "codeSnippets"
                ],
                "additionalProperties": false
              },
              "createSite": {
                "type": "object",
                "description": "Brief used to create a new TopoloWeb site.",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Internal and initial public site name.",
                    "minLength": 1
                  },
                  "intent": {
                    "type": "string",
                    "description": "The kind of website being created.",
                    "enum": [
                      "business_site",
                      "landing_page",
                      "portfolio",
                      "agency",
                      "product_suite"
                    ]
                  },
                  "businessType": {
                    "type": "string",
                    "description": "Business or project category.",
                    "minLength": 1
                  },
                  "audience": {
                    "type": "string",
                    "description": "Primary intended audience.",
                    "minLength": 1
                  },
                  "offer": {
                    "type": "string",
                    "description": "Primary product, service, or proposition.",
                    "minLength": 1
                  },
                  "tone": {
                    "type": "string",
                    "description": "Desired writing and visual tone.",
                    "minLength": 1
                  },
                  "location": {
                    "type": "string",
                    "description": "Optional geographic market."
                  },
                  "differentiators": {
                    "type": "array",
                    "description": "Specific differentiators to communicate.",
                    "items": {
                      "type": "string",
                      "description": "One differentiator."
                    }
                  },
                  "goals": {
                    "type": "array",
                    "description": "Desired user and business outcomes.",
                    "items": {
                      "type": "string",
                      "description": "One goal."
                    }
                  },
                  "prompt": {
                    "type": "string",
                    "description": "Additional generation direction."
                  }
                },
                "required": [
                  "name",
                  "businessType",
                  "audience",
                  "offer",
                  "tone"
                ],
                "additionalProperties": false
              },
              "qualityIssue": {
                "type": "object",
                "description": "One actionable launch-quality finding.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable issue code.",
                    "minLength": 1
                  },
                  "severity": {
                    "type": "string",
                    "description": "Issue severity.",
                    "enum": [
                      "info",
                      "warning",
                      "error"
                    ]
                  },
                  "title": {
                    "type": "string",
                    "description": "Short issue title.",
                    "minLength": 1
                  },
                  "detail": {
                    "type": "string",
                    "description": "Actionable remediation detail.",
                    "minLength": 1
                  }
                },
                "required": [
                  "id",
                  "severity",
                  "title",
                  "detail"
                ],
                "additionalProperties": false
              },
              "qualityReport": {
                "type": "object",
                "description": "Deterministic content and launch-quality report.",
                "properties": {
                  "generatedAt": {
                    "type": "string",
                    "description": "ISO-8601 generation timestamp.",
                    "format": "date-time"
                  },
                  "score": {
                    "type": "number",
                    "description": "Quality score from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "issues": {
                    "type": "array",
                    "description": "Actionable quality findings.",
                    "items": {
                      "$ref": "#/$defs/qualityIssue"
                    }
                  }
                },
                "required": [
                  "generatedAt",
                  "score",
                  "issues"
                ],
                "additionalProperties": false
              },
              "siteRecord": {
                "type": "object",
                "description": "One TopoloWeb site and its current editable content.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable site identifier.",
                    "minLength": 1
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "Owning Topolo organization identifier.",
                    "minLength": 1
                  },
                  "workspaceId": {
                    "type": "string",
                    "description": "Owning Topolo workspace identifier.",
                    "minLength": 1
                  },
                  "slug": {
                    "type": "string",
                    "description": "Platform hostname slug.",
                    "minLength": 1
                  },
                  "name": {
                    "type": "string",
                    "description": "Internal site name.",
                    "minLength": 1
                  },
                  "status": {
                    "type": "string",
                    "description": "Current lifecycle status.",
                    "enum": [
                      "draft",
                      "published",
                      "archived"
                    ]
                  },
                  "brief": {
                    "type": "object",
                    "description": "Generation brief retained for iterative edits.",
                    "additionalProperties": true
                  },
                  "draftContent": {
                    "$ref": "#/$defs/siteContent"
                  },
                  "currentVersionId": {
                    "type": "string",
                    "description": "Currently published immutable version identifier."
                  },
                  "draftPreviewToken": {
                    "type": "string",
                    "description": "Opaque token used by the draft preview URL.",
                    "minLength": 1
                  },
                  "createdAt": {
                    "type": "string",
                    "description": "ISO-8601 creation timestamp.",
                    "format": "date-time"
                  },
                  "updatedAt": {
                    "type": "string",
                    "description": "ISO-8601 last-update timestamp.",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "workspaceId",
                  "slug",
                  "name",
                  "status",
                  "brief",
                  "draftContent",
                  "draftPreviewToken",
                  "createdAt",
                  "updatedAt"
                ],
                "additionalProperties": false
              },
              "siteVersion": {
                "type": "object",
                "description": "One immutable published site version.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable version identifier.",
                    "minLength": 1
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "Owning Topolo organization identifier.",
                    "minLength": 1
                  },
                  "workspaceId": {
                    "type": "string",
                    "description": "Owning Topolo workspace identifier.",
                    "minLength": 1
                  },
                  "siteId": {
                    "type": "string",
                    "description": "Parent site identifier.",
                    "minLength": 1
                  },
                  "versionNumber": {
                    "type": "integer",
                    "description": "Monotonic site version number.",
                    "minimum": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable version label.",
                    "minLength": 1
                  },
                  "snapshot": {
                    "$ref": "#/$defs/siteContent"
                  },
                  "previewToken": {
                    "type": "string",
                    "description": "Opaque immutable-version preview token.",
                    "minLength": 1
                  },
                  "publishedAt": {
                    "type": "string",
                    "description": "ISO-8601 publication timestamp.",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "workspaceId",
                  "siteId",
                  "versionNumber",
                  "label",
                  "snapshot",
                  "previewToken",
                  "publishedAt"
                ],
                "additionalProperties": false
              },
              "siteDomain": {
                "type": "object",
                "description": "One platform or custom site domain.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable domain identifier.",
                    "minLength": 1
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "Owning Topolo organization identifier.",
                    "minLength": 1
                  },
                  "workspaceId": {
                    "type": "string",
                    "description": "Owning Topolo workspace identifier.",
                    "minLength": 1
                  },
                  "siteId": {
                    "type": "string",
                    "description": "Parent site identifier.",
                    "minLength": 1
                  },
                  "hostname": {
                    "type": "string",
                    "description": "Domain hostname without scheme.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Domain ownership kind.",
                    "enum": [
                      "platform",
                      "custom"
                    ]
                  },
                  "status": {
                    "type": "string",
                    "description": "DNS and TLS activation status.",
                    "enum": [
                      "pending_dns",
                      "pending_ssl",
                      "active",
                      "failed"
                    ]
                  },
                  "dnsTarget": {
                    "type": "string",
                    "description": "DNS target required for this domain.",
                    "minLength": 1
                  },
                  "verificationToken": {
                    "type": "string",
                    "description": "Opaque DNS ownership verification token.",
                    "minLength": 1
                  },
                  "isPrimary": {
                    "type": "boolean",
                    "description": "Whether this is the primary public hostname."
                  },
                  "createdAt": {
                    "type": "string",
                    "description": "ISO-8601 creation timestamp.",
                    "format": "date-time"
                  },
                  "updatedAt": {
                    "type": "string",
                    "description": "ISO-8601 last-update timestamp.",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "workspaceId",
                  "siteId",
                  "hostname",
                  "kind",
                  "status",
                  "dnsTarget",
                  "verificationToken",
                  "isPrimary",
                  "createdAt",
                  "updatedAt"
                ],
                "additionalProperties": false
              },
              "siteUrls": {
                "type": "object",
                "description": "Stable URLs used to preview and verify the site.",
                "properties": {
                  "previewUrl": {
                    "type": "string",
                    "description": "Authenticated draft-preview URL.",
                    "format": "uri"
                  },
                  "publicUrl": {
                    "type": "string",
                    "description": "Primary public site URL.",
                    "format": "uri"
                  }
                },
                "required": [
                  "previewUrl",
                  "publicUrl"
                ],
                "additionalProperties": false
              },
              "siteDetails": {
                "type": "object",
                "description": "Complete editable site state returned after a build.",
                "properties": {
                  "site": {
                    "$ref": "#/$defs/siteRecord"
                  },
                  "versions": {
                    "type": "array",
                    "description": "Published immutable versions, newest first.",
                    "items": {
                      "$ref": "#/$defs/siteVersion"
                    }
                  },
                  "domains": {
                    "type": "array",
                    "description": "Platform and custom domains.",
                    "items": {
                      "$ref": "#/$defs/siteDomain"
                    }
                  },
                  "assets": {
                    "type": "array",
                    "description": "Uploaded or linked site assets.",
                    "items": {
                      "type": "object",
                      "description": "One site asset record.",
                      "additionalProperties": true
                    }
                  },
                  "submissions": {
                    "type": "array",
                    "description": "Recent form submissions.",
                    "items": {
                      "type": "object",
                      "description": "One site form submission.",
                      "additionalProperties": true
                    }
                  },
                  "events": {
                    "type": "array",
                    "description": "Recent site lifecycle events.",
                    "items": {
                      "type": "object",
                      "description": "One site event.",
                      "additionalProperties": true
                    }
                  },
                  "insights": {
                    "type": "object",
                    "description": "Derived site activity counters.",
                    "additionalProperties": true
                  },
                  "qualityReport": {
                    "$ref": "#/$defs/qualityReport"
                  },
                  "agentSessions": {
                    "type": "array",
                    "description": "Agent editing sessions.",
                    "items": {
                      "type": "object",
                      "description": "One agent session summary.",
                      "additionalProperties": true
                    }
                  }
                },
                "required": [
                  "site",
                  "versions",
                  "domains",
                  "assets",
                  "submissions",
                  "events",
                  "insights",
                  "qualityReport",
                  "agentSessions"
                ],
                "additionalProperties": false
              }
            }
          },
          "target": "api",
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/studio/sites/capabilities",
              "body": null
            },
            "effects": "Reads state through GET /api/studio/sites/capabilities without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/studio/sites/capabilities",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.validate",
          "title": "Validate canonical site payload",
          "description": "Validate complete site content and return deterministic quality findings without persisting changes.",
          "permission": "studio:read",
          "method": "POST",
          "path": "/api/studio/sites/validate",
          "readOnly": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "title": "Validate TopoloWeb site",
            "type": "object",
            "description": "Validate a complete canonical site payload without persisting it.",
            "properties": {
              "site": {
                "$ref": "#/$defs/createSite"
              },
              "content": {
                "$ref": "#/$defs/siteContent"
              }
            },
            "required": [
              "site",
              "content"
            ],
            "additionalProperties": false,
            "$defs": {
              "jsonValue": {
                "description": "A JSON-compatible component property value.",
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "type": "array",
                    "items": {
                      "$ref": "#/$defs/jsonValue"
                    }
                  },
                  {
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/$defs/jsonValue"
                    }
                  }
                ]
              },
              "actionLink": {
                "type": "object",
                "description": "A rendered call-to-action link.",
                "properties": {
                  "label": {
                    "type": "string",
                    "description": "Visible link label.",
                    "minLength": 1
                  },
                  "href": {
                    "type": "string",
                    "description": "Root-relative path, anchor, mailto, tel, or HTTPS URL.",
                    "minLength": 1
                  },
                  "linkKind": {
                    "type": "string",
                    "description": "Whether the link targets a TopoloWeb page or a custom URL.",
                    "enum": [
                      "custom",
                      "page"
                    ]
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the link in a new browser tab."
                  }
                },
                "required": [
                  "label",
                  "href"
                ],
                "additionalProperties": false
              },
              "navigationItem": {
                "type": "object",
                "description": "One site navigation entry.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable navigation item identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Visible navigation label.",
                    "minLength": 1
                  },
                  "href": {
                    "type": "string",
                    "description": "Root-relative path, anchor, or external URL.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Navigation emphasis.",
                    "enum": [
                      "primary",
                      "secondary",
                      "cta"
                    ]
                  },
                  "parentId": {
                    "type": "string",
                    "description": "Optional parent item identifier for one-level menus."
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the link in a new browser tab."
                  }
                },
                "required": [
                  "id",
                  "label",
                  "href",
                  "kind"
                ],
                "additionalProperties": false
              },
              "navigationMenu": {
                "type": "object",
                "description": "A named reusable navigation menu.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable menu identifier.",
                    "minLength": 1
                  },
                  "name": {
                    "type": "string",
                    "description": "Human-readable menu name.",
                    "minLength": 1
                  },
                  "placement": {
                    "type": "string",
                    "description": "Custom menu placement marker.",
                    "const": "custom"
                  },
                  "items": {
                    "type": "array",
                    "description": "Ordered menu entries.",
                    "items": {
                      "$ref": "#/$defs/navigationItem"
                    }
                  }
                },
                "required": [
                  "id",
                  "name",
                  "placement",
                  "items"
                ],
                "additionalProperties": false
              },
              "pageStyleDefaultsBase": {
                "type": "object",
                "description": "Site-wide default layout and typography values.",
                "properties": {
                  "sectionPaddingTop": {
                    "type": "number",
                    "description": "Default section top padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingBottom": {
                    "type": "number",
                    "description": "Default section bottom padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingLeft": {
                    "type": "number",
                    "description": "Default section left padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingRight": {
                    "type": "number",
                    "description": "Default section right padding in pixels.",
                    "minimum": 0
                  },
                  "sectionMarginTop": {
                    "type": "number",
                    "description": "Default section top margin in pixels."
                  },
                  "sectionMarginBottom": {
                    "type": "number",
                    "description": "Default section bottom margin in pixels."
                  },
                  "sectionMarginLeft": {
                    "type": "number",
                    "description": "Default section left margin in pixels."
                  },
                  "sectionMarginRight": {
                    "type": "number",
                    "description": "Default section right margin in pixels."
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Default heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Default heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Default body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Default body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Default card padding in pixels.",
                    "minimum": 0
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Default layout gap in pixels.",
                    "minimum": 0
                  }
                },
                "additionalProperties": false
              },
              "pageStyleDefaults": {
                "type": "object",
                "description": "Desktop page defaults with optional viewport overrides.",
                "properties": {
                  "sectionPaddingTop": {
                    "type": "number",
                    "description": "Default section top padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingBottom": {
                    "type": "number",
                    "description": "Default section bottom padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingLeft": {
                    "type": "number",
                    "description": "Default section left padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingRight": {
                    "type": "number",
                    "description": "Default section right padding in pixels.",
                    "minimum": 0
                  },
                  "sectionMarginTop": {
                    "type": "number",
                    "description": "Default section top margin in pixels."
                  },
                  "sectionMarginBottom": {
                    "type": "number",
                    "description": "Default section bottom margin in pixels."
                  },
                  "sectionMarginLeft": {
                    "type": "number",
                    "description": "Default section left margin in pixels."
                  },
                  "sectionMarginRight": {
                    "type": "number",
                    "description": "Default section right margin in pixels."
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Default heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Default heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Default body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Default body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Default card padding in pixels.",
                    "minimum": 0
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Default layout gap in pixels.",
                    "minimum": 0
                  },
                  "responsive": {
                    "type": "object",
                    "description": "Viewport-specific page-default overrides.",
                    "propertyNames": {
                      "type": "string",
                      "description": "A non-desktop responsive override breakpoint.",
                      "enum": [
                        "4k",
                        "tablet",
                        "mobile"
                      ]
                    },
                    "additionalProperties": {
                      "$ref": "#/$defs/pageStyleDefaultsBase"
                    }
                  }
                },
                "additionalProperties": false
              },
              "theme": {
                "type": "object",
                "description": "Complete TopoloWeb theme and responsive page defaults.",
                "properties": {
                  "primary": {
                    "type": "string",
                    "description": "Primary brand color.",
                    "minLength": 1
                  },
                  "secondary": {
                    "type": "string",
                    "description": "Secondary brand color.",
                    "minLength": 1
                  },
                  "surface": {
                    "type": "string",
                    "description": "Primary surface color.",
                    "minLength": 1
                  },
                  "ink": {
                    "type": "string",
                    "description": "Primary text color.",
                    "minLength": 1
                  },
                  "muted": {
                    "type": "string",
                    "description": "Muted text color.",
                    "minLength": 1
                  },
                  "accent": {
                    "type": "string",
                    "description": "Accent color.",
                    "minLength": 1
                  },
                  "accentSoft": {
                    "type": "string",
                    "description": "Soft accent surface color.",
                    "minLength": 1
                  },
                  "glow": {
                    "type": "string",
                    "description": "Decorative glow color.",
                    "minLength": 1
                  },
                  "headingFont": {
                    "type": "string",
                    "description": "CSS heading font stack.",
                    "minLength": 1
                  },
                  "bodyFont": {
                    "type": "string",
                    "description": "CSS body font stack.",
                    "minLength": 1
                  },
                  "radius": {
                    "type": "string",
                    "description": "Default CSS corner radius.",
                    "minLength": 1
                  },
                  "brandLogoUrl": {
                    "type": "string",
                    "description": "HTTPS brand-logo URL."
                  },
                  "brandLogoAlt": {
                    "type": "string",
                    "description": "Accessible brand-logo description."
                  },
                  "brandLogoWidth": {
                    "type": "string",
                    "description": "CSS brand-logo width."
                  },
                  "brandLogoHeight": {
                    "type": "string",
                    "description": "CSS brand-logo height."
                  },
                  "pageDefaults": {
                    "$ref": "#/$defs/pageStyleDefaults"
                  },
                  "customCss": {
                    "type": "string",
                    "description": "Reviewed site-wide CSS loaded after generated styles."
                  }
                },
                "required": [
                  "primary",
                  "secondary",
                  "surface",
                  "ink",
                  "muted",
                  "accent",
                  "accentSoft",
                  "glow",
                  "headingFont",
                  "bodyFont",
                  "radius"
                ],
                "additionalProperties": false
              },
              "sectionStyleBase": {
                "type": "object",
                "description": "Desktop section style values.",
                "properties": {
                  "backgroundColor": {
                    "type": "string",
                    "description": "CSS background color."
                  },
                  "backgroundImageUrl": {
                    "type": "string",
                    "description": "HTTPS background image URL."
                  },
                  "backgroundMode": {
                    "type": "string",
                    "description": "Background image sizing mode.",
                    "enum": [
                      "cover",
                      "contain",
                      "stretch",
                      "tile"
                    ]
                  },
                  "backgroundPosition": {
                    "type": "string",
                    "description": "Background image position.",
                    "enum": [
                      "center",
                      "top",
                      "bottom",
                      "left",
                      "right",
                      "top left",
                      "top right",
                      "bottom left",
                      "bottom right"
                    ]
                  },
                  "textColor": {
                    "type": "string",
                    "description": "CSS foreground color."
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "imagePlacement": {
                    "type": "string",
                    "description": "Media placement relative to text.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "itemsPlacement": {
                    "type": "string",
                    "description": "Repeated items placement relative to section copy for supported compositions.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "paddingTop": {
                    "type": "number",
                    "description": "Top padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBottom": {
                    "type": "number",
                    "description": "Bottom padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom padding should stay linked."
                  },
                  "paddingLeft": {
                    "type": "number",
                    "description": "Left padding in pixels.",
                    "minimum": 0
                  },
                  "paddingRight": {
                    "type": "number",
                    "description": "Right padding in pixels.",
                    "minimum": 0
                  },
                  "paddingInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right padding should stay linked."
                  },
                  "marginTop": {
                    "type": "number",
                    "description": "Top margin in pixels."
                  },
                  "marginBottom": {
                    "type": "number",
                    "description": "Bottom margin in pixels."
                  },
                  "marginBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom margins should stay linked."
                  },
                  "marginLeft": {
                    "type": "number",
                    "description": "Left margin in pixels."
                  },
                  "marginRight": {
                    "type": "number",
                    "description": "Right margin in pixels."
                  },
                  "marginInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right margins should stay linked."
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Border line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "CSS border color."
                  },
                  "borderRadius": {
                    "type": "number",
                    "description": "Corner radius in pixels.",
                    "minimum": 0
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Heading font size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Body font size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Repeated-card padding in pixels.",
                    "minimum": 0
                  },
                  "columnCount": {
                    "type": "number",
                    "description": "Responsive column count.",
                    "enum": [
                      2,
                      3,
                      4
                    ]
                  },
                  "columnSpans": {
                    "type": "array",
                    "description": "Grid spans for explicit columns.",
                    "items": {
                      "type": "number",
                      "description": "One column span.",
                      "minimum": 1
                    }
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Gap between layout children in pixels.",
                    "minimum": 0
                  },
                  "nestedSectionPadding": {
                    "type": "number",
                    "description": "Padding around nested sections in pixels.",
                    "minimum": 0
                  },
                  "mediaAspectRatio": {
                    "type": "string",
                    "description": "Media aspect ratio.",
                    "enum": [
                      "16 / 9",
                      "4 / 3",
                      "1 / 1",
                      "9 / 16"
                    ]
                  },
                  "mediaFit": {
                    "type": "string",
                    "description": "Media object-fit behavior.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "mediaFocalX": {
                    "type": "number",
                    "description": "Horizontal focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "mediaFocalY": {
                    "type": "number",
                    "description": "Vertical focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerTop": {
                    "type": "boolean",
                    "description": "Whether a top divider is rendered."
                  },
                  "dividerBottom": {
                    "type": "boolean",
                    "description": "Whether a bottom divider is rendered."
                  },
                  "dividerThickness": {
                    "type": "number",
                    "description": "Divider thickness in pixels.",
                    "minimum": 0
                  },
                  "dividerWidth": {
                    "type": "number",
                    "description": "Divider width percentage.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerLineStyle": {
                    "type": "string",
                    "description": "Divider line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "customCss": {
                    "type": "string",
                    "description": "Reviewed CSS declarations scoped to this section."
                  }
                },
                "additionalProperties": false
              },
              "sectionStyle": {
                "type": "object",
                "description": "Section style values with optional responsive overrides.",
                "properties": {
                  "backgroundColor": {
                    "type": "string",
                    "description": "CSS background color."
                  },
                  "backgroundImageUrl": {
                    "type": "string",
                    "description": "HTTPS background image URL."
                  },
                  "backgroundMode": {
                    "type": "string",
                    "description": "Background image sizing mode.",
                    "enum": [
                      "cover",
                      "contain",
                      "stretch",
                      "tile"
                    ]
                  },
                  "backgroundPosition": {
                    "type": "string",
                    "description": "Background image position.",
                    "enum": [
                      "center",
                      "top",
                      "bottom",
                      "left",
                      "right",
                      "top left",
                      "top right",
                      "bottom left",
                      "bottom right"
                    ]
                  },
                  "textColor": {
                    "type": "string",
                    "description": "CSS foreground color."
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "imagePlacement": {
                    "type": "string",
                    "description": "Media placement relative to text.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "itemsPlacement": {
                    "type": "string",
                    "description": "Repeated items placement relative to section copy for supported compositions.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "paddingTop": {
                    "type": "number",
                    "description": "Top padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBottom": {
                    "type": "number",
                    "description": "Bottom padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom padding should stay linked."
                  },
                  "paddingLeft": {
                    "type": "number",
                    "description": "Left padding in pixels.",
                    "minimum": 0
                  },
                  "paddingRight": {
                    "type": "number",
                    "description": "Right padding in pixels.",
                    "minimum": 0
                  },
                  "paddingInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right padding should stay linked."
                  },
                  "marginTop": {
                    "type": "number",
                    "description": "Top margin in pixels."
                  },
                  "marginBottom": {
                    "type": "number",
                    "description": "Bottom margin in pixels."
                  },
                  "marginBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom margins should stay linked."
                  },
                  "marginLeft": {
                    "type": "number",
                    "description": "Left margin in pixels."
                  },
                  "marginRight": {
                    "type": "number",
                    "description": "Right margin in pixels."
                  },
                  "marginInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right margins should stay linked."
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Border line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "CSS border color."
                  },
                  "borderRadius": {
                    "type": "number",
                    "description": "Corner radius in pixels.",
                    "minimum": 0
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Heading font size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Body font size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Repeated-card padding in pixels.",
                    "minimum": 0
                  },
                  "columnCount": {
                    "type": "number",
                    "description": "Responsive column count.",
                    "enum": [
                      2,
                      3,
                      4
                    ]
                  },
                  "columnSpans": {
                    "type": "array",
                    "description": "Grid spans for explicit columns.",
                    "items": {
                      "type": "number",
                      "description": "One column span.",
                      "minimum": 1
                    }
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Gap between layout children in pixels.",
                    "minimum": 0
                  },
                  "nestedSectionPadding": {
                    "type": "number",
                    "description": "Padding around nested sections in pixels.",
                    "minimum": 0
                  },
                  "mediaAspectRatio": {
                    "type": "string",
                    "description": "Media aspect ratio.",
                    "enum": [
                      "16 / 9",
                      "4 / 3",
                      "1 / 1",
                      "9 / 16"
                    ]
                  },
                  "mediaFit": {
                    "type": "string",
                    "description": "Media object-fit behavior.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "mediaFocalX": {
                    "type": "number",
                    "description": "Horizontal focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "mediaFocalY": {
                    "type": "number",
                    "description": "Vertical focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerTop": {
                    "type": "boolean",
                    "description": "Whether a top divider is rendered."
                  },
                  "dividerBottom": {
                    "type": "boolean",
                    "description": "Whether a bottom divider is rendered."
                  },
                  "dividerThickness": {
                    "type": "number",
                    "description": "Divider thickness in pixels.",
                    "minimum": 0
                  },
                  "dividerWidth": {
                    "type": "number",
                    "description": "Divider width percentage.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerLineStyle": {
                    "type": "string",
                    "description": "Divider line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "customCss": {
                    "type": "string",
                    "description": "Reviewed CSS declarations scoped to this section."
                  },
                  "responsive": {
                    "type": "object",
                    "description": "Viewport-specific section-style overrides.",
                    "propertyNames": {
                      "type": "string",
                      "description": "A non-desktop responsive override breakpoint.",
                      "enum": [
                        "4k",
                        "tablet",
                        "mobile"
                      ]
                    },
                    "additionalProperties": {
                      "$ref": "#/$defs/sectionStyleBase"
                    }
                  }
                },
                "additionalProperties": false
              },
              "sectionItemStyleBase": {
                "type": "object",
                "description": "Desktop repeated-item style values.",
                "properties": {
                  "padding": {
                    "type": "number",
                    "description": "Item padding in pixels.",
                    "minimum": 0
                  },
                  "radius": {
                    "type": "number",
                    "description": "Item corner radius in pixels.",
                    "minimum": 0
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Item border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Item border style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "Item border color."
                  },
                  "imageFit": {
                    "type": "string",
                    "description": "Item image fit.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "imageFocalX": {
                    "type": "number",
                    "description": "Horizontal image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "imageFocalY": {
                    "type": "number",
                    "description": "Vertical image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "textPadding": {
                    "type": "number",
                    "description": "Text-panel padding in pixels.",
                    "minimum": 0
                  },
                  "textRadius": {
                    "type": "number",
                    "description": "Text-panel corner radius in pixels.",
                    "minimum": 0
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Item text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Item heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Item heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Item body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Item body line-height multiplier.",
                    "minimum": 0.5
                  }
                },
                "additionalProperties": false
              },
              "sectionItemStyle": {
                "type": "object",
                "description": "Repeated-item style values with optional responsive overrides.",
                "properties": {
                  "padding": {
                    "type": "number",
                    "description": "Item padding in pixels.",
                    "minimum": 0
                  },
                  "radius": {
                    "type": "number",
                    "description": "Item corner radius in pixels.",
                    "minimum": 0
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Item border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Item border style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "Item border color."
                  },
                  "imageFit": {
                    "type": "string",
                    "description": "Item image fit.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "imageFocalX": {
                    "type": "number",
                    "description": "Horizontal image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "imageFocalY": {
                    "type": "number",
                    "description": "Vertical image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "textPadding": {
                    "type": "number",
                    "description": "Text-panel padding in pixels.",
                    "minimum": 0
                  },
                  "textRadius": {
                    "type": "number",
                    "description": "Text-panel corner radius in pixels.",
                    "minimum": 0
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Item text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Item heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Item heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Item body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Item body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "responsive": {
                    "type": "object",
                    "description": "Viewport-specific item-style overrides.",
                    "propertyNames": {
                      "type": "string",
                      "description": "A non-desktop responsive override breakpoint.",
                      "enum": [
                        "4k",
                        "tablet",
                        "mobile"
                      ]
                    },
                    "additionalProperties": {
                      "$ref": "#/$defs/sectionItemStyleBase"
                    }
                  }
                },
                "additionalProperties": false
              },
              "sectionItem": {
                "type": "object",
                "description": "One repeated card, row, quote, metric, question, or media item.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable item identifier.",
                    "minLength": 1
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible item title."
                  },
                  "body": {
                    "type": "string",
                    "description": "Visible supporting copy."
                  },
                  "meta": {
                    "type": "string",
                    "description": "Optional metadata."
                  },
                  "value": {
                    "type": "string",
                    "description": "Optional value or price."
                  },
                  "badge": {
                    "type": "string",
                    "description": "Optional badge label."
                  },
                  "href": {
                    "type": "string",
                    "description": "Optional item link."
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the item link in a new tab."
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Optional item image URL."
                  },
                  "alt": {
                    "type": "string",
                    "description": "Accessible item-image description."
                  },
                  "style": {
                    "$ref": "#/$defs/sectionItemStyle"
                  },
                  "styleClassIds": {
                    "type": "array",
                    "description": "Reusable item style-class identifiers.",
                    "items": {
                      "type": "string",
                      "description": "One style-class identifier.",
                      "minLength": 1
                    }
                  }
                },
                "required": [
                  "id",
                  "title",
                  "body"
                ],
                "additionalProperties": false
              },
              "sectionValue": {
                "type": "object",
                "description": "Renderer-backed block content without persisted child arrays.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable section identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "eyebrow": {
                    "type": "string",
                    "description": "Optional eyebrow copy."
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible section heading."
                  },
                  "body": {
                    "type": "string",
                    "description": "Visible section body copy."
                  },
                  "kicker": {
                    "type": "string",
                    "description": "Optional supporting kicker."
                  },
                  "primaryAction": {
                    "$ref": "#/$defs/actionLink"
                  },
                  "secondaryAction": {
                    "$ref": "#/$defs/actionLink"
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Optional section image URL."
                  },
                  "alt": {
                    "type": "string",
                    "description": "Accessible section-image description."
                  },
                  "presentation": {
                    "type": "string",
                    "description": "A renderer-backed composition designed for the selected block type.",
                    "enum": [
                      "annotated",
                      "cards",
                      "columns",
                      "divided",
                      "editorial",
                      "manifesto",
                      "mosaic",
                      "poster",
                      "ruled",
                      "split",
                      "spotlight",
                      "tiers",
                      "timeline"
                    ]
                  },
                  "styleClassIds": {
                    "type": "array",
                    "description": "Reusable section style-class identifiers.",
                    "items": {
                      "type": "string",
                      "description": "One style-class identifier.",
                      "minLength": 1
                    }
                  },
                  "style": {
                    "$ref": "#/$defs/sectionStyle"
                  },
                  "formId": {
                    "type": "string",
                    "description": "Form identifier for a contact-form block."
                  },
                  "collectionSlug": {
                    "type": "string",
                    "description": "Collection slug bound to this block."
                  },
                  "collectionLimit": {
                    "type": "number",
                    "description": "Maximum collection entries rendered.",
                    "minimum": 1
                  },
                  "collectionSort": {
                    "type": "string",
                    "description": "Collection sorting behavior.",
                    "enum": [
                      "manual",
                      "title_asc",
                      "title_desc",
                      "meta_asc",
                      "meta_desc"
                    ]
                  },
                  "html": {
                    "type": "string",
                    "description": "Reviewed HTML for embed-capable blocks."
                  },
                  "videoUrl": {
                    "type": "string",
                    "description": "Direct, YouTube, or Vimeo video URL."
                  },
                  "videoProvider": {
                    "type": "string",
                    "description": "Video provider.",
                    "enum": [
                      "direct",
                      "youtube",
                      "vimeo"
                    ]
                  },
                  "videoPosterUrl": {
                    "type": "string",
                    "description": "Video poster image URL."
                  },
                  "videoAutoplay": {
                    "type": "boolean",
                    "description": "Autoplay video when allowed."
                  },
                  "videoControls": {
                    "type": "boolean",
                    "description": "Show native video controls."
                  },
                  "videoMuted": {
                    "type": "boolean",
                    "description": "Mute video playback."
                  },
                  "componentName": {
                    "type": "string",
                    "description": "Approved custom component name."
                  },
                  "componentProps": {
                    "type": "object",
                    "description": "Component-specific reviewed JSON properties.",
                    "additionalProperties": {
                      "$ref": "#/$defs/jsonValue"
                    }
                  },
                  "menuId": {
                    "type": "string",
                    "description": "Reusable menu identifier bound to a menu block."
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "title",
                  "body"
                ],
                "additionalProperties": false
              },
              "pageValue": {
                "type": "object",
                "description": "Persisted page metadata.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable page identifier.",
                    "minLength": 1
                  },
                  "slug": {
                    "type": "string",
                    "description": "Root-relative page slug beginning with /.",
                    "pattern": "^/"
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible page heading and title-template input.",
                    "minLength": 1
                  },
                  "description": {
                    "type": "string",
                    "description": "Page search and social description."
                  }
                },
                "required": [
                  "id",
                  "slug",
                  "title",
                  "description"
                ],
                "additionalProperties": false
              },
              "columnValue": {
                "type": "object",
                "description": "Persisted layout-column metadata.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable column identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Optional editor label."
                  },
                  "span": {
                    "type": "number",
                    "description": "Grid span.",
                    "minimum": 1
                  },
                  "style": {
                    "$ref": "#/$defs/sectionStyle"
                  }
                },
                "required": [
                  "id"
                ],
                "additionalProperties": false
              },
              "source": {
                "type": "object",
                "description": "Original product-domain identity for a document node.",
                "properties": {
                  "kind": {
                    "type": "string",
                    "description": "Source record kind.",
                    "enum": [
                      "page",
                      "section",
                      "column",
                      "item"
                    ]
                  },
                  "id": {
                    "type": "string",
                    "description": "Source record identifier.",
                    "minLength": 1
                  }
                },
                "required": [
                  "kind",
                  "id"
                ],
                "additionalProperties": false
              },
              "pageNode": {
                "type": "object",
                "description": "A canonical page node owning exactly one page-body slot.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "page"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Parent node identifier when nested."
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "value": {
                    "$ref": "#/$defs/pageValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Exactly one page-body slot.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "source",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "slotNode": {
                "type": "object",
                "description": "A canonical child slot controlling accepted node kinds.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "slot"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning page, layout, or block node identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "slotKind": {
                    "type": "string",
                    "description": "Child-slot role.",
                    "enum": [
                      "page-body",
                      "layout-column",
                      "block-items"
                    ]
                  },
                  "accepts": {
                    "type": "array",
                    "description": "Document node kinds allowed in this slot.",
                    "items": {
                      "type": "string",
                      "description": "One allowed node kind.",
                      "enum": [
                        "layout",
                        "block",
                        "item"
                      ]
                    }
                  },
                  "parentSectionId": {
                    "type": "string",
                    "description": "Owning section identifier for layout and block slots."
                  },
                  "columnId": {
                    "type": "string",
                    "description": "Column identifier for layout-column slots."
                  },
                  "value": {
                    "$ref": "#/$defs/columnValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Canonical child nodes.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "parentNodeId",
                  "source",
                  "slotKind",
                  "accepts",
                  "children"
                ],
                "additionalProperties": false
              },
              "layoutNode": {
                "type": "object",
                "description": "A canonical layout block owning one or more layout-column slots.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "layout"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning slot identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "layoutKind": {
                    "type": "string",
                    "description": "Layout behavior.",
                    "enum": [
                      "container",
                      "grid",
                      "stack",
                      "flex-row",
                      "columns"
                    ]
                  },
                  "sectionKind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "sectionId": {
                    "type": "string",
                    "description": "Persisted section identifier.",
                    "minLength": 1
                  },
                  "value": {
                    "$ref": "#/$defs/sectionValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Layout-column slots.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "source",
                  "layoutKind",
                  "sectionKind",
                  "sectionId",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "blockNode": {
                "type": "object",
                "description": "A canonical renderer block with optional block-items slot.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "block"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning slot identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "blockKind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "sectionKind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "sectionId": {
                    "type": "string",
                    "description": "Persisted section identifier.",
                    "minLength": 1
                  },
                  "value": {
                    "$ref": "#/$defs/sectionValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Optional block-items slot.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "source",
                  "blockKind",
                  "sectionKind",
                  "sectionId",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "itemNode": {
                "type": "object",
                "description": "A canonical repeated-item leaf node.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "item"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning block-items slot identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "parentSectionId": {
                    "type": "string",
                    "description": "Owning block section identifier.",
                    "minLength": 1
                  },
                  "itemId": {
                    "type": "string",
                    "description": "Persisted item identifier.",
                    "minLength": 1
                  },
                  "value": {
                    "$ref": "#/$defs/sectionItem"
                  },
                  "children": {
                    "type": "array",
                    "description": "Item nodes are leaves and must have no children.",
                    "maxItems": 0
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "parentNodeId",
                  "source",
                  "parentSectionId",
                  "itemId",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "siteDocumentNode": {
                "description": "One canonical TopoloWeb document node.",
                "oneOf": [
                  {
                    "$ref": "#/$defs/pageNode"
                  },
                  {
                    "$ref": "#/$defs/slotNode"
                  },
                  {
                    "$ref": "#/$defs/layoutNode"
                  },
                  {
                    "$ref": "#/$defs/blockNode"
                  },
                  {
                    "$ref": "#/$defs/itemNode"
                  }
                ]
              },
              "siteDocument": {
                "type": "object",
                "description": "Canonical versioned TopoloWeb document tree.",
                "properties": {
                  "version": {
                    "type": "integer",
                    "description": "Document schema version.",
                    "const": 1
                  },
                  "pages": {
                    "type": "array",
                    "description": "Canonical page nodes.",
                    "items": {
                      "$ref": "#/$defs/pageNode"
                    }
                  }
                },
                "required": [
                  "version",
                  "pages"
                ],
                "additionalProperties": false
              },
              "styleClass": {
                "description": "A reusable section or item style class.",
                "oneOf": [
                  {
                    "type": "object",
                    "description": "Reusable section style class.",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Stable style-class identifier.",
                        "minLength": 1
                      },
                      "name": {
                        "type": "string",
                        "description": "Human-readable class name.",
                        "minLength": 1
                      },
                      "targetKind": {
                        "type": "string",
                        "description": "The renderer-backed TopoloWeb block kind.",
                        "enum": [
                          "container",
                          "layout-grid",
                          "stack",
                          "flex-row",
                          "spacer",
                          "hero",
                          "feature-grid",
                          "story",
                          "proof",
                          "header",
                          "announcement",
                          "menu",
                          "columns",
                          "accordion",
                          "faq",
                          "cta",
                          "contact-form",
                          "image",
                          "gallery",
                          "video",
                          "logo-cloud",
                          "stats",
                          "testimonials",
                          "pricing",
                          "comparison-table",
                          "app-grid",
                          "article-list",
                          "legal",
                          "embed",
                          "custom-component",
                          "divider",
                          "footer"
                        ]
                      },
                      "targetScope": {
                        "type": "string",
                        "description": "Style-class target scope.",
                        "const": "section"
                      },
                      "style": {
                        "$ref": "#/$defs/sectionStyle"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "targetKind",
                      "targetScope",
                      "style"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "description": "Reusable repeated-item style class.",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Stable style-class identifier.",
                        "minLength": 1
                      },
                      "name": {
                        "type": "string",
                        "description": "Human-readable class name.",
                        "minLength": 1
                      },
                      "targetKind": {
                        "type": "string",
                        "description": "The renderer-backed TopoloWeb block kind.",
                        "enum": [
                          "container",
                          "layout-grid",
                          "stack",
                          "flex-row",
                          "spacer",
                          "hero",
                          "feature-grid",
                          "story",
                          "proof",
                          "header",
                          "announcement",
                          "menu",
                          "columns",
                          "accordion",
                          "faq",
                          "cta",
                          "contact-form",
                          "image",
                          "gallery",
                          "video",
                          "logo-cloud",
                          "stats",
                          "testimonials",
                          "pricing",
                          "comparison-table",
                          "app-grid",
                          "article-list",
                          "legal",
                          "embed",
                          "custom-component",
                          "divider",
                          "footer"
                        ]
                      },
                      "targetScope": {
                        "type": "string",
                        "description": "Style-class target scope.",
                        "const": "item"
                      },
                      "style": {
                        "$ref": "#/$defs/sectionItemStyle"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "targetKind",
                      "targetScope",
                      "style"
                    ],
                    "additionalProperties": false
                  }
                ]
              },
              "collectionItem": {
                "type": "object",
                "description": "One reusable CMS collection entry.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable collection-item identifier.",
                    "minLength": 1
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible item title.",
                    "minLength": 1
                  },
                  "body": {
                    "type": "string",
                    "description": "Visible item body."
                  },
                  "meta": {
                    "type": "string",
                    "description": "Optional metadata."
                  },
                  "value": {
                    "type": "string",
                    "description": "Optional price or value."
                  },
                  "badge": {
                    "type": "string",
                    "description": "Optional badge label."
                  },
                  "href": {
                    "type": "string",
                    "description": "Optional item link."
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the item link in a new tab."
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Optional item image URL."
                  },
                  "alt": {
                    "type": "string",
                    "description": "Accessible item-image description."
                  }
                },
                "required": [
                  "id",
                  "title",
                  "body"
                ],
                "additionalProperties": false
              },
              "collection": {
                "type": "object",
                "description": "Reusable CMS collection.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable collection identifier.",
                    "minLength": 1
                  },
                  "slug": {
                    "type": "string",
                    "description": "Stable collection slug.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Collection content kind.",
                    "enum": [
                      "apps",
                      "pricing",
                      "articles",
                      "changelog",
                      "legal",
                      "faq",
                      "custom"
                    ]
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable collection label.",
                    "minLength": 1
                  },
                  "items": {
                    "type": "array",
                    "description": "Ordered collection entries.",
                    "items": {
                      "$ref": "#/$defs/collectionItem"
                    }
                  }
                },
                "required": [
                  "id",
                  "slug",
                  "kind",
                  "label",
                  "items"
                ],
                "additionalProperties": false
              },
              "codeSnippet": {
                "type": "object",
                "description": "Reviewed bounded code injection.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable snippet identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable snippet label.",
                    "minLength": 1
                  },
                  "slot": {
                    "type": "string",
                    "description": "Injection slot.",
                    "enum": [
                      "head",
                      "body_start",
                      "body_end"
                    ]
                  },
                  "code": {
                    "type": "string",
                    "description": "Reviewed HTML, CSS, or JavaScript source."
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Whether this snippet is active."
                  }
                },
                "required": [
                  "id",
                  "label",
                  "slot",
                  "code",
                  "enabled"
                ],
                "additionalProperties": false
              },
              "seo": {
                "type": "object",
                "description": "Site-wide search and social metadata defaults.",
                "properties": {
                  "titleTemplate": {
                    "type": "string",
                    "description": "Title template; %s is replaced by the page title."
                  },
                  "metaTitle": {
                    "type": "string",
                    "description": "Default page title override."
                  },
                  "metaDescription": {
                    "type": "string",
                    "description": "Default search and social description."
                  },
                  "faviconUrl": {
                    "type": "string",
                    "description": "Browser and bookmark icon URL."
                  },
                  "openGraphImageUrl": {
                    "type": "string",
                    "description": "Default Open Graph image URL."
                  },
                  "canonicalUrl": {
                    "type": "string",
                    "description": "Canonical site URL."
                  }
                },
                "additionalProperties": false
              },
              "siteContent": {
                "type": "object",
                "description": "Complete canonical TopoloWeb site content.",
                "properties": {
                  "intent": {
                    "type": "string",
                    "description": "The kind of website being created.",
                    "enum": [
                      "business_site",
                      "landing_page",
                      "portfolio",
                      "agency",
                      "product_suite"
                    ]
                  },
                  "siteTitle": {
                    "type": "string",
                    "description": "Public site title.",
                    "minLength": 1
                  },
                  "siteDescription": {
                    "type": "string",
                    "description": "Public site description."
                  },
                  "contactEmail": {
                    "type": "string",
                    "description": "Public contact email.",
                    "minLength": 1
                  },
                  "contactPhone": {
                    "type": "string",
                    "description": "Optional public contact phone number."
                  },
                  "navigation": {
                    "type": "array",
                    "description": "Primary site navigation.",
                    "items": {
                      "$ref": "#/$defs/navigationItem"
                    }
                  },
                  "footerNavigation": {
                    "type": "array",
                    "description": "Footer navigation.",
                    "items": {
                      "$ref": "#/$defs/navigationItem"
                    }
                  },
                  "menus": {
                    "type": "array",
                    "description": "Reusable custom menus.",
                    "items": {
                      "$ref": "#/$defs/navigationMenu"
                    }
                  },
                  "styleClasses": {
                    "type": "array",
                    "description": "Reusable section and item styles.",
                    "items": {
                      "$ref": "#/$defs/styleClass"
                    }
                  },
                  "theme": {
                    "$ref": "#/$defs/theme"
                  },
                  "document": {
                    "$ref": "#/$defs/siteDocument"
                  },
                  "collections": {
                    "type": "array",
                    "description": "Reusable CMS collections.",
                    "items": {
                      "$ref": "#/$defs/collection"
                    }
                  },
                  "codeSnippets": {
                    "type": "array",
                    "description": "Reviewed bounded code snippets.",
                    "items": {
                      "$ref": "#/$defs/codeSnippet"
                    }
                  },
                  "seo": {
                    "$ref": "#/$defs/seo"
                  }
                },
                "required": [
                  "intent",
                  "siteTitle",
                  "siteDescription",
                  "contactEmail",
                  "navigation",
                  "footerNavigation",
                  "menus",
                  "styleClasses",
                  "theme",
                  "document",
                  "collections",
                  "codeSnippets"
                ],
                "additionalProperties": false
              },
              "createSite": {
                "type": "object",
                "description": "Brief used to create a new TopoloWeb site.",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Internal and initial public site name.",
                    "minLength": 1
                  },
                  "intent": {
                    "type": "string",
                    "description": "The kind of website being created.",
                    "enum": [
                      "business_site",
                      "landing_page",
                      "portfolio",
                      "agency",
                      "product_suite"
                    ]
                  },
                  "businessType": {
                    "type": "string",
                    "description": "Business or project category.",
                    "minLength": 1
                  },
                  "audience": {
                    "type": "string",
                    "description": "Primary intended audience.",
                    "minLength": 1
                  },
                  "offer": {
                    "type": "string",
                    "description": "Primary product, service, or proposition.",
                    "minLength": 1
                  },
                  "tone": {
                    "type": "string",
                    "description": "Desired writing and visual tone.",
                    "minLength": 1
                  },
                  "location": {
                    "type": "string",
                    "description": "Optional geographic market."
                  },
                  "differentiators": {
                    "type": "array",
                    "description": "Specific differentiators to communicate.",
                    "items": {
                      "type": "string",
                      "description": "One differentiator."
                    }
                  },
                  "goals": {
                    "type": "array",
                    "description": "Desired user and business outcomes.",
                    "items": {
                      "type": "string",
                      "description": "One goal."
                    }
                  },
                  "prompt": {
                    "type": "string",
                    "description": "Additional generation direction."
                  }
                },
                "required": [
                  "name",
                  "businessType",
                  "audience",
                  "offer",
                  "tone"
                ],
                "additionalProperties": false
              },
              "qualityIssue": {
                "type": "object",
                "description": "One actionable launch-quality finding.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable issue code.",
                    "minLength": 1
                  },
                  "severity": {
                    "type": "string",
                    "description": "Issue severity.",
                    "enum": [
                      "info",
                      "warning",
                      "error"
                    ]
                  },
                  "title": {
                    "type": "string",
                    "description": "Short issue title.",
                    "minLength": 1
                  },
                  "detail": {
                    "type": "string",
                    "description": "Actionable remediation detail.",
                    "minLength": 1
                  }
                },
                "required": [
                  "id",
                  "severity",
                  "title",
                  "detail"
                ],
                "additionalProperties": false
              },
              "qualityReport": {
                "type": "object",
                "description": "Deterministic content and launch-quality report.",
                "properties": {
                  "generatedAt": {
                    "type": "string",
                    "description": "ISO-8601 generation timestamp.",
                    "format": "date-time"
                  },
                  "score": {
                    "type": "number",
                    "description": "Quality score from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "issues": {
                    "type": "array",
                    "description": "Actionable quality findings.",
                    "items": {
                      "$ref": "#/$defs/qualityIssue"
                    }
                  }
                },
                "required": [
                  "generatedAt",
                  "score",
                  "issues"
                ],
                "additionalProperties": false
              },
              "siteRecord": {
                "type": "object",
                "description": "One TopoloWeb site and its current editable content.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable site identifier.",
                    "minLength": 1
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "Owning Topolo organization identifier.",
                    "minLength": 1
                  },
                  "workspaceId": {
                    "type": "string",
                    "description": "Owning Topolo workspace identifier.",
                    "minLength": 1
                  },
                  "slug": {
                    "type": "string",
                    "description": "Platform hostname slug.",
                    "minLength": 1
                  },
                  "name": {
                    "type": "string",
                    "description": "Internal site name.",
                    "minLength": 1
                  },
                  "status": {
                    "type": "string",
                    "description": "Current lifecycle status.",
                    "enum": [
                      "draft",
                      "published",
                      "archived"
                    ]
                  },
                  "brief": {
                    "type": "object",
                    "description": "Generation brief retained for iterative edits.",
                    "additionalProperties": true
                  },
                  "draftContent": {
                    "$ref": "#/$defs/siteContent"
                  },
                  "currentVersionId": {
                    "type": "string",
                    "description": "Currently published immutable version identifier."
                  },
                  "draftPreviewToken": {
                    "type": "string",
                    "description": "Opaque token used by the draft preview URL.",
                    "minLength": 1
                  },
                  "createdAt": {
                    "type": "string",
                    "description": "ISO-8601 creation timestamp.",
                    "format": "date-time"
                  },
                  "updatedAt": {
                    "type": "string",
                    "description": "ISO-8601 last-update timestamp.",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "workspaceId",
                  "slug",
                  "name",
                  "status",
                  "brief",
                  "draftContent",
                  "draftPreviewToken",
                  "createdAt",
                  "updatedAt"
                ],
                "additionalProperties": false
              },
              "siteVersion": {
                "type": "object",
                "description": "One immutable published site version.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable version identifier.",
                    "minLength": 1
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "Owning Topolo organization identifier.",
                    "minLength": 1
                  },
                  "workspaceId": {
                    "type": "string",
                    "description": "Owning Topolo workspace identifier.",
                    "minLength": 1
                  },
                  "siteId": {
                    "type": "string",
                    "description": "Parent site identifier.",
                    "minLength": 1
                  },
                  "versionNumber": {
                    "type": "integer",
                    "description": "Monotonic site version number.",
                    "minimum": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable version label.",
                    "minLength": 1
                  },
                  "snapshot": {
                    "$ref": "#/$defs/siteContent"
                  },
                  "previewToken": {
                    "type": "string",
                    "description": "Opaque immutable-version preview token.",
                    "minLength": 1
                  },
                  "publishedAt": {
                    "type": "string",
                    "description": "ISO-8601 publication timestamp.",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "workspaceId",
                  "siteId",
                  "versionNumber",
                  "label",
                  "snapshot",
                  "previewToken",
                  "publishedAt"
                ],
                "additionalProperties": false
              },
              "siteDomain": {
                "type": "object",
                "description": "One platform or custom site domain.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable domain identifier.",
                    "minLength": 1
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "Owning Topolo organization identifier.",
                    "minLength": 1
                  },
                  "workspaceId": {
                    "type": "string",
                    "description": "Owning Topolo workspace identifier.",
                    "minLength": 1
                  },
                  "siteId": {
                    "type": "string",
                    "description": "Parent site identifier.",
                    "minLength": 1
                  },
                  "hostname": {
                    "type": "string",
                    "description": "Domain hostname without scheme.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Domain ownership kind.",
                    "enum": [
                      "platform",
                      "custom"
                    ]
                  },
                  "status": {
                    "type": "string",
                    "description": "DNS and TLS activation status.",
                    "enum": [
                      "pending_dns",
                      "pending_ssl",
                      "active",
                      "failed"
                    ]
                  },
                  "dnsTarget": {
                    "type": "string",
                    "description": "DNS target required for this domain.",
                    "minLength": 1
                  },
                  "verificationToken": {
                    "type": "string",
                    "description": "Opaque DNS ownership verification token.",
                    "minLength": 1
                  },
                  "isPrimary": {
                    "type": "boolean",
                    "description": "Whether this is the primary public hostname."
                  },
                  "createdAt": {
                    "type": "string",
                    "description": "ISO-8601 creation timestamp.",
                    "format": "date-time"
                  },
                  "updatedAt": {
                    "type": "string",
                    "description": "ISO-8601 last-update timestamp.",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "workspaceId",
                  "siteId",
                  "hostname",
                  "kind",
                  "status",
                  "dnsTarget",
                  "verificationToken",
                  "isPrimary",
                  "createdAt",
                  "updatedAt"
                ],
                "additionalProperties": false
              },
              "siteUrls": {
                "type": "object",
                "description": "Stable URLs used to preview and verify the site.",
                "properties": {
                  "previewUrl": {
                    "type": "string",
                    "description": "Authenticated draft-preview URL.",
                    "format": "uri"
                  },
                  "publicUrl": {
                    "type": "string",
                    "description": "Primary public site URL.",
                    "format": "uri"
                  }
                },
                "required": [
                  "previewUrl",
                  "publicUrl"
                ],
                "additionalProperties": false
              },
              "siteDetails": {
                "type": "object",
                "description": "Complete editable site state returned after a build.",
                "properties": {
                  "site": {
                    "$ref": "#/$defs/siteRecord"
                  },
                  "versions": {
                    "type": "array",
                    "description": "Published immutable versions, newest first.",
                    "items": {
                      "$ref": "#/$defs/siteVersion"
                    }
                  },
                  "domains": {
                    "type": "array",
                    "description": "Platform and custom domains.",
                    "items": {
                      "$ref": "#/$defs/siteDomain"
                    }
                  },
                  "assets": {
                    "type": "array",
                    "description": "Uploaded or linked site assets.",
                    "items": {
                      "type": "object",
                      "description": "One site asset record.",
                      "additionalProperties": true
                    }
                  },
                  "submissions": {
                    "type": "array",
                    "description": "Recent form submissions.",
                    "items": {
                      "type": "object",
                      "description": "One site form submission.",
                      "additionalProperties": true
                    }
                  },
                  "events": {
                    "type": "array",
                    "description": "Recent site lifecycle events.",
                    "items": {
                      "type": "object",
                      "description": "One site event.",
                      "additionalProperties": true
                    }
                  },
                  "insights": {
                    "type": "object",
                    "description": "Derived site activity counters.",
                    "additionalProperties": true
                  },
                  "qualityReport": {
                    "$ref": "#/$defs/qualityReport"
                  },
                  "agentSessions": {
                    "type": "array",
                    "description": "Agent editing sessions.",
                    "items": {
                      "type": "object",
                      "description": "One agent session summary.",
                      "additionalProperties": true
                    }
                  }
                },
                "required": [
                  "site",
                  "versions",
                  "domains",
                  "assets",
                  "submissions",
                  "events",
                  "insights",
                  "qualityReport",
                  "agentSessions"
                ],
                "additionalProperties": false
              }
            }
          },
          "outputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "description": "Non-persisting TopoloWeb validation result.",
            "properties": {
              "valid": {
                "type": "boolean",
                "description": "Whether the payload is structurally valid and has no blocking quality issues."
              },
              "qualityReport": {
                "$ref": "#/$defs/qualityReport"
              }
            },
            "required": [
              "valid",
              "qualityReport"
            ],
            "additionalProperties": false,
            "$defs": {
              "jsonValue": {
                "description": "A JSON-compatible component property value.",
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "type": "array",
                    "items": {
                      "$ref": "#/$defs/jsonValue"
                    }
                  },
                  {
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/$defs/jsonValue"
                    }
                  }
                ]
              },
              "actionLink": {
                "type": "object",
                "description": "A rendered call-to-action link.",
                "properties": {
                  "label": {
                    "type": "string",
                    "description": "Visible link label.",
                    "minLength": 1
                  },
                  "href": {
                    "type": "string",
                    "description": "Root-relative path, anchor, mailto, tel, or HTTPS URL.",
                    "minLength": 1
                  },
                  "linkKind": {
                    "type": "string",
                    "description": "Whether the link targets a TopoloWeb page or a custom URL.",
                    "enum": [
                      "custom",
                      "page"
                    ]
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the link in a new browser tab."
                  }
                },
                "required": [
                  "label",
                  "href"
                ],
                "additionalProperties": false
              },
              "navigationItem": {
                "type": "object",
                "description": "One site navigation entry.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable navigation item identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Visible navigation label.",
                    "minLength": 1
                  },
                  "href": {
                    "type": "string",
                    "description": "Root-relative path, anchor, or external URL.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Navigation emphasis.",
                    "enum": [
                      "primary",
                      "secondary",
                      "cta"
                    ]
                  },
                  "parentId": {
                    "type": "string",
                    "description": "Optional parent item identifier for one-level menus."
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the link in a new browser tab."
                  }
                },
                "required": [
                  "id",
                  "label",
                  "href",
                  "kind"
                ],
                "additionalProperties": false
              },
              "navigationMenu": {
                "type": "object",
                "description": "A named reusable navigation menu.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable menu identifier.",
                    "minLength": 1
                  },
                  "name": {
                    "type": "string",
                    "description": "Human-readable menu name.",
                    "minLength": 1
                  },
                  "placement": {
                    "type": "string",
                    "description": "Custom menu placement marker.",
                    "const": "custom"
                  },
                  "items": {
                    "type": "array",
                    "description": "Ordered menu entries.",
                    "items": {
                      "$ref": "#/$defs/navigationItem"
                    }
                  }
                },
                "required": [
                  "id",
                  "name",
                  "placement",
                  "items"
                ],
                "additionalProperties": false
              },
              "pageStyleDefaultsBase": {
                "type": "object",
                "description": "Site-wide default layout and typography values.",
                "properties": {
                  "sectionPaddingTop": {
                    "type": "number",
                    "description": "Default section top padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingBottom": {
                    "type": "number",
                    "description": "Default section bottom padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingLeft": {
                    "type": "number",
                    "description": "Default section left padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingRight": {
                    "type": "number",
                    "description": "Default section right padding in pixels.",
                    "minimum": 0
                  },
                  "sectionMarginTop": {
                    "type": "number",
                    "description": "Default section top margin in pixels."
                  },
                  "sectionMarginBottom": {
                    "type": "number",
                    "description": "Default section bottom margin in pixels."
                  },
                  "sectionMarginLeft": {
                    "type": "number",
                    "description": "Default section left margin in pixels."
                  },
                  "sectionMarginRight": {
                    "type": "number",
                    "description": "Default section right margin in pixels."
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Default heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Default heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Default body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Default body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Default card padding in pixels.",
                    "minimum": 0
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Default layout gap in pixels.",
                    "minimum": 0
                  }
                },
                "additionalProperties": false
              },
              "pageStyleDefaults": {
                "type": "object",
                "description": "Desktop page defaults with optional viewport overrides.",
                "properties": {
                  "sectionPaddingTop": {
                    "type": "number",
                    "description": "Default section top padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingBottom": {
                    "type": "number",
                    "description": "Default section bottom padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingLeft": {
                    "type": "number",
                    "description": "Default section left padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingRight": {
                    "type": "number",
                    "description": "Default section right padding in pixels.",
                    "minimum": 0
                  },
                  "sectionMarginTop": {
                    "type": "number",
                    "description": "Default section top margin in pixels."
                  },
                  "sectionMarginBottom": {
                    "type": "number",
                    "description": "Default section bottom margin in pixels."
                  },
                  "sectionMarginLeft": {
                    "type": "number",
                    "description": "Default section left margin in pixels."
                  },
                  "sectionMarginRight": {
                    "type": "number",
                    "description": "Default section right margin in pixels."
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Default heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Default heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Default body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Default body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Default card padding in pixels.",
                    "minimum": 0
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Default layout gap in pixels.",
                    "minimum": 0
                  },
                  "responsive": {
                    "type": "object",
                    "description": "Viewport-specific page-default overrides.",
                    "propertyNames": {
                      "type": "string",
                      "description": "A non-desktop responsive override breakpoint.",
                      "enum": [
                        "4k",
                        "tablet",
                        "mobile"
                      ]
                    },
                    "additionalProperties": {
                      "$ref": "#/$defs/pageStyleDefaultsBase"
                    }
                  }
                },
                "additionalProperties": false
              },
              "theme": {
                "type": "object",
                "description": "Complete TopoloWeb theme and responsive page defaults.",
                "properties": {
                  "primary": {
                    "type": "string",
                    "description": "Primary brand color.",
                    "minLength": 1
                  },
                  "secondary": {
                    "type": "string",
                    "description": "Secondary brand color.",
                    "minLength": 1
                  },
                  "surface": {
                    "type": "string",
                    "description": "Primary surface color.",
                    "minLength": 1
                  },
                  "ink": {
                    "type": "string",
                    "description": "Primary text color.",
                    "minLength": 1
                  },
                  "muted": {
                    "type": "string",
                    "description": "Muted text color.",
                    "minLength": 1
                  },
                  "accent": {
                    "type": "string",
                    "description": "Accent color.",
                    "minLength": 1
                  },
                  "accentSoft": {
                    "type": "string",
                    "description": "Soft accent surface color.",
                    "minLength": 1
                  },
                  "glow": {
                    "type": "string",
                    "description": "Decorative glow color.",
                    "minLength": 1
                  },
                  "headingFont": {
                    "type": "string",
                    "description": "CSS heading font stack.",
                    "minLength": 1
                  },
                  "bodyFont": {
                    "type": "string",
                    "description": "CSS body font stack.",
                    "minLength": 1
                  },
                  "radius": {
                    "type": "string",
                    "description": "Default CSS corner radius.",
                    "minLength": 1
                  },
                  "brandLogoUrl": {
                    "type": "string",
                    "description": "HTTPS brand-logo URL."
                  },
                  "brandLogoAlt": {
                    "type": "string",
                    "description": "Accessible brand-logo description."
                  },
                  "brandLogoWidth": {
                    "type": "string",
                    "description": "CSS brand-logo width."
                  },
                  "brandLogoHeight": {
                    "type": "string",
                    "description": "CSS brand-logo height."
                  },
                  "pageDefaults": {
                    "$ref": "#/$defs/pageStyleDefaults"
                  },
                  "customCss": {
                    "type": "string",
                    "description": "Reviewed site-wide CSS loaded after generated styles."
                  }
                },
                "required": [
                  "primary",
                  "secondary",
                  "surface",
                  "ink",
                  "muted",
                  "accent",
                  "accentSoft",
                  "glow",
                  "headingFont",
                  "bodyFont",
                  "radius"
                ],
                "additionalProperties": false
              },
              "sectionStyleBase": {
                "type": "object",
                "description": "Desktop section style values.",
                "properties": {
                  "backgroundColor": {
                    "type": "string",
                    "description": "CSS background color."
                  },
                  "backgroundImageUrl": {
                    "type": "string",
                    "description": "HTTPS background image URL."
                  },
                  "backgroundMode": {
                    "type": "string",
                    "description": "Background image sizing mode.",
                    "enum": [
                      "cover",
                      "contain",
                      "stretch",
                      "tile"
                    ]
                  },
                  "backgroundPosition": {
                    "type": "string",
                    "description": "Background image position.",
                    "enum": [
                      "center",
                      "top",
                      "bottom",
                      "left",
                      "right",
                      "top left",
                      "top right",
                      "bottom left",
                      "bottom right"
                    ]
                  },
                  "textColor": {
                    "type": "string",
                    "description": "CSS foreground color."
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "imagePlacement": {
                    "type": "string",
                    "description": "Media placement relative to text.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "itemsPlacement": {
                    "type": "string",
                    "description": "Repeated items placement relative to section copy for supported compositions.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "paddingTop": {
                    "type": "number",
                    "description": "Top padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBottom": {
                    "type": "number",
                    "description": "Bottom padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom padding should stay linked."
                  },
                  "paddingLeft": {
                    "type": "number",
                    "description": "Left padding in pixels.",
                    "minimum": 0
                  },
                  "paddingRight": {
                    "type": "number",
                    "description": "Right padding in pixels.",
                    "minimum": 0
                  },
                  "paddingInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right padding should stay linked."
                  },
                  "marginTop": {
                    "type": "number",
                    "description": "Top margin in pixels."
                  },
                  "marginBottom": {
                    "type": "number",
                    "description": "Bottom margin in pixels."
                  },
                  "marginBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom margins should stay linked."
                  },
                  "marginLeft": {
                    "type": "number",
                    "description": "Left margin in pixels."
                  },
                  "marginRight": {
                    "type": "number",
                    "description": "Right margin in pixels."
                  },
                  "marginInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right margins should stay linked."
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Border line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "CSS border color."
                  },
                  "borderRadius": {
                    "type": "number",
                    "description": "Corner radius in pixels.",
                    "minimum": 0
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Heading font size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Body font size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Repeated-card padding in pixels.",
                    "minimum": 0
                  },
                  "columnCount": {
                    "type": "number",
                    "description": "Responsive column count.",
                    "enum": [
                      2,
                      3,
                      4
                    ]
                  },
                  "columnSpans": {
                    "type": "array",
                    "description": "Grid spans for explicit columns.",
                    "items": {
                      "type": "number",
                      "description": "One column span.",
                      "minimum": 1
                    }
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Gap between layout children in pixels.",
                    "minimum": 0
                  },
                  "nestedSectionPadding": {
                    "type": "number",
                    "description": "Padding around nested sections in pixels.",
                    "minimum": 0
                  },
                  "mediaAspectRatio": {
                    "type": "string",
                    "description": "Media aspect ratio.",
                    "enum": [
                      "16 / 9",
                      "4 / 3",
                      "1 / 1",
                      "9 / 16"
                    ]
                  },
                  "mediaFit": {
                    "type": "string",
                    "description": "Media object-fit behavior.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "mediaFocalX": {
                    "type": "number",
                    "description": "Horizontal focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "mediaFocalY": {
                    "type": "number",
                    "description": "Vertical focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerTop": {
                    "type": "boolean",
                    "description": "Whether a top divider is rendered."
                  },
                  "dividerBottom": {
                    "type": "boolean",
                    "description": "Whether a bottom divider is rendered."
                  },
                  "dividerThickness": {
                    "type": "number",
                    "description": "Divider thickness in pixels.",
                    "minimum": 0
                  },
                  "dividerWidth": {
                    "type": "number",
                    "description": "Divider width percentage.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerLineStyle": {
                    "type": "string",
                    "description": "Divider line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "customCss": {
                    "type": "string",
                    "description": "Reviewed CSS declarations scoped to this section."
                  }
                },
                "additionalProperties": false
              },
              "sectionStyle": {
                "type": "object",
                "description": "Section style values with optional responsive overrides.",
                "properties": {
                  "backgroundColor": {
                    "type": "string",
                    "description": "CSS background color."
                  },
                  "backgroundImageUrl": {
                    "type": "string",
                    "description": "HTTPS background image URL."
                  },
                  "backgroundMode": {
                    "type": "string",
                    "description": "Background image sizing mode.",
                    "enum": [
                      "cover",
                      "contain",
                      "stretch",
                      "tile"
                    ]
                  },
                  "backgroundPosition": {
                    "type": "string",
                    "description": "Background image position.",
                    "enum": [
                      "center",
                      "top",
                      "bottom",
                      "left",
                      "right",
                      "top left",
                      "top right",
                      "bottom left",
                      "bottom right"
                    ]
                  },
                  "textColor": {
                    "type": "string",
                    "description": "CSS foreground color."
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "imagePlacement": {
                    "type": "string",
                    "description": "Media placement relative to text.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "itemsPlacement": {
                    "type": "string",
                    "description": "Repeated items placement relative to section copy for supported compositions.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "paddingTop": {
                    "type": "number",
                    "description": "Top padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBottom": {
                    "type": "number",
                    "description": "Bottom padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom padding should stay linked."
                  },
                  "paddingLeft": {
                    "type": "number",
                    "description": "Left padding in pixels.",
                    "minimum": 0
                  },
                  "paddingRight": {
                    "type": "number",
                    "description": "Right padding in pixels.",
                    "minimum": 0
                  },
                  "paddingInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right padding should stay linked."
                  },
                  "marginTop": {
                    "type": "number",
                    "description": "Top margin in pixels."
                  },
                  "marginBottom": {
                    "type": "number",
                    "description": "Bottom margin in pixels."
                  },
                  "marginBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom margins should stay linked."
                  },
                  "marginLeft": {
                    "type": "number",
                    "description": "Left margin in pixels."
                  },
                  "marginRight": {
                    "type": "number",
                    "description": "Right margin in pixels."
                  },
                  "marginInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right margins should stay linked."
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Border line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "CSS border color."
                  },
                  "borderRadius": {
                    "type": "number",
                    "description": "Corner radius in pixels.",
                    "minimum": 0
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Heading font size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Body font size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Repeated-card padding in pixels.",
                    "minimum": 0
                  },
                  "columnCount": {
                    "type": "number",
                    "description": "Responsive column count.",
                    "enum": [
                      2,
                      3,
                      4
                    ]
                  },
                  "columnSpans": {
                    "type": "array",
                    "description": "Grid spans for explicit columns.",
                    "items": {
                      "type": "number",
                      "description": "One column span.",
                      "minimum": 1
                    }
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Gap between layout children in pixels.",
                    "minimum": 0
                  },
                  "nestedSectionPadding": {
                    "type": "number",
                    "description": "Padding around nested sections in pixels.",
                    "minimum": 0
                  },
                  "mediaAspectRatio": {
                    "type": "string",
                    "description": "Media aspect ratio.",
                    "enum": [
                      "16 / 9",
                      "4 / 3",
                      "1 / 1",
                      "9 / 16"
                    ]
                  },
                  "mediaFit": {
                    "type": "string",
                    "description": "Media object-fit behavior.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "mediaFocalX": {
                    "type": "number",
                    "description": "Horizontal focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "mediaFocalY": {
                    "type": "number",
                    "description": "Vertical focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerTop": {
                    "type": "boolean",
                    "description": "Whether a top divider is rendered."
                  },
                  "dividerBottom": {
                    "type": "boolean",
                    "description": "Whether a bottom divider is rendered."
                  },
                  "dividerThickness": {
                    "type": "number",
                    "description": "Divider thickness in pixels.",
                    "minimum": 0
                  },
                  "dividerWidth": {
                    "type": "number",
                    "description": "Divider width percentage.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerLineStyle": {
                    "type": "string",
                    "description": "Divider line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "customCss": {
                    "type": "string",
                    "description": "Reviewed CSS declarations scoped to this section."
                  },
                  "responsive": {
                    "type": "object",
                    "description": "Viewport-specific section-style overrides.",
                    "propertyNames": {
                      "type": "string",
                      "description": "A non-desktop responsive override breakpoint.",
                      "enum": [
                        "4k",
                        "tablet",
                        "mobile"
                      ]
                    },
                    "additionalProperties": {
                      "$ref": "#/$defs/sectionStyleBase"
                    }
                  }
                },
                "additionalProperties": false
              },
              "sectionItemStyleBase": {
                "type": "object",
                "description": "Desktop repeated-item style values.",
                "properties": {
                  "padding": {
                    "type": "number",
                    "description": "Item padding in pixels.",
                    "minimum": 0
                  },
                  "radius": {
                    "type": "number",
                    "description": "Item corner radius in pixels.",
                    "minimum": 0
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Item border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Item border style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "Item border color."
                  },
                  "imageFit": {
                    "type": "string",
                    "description": "Item image fit.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "imageFocalX": {
                    "type": "number",
                    "description": "Horizontal image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "imageFocalY": {
                    "type": "number",
                    "description": "Vertical image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "textPadding": {
                    "type": "number",
                    "description": "Text-panel padding in pixels.",
                    "minimum": 0
                  },
                  "textRadius": {
                    "type": "number",
                    "description": "Text-panel corner radius in pixels.",
                    "minimum": 0
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Item text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Item heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Item heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Item body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Item body line-height multiplier.",
                    "minimum": 0.5
                  }
                },
                "additionalProperties": false
              },
              "sectionItemStyle": {
                "type": "object",
                "description": "Repeated-item style values with optional responsive overrides.",
                "properties": {
                  "padding": {
                    "type": "number",
                    "description": "Item padding in pixels.",
                    "minimum": 0
                  },
                  "radius": {
                    "type": "number",
                    "description": "Item corner radius in pixels.",
                    "minimum": 0
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Item border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Item border style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "Item border color."
                  },
                  "imageFit": {
                    "type": "string",
                    "description": "Item image fit.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "imageFocalX": {
                    "type": "number",
                    "description": "Horizontal image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "imageFocalY": {
                    "type": "number",
                    "description": "Vertical image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "textPadding": {
                    "type": "number",
                    "description": "Text-panel padding in pixels.",
                    "minimum": 0
                  },
                  "textRadius": {
                    "type": "number",
                    "description": "Text-panel corner radius in pixels.",
                    "minimum": 0
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Item text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Item heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Item heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Item body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Item body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "responsive": {
                    "type": "object",
                    "description": "Viewport-specific item-style overrides.",
                    "propertyNames": {
                      "type": "string",
                      "description": "A non-desktop responsive override breakpoint.",
                      "enum": [
                        "4k",
                        "tablet",
                        "mobile"
                      ]
                    },
                    "additionalProperties": {
                      "$ref": "#/$defs/sectionItemStyleBase"
                    }
                  }
                },
                "additionalProperties": false
              },
              "sectionItem": {
                "type": "object",
                "description": "One repeated card, row, quote, metric, question, or media item.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable item identifier.",
                    "minLength": 1
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible item title."
                  },
                  "body": {
                    "type": "string",
                    "description": "Visible supporting copy."
                  },
                  "meta": {
                    "type": "string",
                    "description": "Optional metadata."
                  },
                  "value": {
                    "type": "string",
                    "description": "Optional value or price."
                  },
                  "badge": {
                    "type": "string",
                    "description": "Optional badge label."
                  },
                  "href": {
                    "type": "string",
                    "description": "Optional item link."
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the item link in a new tab."
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Optional item image URL."
                  },
                  "alt": {
                    "type": "string",
                    "description": "Accessible item-image description."
                  },
                  "style": {
                    "$ref": "#/$defs/sectionItemStyle"
                  },
                  "styleClassIds": {
                    "type": "array",
                    "description": "Reusable item style-class identifiers.",
                    "items": {
                      "type": "string",
                      "description": "One style-class identifier.",
                      "minLength": 1
                    }
                  }
                },
                "required": [
                  "id",
                  "title",
                  "body"
                ],
                "additionalProperties": false
              },
              "sectionValue": {
                "type": "object",
                "description": "Renderer-backed block content without persisted child arrays.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable section identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "eyebrow": {
                    "type": "string",
                    "description": "Optional eyebrow copy."
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible section heading."
                  },
                  "body": {
                    "type": "string",
                    "description": "Visible section body copy."
                  },
                  "kicker": {
                    "type": "string",
                    "description": "Optional supporting kicker."
                  },
                  "primaryAction": {
                    "$ref": "#/$defs/actionLink"
                  },
                  "secondaryAction": {
                    "$ref": "#/$defs/actionLink"
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Optional section image URL."
                  },
                  "alt": {
                    "type": "string",
                    "description": "Accessible section-image description."
                  },
                  "presentation": {
                    "type": "string",
                    "description": "A renderer-backed composition designed for the selected block type.",
                    "enum": [
                      "annotated",
                      "cards",
                      "columns",
                      "divided",
                      "editorial",
                      "manifesto",
                      "mosaic",
                      "poster",
                      "ruled",
                      "split",
                      "spotlight",
                      "tiers",
                      "timeline"
                    ]
                  },
                  "styleClassIds": {
                    "type": "array",
                    "description": "Reusable section style-class identifiers.",
                    "items": {
                      "type": "string",
                      "description": "One style-class identifier.",
                      "minLength": 1
                    }
                  },
                  "style": {
                    "$ref": "#/$defs/sectionStyle"
                  },
                  "formId": {
                    "type": "string",
                    "description": "Form identifier for a contact-form block."
                  },
                  "collectionSlug": {
                    "type": "string",
                    "description": "Collection slug bound to this block."
                  },
                  "collectionLimit": {
                    "type": "number",
                    "description": "Maximum collection entries rendered.",
                    "minimum": 1
                  },
                  "collectionSort": {
                    "type": "string",
                    "description": "Collection sorting behavior.",
                    "enum": [
                      "manual",
                      "title_asc",
                      "title_desc",
                      "meta_asc",
                      "meta_desc"
                    ]
                  },
                  "html": {
                    "type": "string",
                    "description": "Reviewed HTML for embed-capable blocks."
                  },
                  "videoUrl": {
                    "type": "string",
                    "description": "Direct, YouTube, or Vimeo video URL."
                  },
                  "videoProvider": {
                    "type": "string",
                    "description": "Video provider.",
                    "enum": [
                      "direct",
                      "youtube",
                      "vimeo"
                    ]
                  },
                  "videoPosterUrl": {
                    "type": "string",
                    "description": "Video poster image URL."
                  },
                  "videoAutoplay": {
                    "type": "boolean",
                    "description": "Autoplay video when allowed."
                  },
                  "videoControls": {
                    "type": "boolean",
                    "description": "Show native video controls."
                  },
                  "videoMuted": {
                    "type": "boolean",
                    "description": "Mute video playback."
                  },
                  "componentName": {
                    "type": "string",
                    "description": "Approved custom component name."
                  },
                  "componentProps": {
                    "type": "object",
                    "description": "Component-specific reviewed JSON properties.",
                    "additionalProperties": {
                      "$ref": "#/$defs/jsonValue"
                    }
                  },
                  "menuId": {
                    "type": "string",
                    "description": "Reusable menu identifier bound to a menu block."
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "title",
                  "body"
                ],
                "additionalProperties": false
              },
              "pageValue": {
                "type": "object",
                "description": "Persisted page metadata.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable page identifier.",
                    "minLength": 1
                  },
                  "slug": {
                    "type": "string",
                    "description": "Root-relative page slug beginning with /.",
                    "pattern": "^/"
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible page heading and title-template input.",
                    "minLength": 1
                  },
                  "description": {
                    "type": "string",
                    "description": "Page search and social description."
                  }
                },
                "required": [
                  "id",
                  "slug",
                  "title",
                  "description"
                ],
                "additionalProperties": false
              },
              "columnValue": {
                "type": "object",
                "description": "Persisted layout-column metadata.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable column identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Optional editor label."
                  },
                  "span": {
                    "type": "number",
                    "description": "Grid span.",
                    "minimum": 1
                  },
                  "style": {
                    "$ref": "#/$defs/sectionStyle"
                  }
                },
                "required": [
                  "id"
                ],
                "additionalProperties": false
              },
              "source": {
                "type": "object",
                "description": "Original product-domain identity for a document node.",
                "properties": {
                  "kind": {
                    "type": "string",
                    "description": "Source record kind.",
                    "enum": [
                      "page",
                      "section",
                      "column",
                      "item"
                    ]
                  },
                  "id": {
                    "type": "string",
                    "description": "Source record identifier.",
                    "minLength": 1
                  }
                },
                "required": [
                  "kind",
                  "id"
                ],
                "additionalProperties": false
              },
              "pageNode": {
                "type": "object",
                "description": "A canonical page node owning exactly one page-body slot.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "page"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Parent node identifier when nested."
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "value": {
                    "$ref": "#/$defs/pageValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Exactly one page-body slot.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "source",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "slotNode": {
                "type": "object",
                "description": "A canonical child slot controlling accepted node kinds.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "slot"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning page, layout, or block node identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "slotKind": {
                    "type": "string",
                    "description": "Child-slot role.",
                    "enum": [
                      "page-body",
                      "layout-column",
                      "block-items"
                    ]
                  },
                  "accepts": {
                    "type": "array",
                    "description": "Document node kinds allowed in this slot.",
                    "items": {
                      "type": "string",
                      "description": "One allowed node kind.",
                      "enum": [
                        "layout",
                        "block",
                        "item"
                      ]
                    }
                  },
                  "parentSectionId": {
                    "type": "string",
                    "description": "Owning section identifier for layout and block slots."
                  },
                  "columnId": {
                    "type": "string",
                    "description": "Column identifier for layout-column slots."
                  },
                  "value": {
                    "$ref": "#/$defs/columnValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Canonical child nodes.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "parentNodeId",
                  "source",
                  "slotKind",
                  "accepts",
                  "children"
                ],
                "additionalProperties": false
              },
              "layoutNode": {
                "type": "object",
                "description": "A canonical layout block owning one or more layout-column slots.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "layout"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning slot identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "layoutKind": {
                    "type": "string",
                    "description": "Layout behavior.",
                    "enum": [
                      "container",
                      "grid",
                      "stack",
                      "flex-row",
                      "columns"
                    ]
                  },
                  "sectionKind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "sectionId": {
                    "type": "string",
                    "description": "Persisted section identifier.",
                    "minLength": 1
                  },
                  "value": {
                    "$ref": "#/$defs/sectionValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Layout-column slots.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "source",
                  "layoutKind",
                  "sectionKind",
                  "sectionId",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "blockNode": {
                "type": "object",
                "description": "A canonical renderer block with optional block-items slot.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "block"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning slot identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "blockKind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "sectionKind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "sectionId": {
                    "type": "string",
                    "description": "Persisted section identifier.",
                    "minLength": 1
                  },
                  "value": {
                    "$ref": "#/$defs/sectionValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Optional block-items slot.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "source",
                  "blockKind",
                  "sectionKind",
                  "sectionId",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "itemNode": {
                "type": "object",
                "description": "A canonical repeated-item leaf node.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "item"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning block-items slot identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "parentSectionId": {
                    "type": "string",
                    "description": "Owning block section identifier.",
                    "minLength": 1
                  },
                  "itemId": {
                    "type": "string",
                    "description": "Persisted item identifier.",
                    "minLength": 1
                  },
                  "value": {
                    "$ref": "#/$defs/sectionItem"
                  },
                  "children": {
                    "type": "array",
                    "description": "Item nodes are leaves and must have no children.",
                    "maxItems": 0
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "parentNodeId",
                  "source",
                  "parentSectionId",
                  "itemId",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "siteDocumentNode": {
                "description": "One canonical TopoloWeb document node.",
                "oneOf": [
                  {
                    "$ref": "#/$defs/pageNode"
                  },
                  {
                    "$ref": "#/$defs/slotNode"
                  },
                  {
                    "$ref": "#/$defs/layoutNode"
                  },
                  {
                    "$ref": "#/$defs/blockNode"
                  },
                  {
                    "$ref": "#/$defs/itemNode"
                  }
                ]
              },
              "siteDocument": {
                "type": "object",
                "description": "Canonical versioned TopoloWeb document tree.",
                "properties": {
                  "version": {
                    "type": "integer",
                    "description": "Document schema version.",
                    "const": 1
                  },
                  "pages": {
                    "type": "array",
                    "description": "Canonical page nodes.",
                    "items": {
                      "$ref": "#/$defs/pageNode"
                    }
                  }
                },
                "required": [
                  "version",
                  "pages"
                ],
                "additionalProperties": false
              },
              "styleClass": {
                "description": "A reusable section or item style class.",
                "oneOf": [
                  {
                    "type": "object",
                    "description": "Reusable section style class.",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Stable style-class identifier.",
                        "minLength": 1
                      },
                      "name": {
                        "type": "string",
                        "description": "Human-readable class name.",
                        "minLength": 1
                      },
                      "targetKind": {
                        "type": "string",
                        "description": "The renderer-backed TopoloWeb block kind.",
                        "enum": [
                          "container",
                          "layout-grid",
                          "stack",
                          "flex-row",
                          "spacer",
                          "hero",
                          "feature-grid",
                          "story",
                          "proof",
                          "header",
                          "announcement",
                          "menu",
                          "columns",
                          "accordion",
                          "faq",
                          "cta",
                          "contact-form",
                          "image",
                          "gallery",
                          "video",
                          "logo-cloud",
                          "stats",
                          "testimonials",
                          "pricing",
                          "comparison-table",
                          "app-grid",
                          "article-list",
                          "legal",
                          "embed",
                          "custom-component",
                          "divider",
                          "footer"
                        ]
                      },
                      "targetScope": {
                        "type": "string",
                        "description": "Style-class target scope.",
                        "const": "section"
                      },
                      "style": {
                        "$ref": "#/$defs/sectionStyle"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "targetKind",
                      "targetScope",
                      "style"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "description": "Reusable repeated-item style class.",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Stable style-class identifier.",
                        "minLength": 1
                      },
                      "name": {
                        "type": "string",
                        "description": "Human-readable class name.",
                        "minLength": 1
                      },
                      "targetKind": {
                        "type": "string",
                        "description": "The renderer-backed TopoloWeb block kind.",
                        "enum": [
                          "container",
                          "layout-grid",
                          "stack",
                          "flex-row",
                          "spacer",
                          "hero",
                          "feature-grid",
                          "story",
                          "proof",
                          "header",
                          "announcement",
                          "menu",
                          "columns",
                          "accordion",
                          "faq",
                          "cta",
                          "contact-form",
                          "image",
                          "gallery",
                          "video",
                          "logo-cloud",
                          "stats",
                          "testimonials",
                          "pricing",
                          "comparison-table",
                          "app-grid",
                          "article-list",
                          "legal",
                          "embed",
                          "custom-component",
                          "divider",
                          "footer"
                        ]
                      },
                      "targetScope": {
                        "type": "string",
                        "description": "Style-class target scope.",
                        "const": "item"
                      },
                      "style": {
                        "$ref": "#/$defs/sectionItemStyle"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "targetKind",
                      "targetScope",
                      "style"
                    ],
                    "additionalProperties": false
                  }
                ]
              },
              "collectionItem": {
                "type": "object",
                "description": "One reusable CMS collection entry.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable collection-item identifier.",
                    "minLength": 1
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible item title.",
                    "minLength": 1
                  },
                  "body": {
                    "type": "string",
                    "description": "Visible item body."
                  },
                  "meta": {
                    "type": "string",
                    "description": "Optional metadata."
                  },
                  "value": {
                    "type": "string",
                    "description": "Optional price or value."
                  },
                  "badge": {
                    "type": "string",
                    "description": "Optional badge label."
                  },
                  "href": {
                    "type": "string",
                    "description": "Optional item link."
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the item link in a new tab."
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Optional item image URL."
                  },
                  "alt": {
                    "type": "string",
                    "description": "Accessible item-image description."
                  }
                },
                "required": [
                  "id",
                  "title",
                  "body"
                ],
                "additionalProperties": false
              },
              "collection": {
                "type": "object",
                "description": "Reusable CMS collection.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable collection identifier.",
                    "minLength": 1
                  },
                  "slug": {
                    "type": "string",
                    "description": "Stable collection slug.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Collection content kind.",
                    "enum": [
                      "apps",
                      "pricing",
                      "articles",
                      "changelog",
                      "legal",
                      "faq",
                      "custom"
                    ]
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable collection label.",
                    "minLength": 1
                  },
                  "items": {
                    "type": "array",
                    "description": "Ordered collection entries.",
                    "items": {
                      "$ref": "#/$defs/collectionItem"
                    }
                  }
                },
                "required": [
                  "id",
                  "slug",
                  "kind",
                  "label",
                  "items"
                ],
                "additionalProperties": false
              },
              "codeSnippet": {
                "type": "object",
                "description": "Reviewed bounded code injection.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable snippet identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable snippet label.",
                    "minLength": 1
                  },
                  "slot": {
                    "type": "string",
                    "description": "Injection slot.",
                    "enum": [
                      "head",
                      "body_start",
                      "body_end"
                    ]
                  },
                  "code": {
                    "type": "string",
                    "description": "Reviewed HTML, CSS, or JavaScript source."
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Whether this snippet is active."
                  }
                },
                "required": [
                  "id",
                  "label",
                  "slot",
                  "code",
                  "enabled"
                ],
                "additionalProperties": false
              },
              "seo": {
                "type": "object",
                "description": "Site-wide search and social metadata defaults.",
                "properties": {
                  "titleTemplate": {
                    "type": "string",
                    "description": "Title template; %s is replaced by the page title."
                  },
                  "metaTitle": {
                    "type": "string",
                    "description": "Default page title override."
                  },
                  "metaDescription": {
                    "type": "string",
                    "description": "Default search and social description."
                  },
                  "faviconUrl": {
                    "type": "string",
                    "description": "Browser and bookmark icon URL."
                  },
                  "openGraphImageUrl": {
                    "type": "string",
                    "description": "Default Open Graph image URL."
                  },
                  "canonicalUrl": {
                    "type": "string",
                    "description": "Canonical site URL."
                  }
                },
                "additionalProperties": false
              },
              "siteContent": {
                "type": "object",
                "description": "Complete canonical TopoloWeb site content.",
                "properties": {
                  "intent": {
                    "type": "string",
                    "description": "The kind of website being created.",
                    "enum": [
                      "business_site",
                      "landing_page",
                      "portfolio",
                      "agency",
                      "product_suite"
                    ]
                  },
                  "siteTitle": {
                    "type": "string",
                    "description": "Public site title.",
                    "minLength": 1
                  },
                  "siteDescription": {
                    "type": "string",
                    "description": "Public site description."
                  },
                  "contactEmail": {
                    "type": "string",
                    "description": "Public contact email.",
                    "minLength": 1
                  },
                  "contactPhone": {
                    "type": "string",
                    "description": "Optional public contact phone number."
                  },
                  "navigation": {
                    "type": "array",
                    "description": "Primary site navigation.",
                    "items": {
                      "$ref": "#/$defs/navigationItem"
                    }
                  },
                  "footerNavigation": {
                    "type": "array",
                    "description": "Footer navigation.",
                    "items": {
                      "$ref": "#/$defs/navigationItem"
                    }
                  },
                  "menus": {
                    "type": "array",
                    "description": "Reusable custom menus.",
                    "items": {
                      "$ref": "#/$defs/navigationMenu"
                    }
                  },
                  "styleClasses": {
                    "type": "array",
                    "description": "Reusable section and item styles.",
                    "items": {
                      "$ref": "#/$defs/styleClass"
                    }
                  },
                  "theme": {
                    "$ref": "#/$defs/theme"
                  },
                  "document": {
                    "$ref": "#/$defs/siteDocument"
                  },
                  "collections": {
                    "type": "array",
                    "description": "Reusable CMS collections.",
                    "items": {
                      "$ref": "#/$defs/collection"
                    }
                  },
                  "codeSnippets": {
                    "type": "array",
                    "description": "Reviewed bounded code snippets.",
                    "items": {
                      "$ref": "#/$defs/codeSnippet"
                    }
                  },
                  "seo": {
                    "$ref": "#/$defs/seo"
                  }
                },
                "required": [
                  "intent",
                  "siteTitle",
                  "siteDescription",
                  "contactEmail",
                  "navigation",
                  "footerNavigation",
                  "menus",
                  "styleClasses",
                  "theme",
                  "document",
                  "collections",
                  "codeSnippets"
                ],
                "additionalProperties": false
              },
              "createSite": {
                "type": "object",
                "description": "Brief used to create a new TopoloWeb site.",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Internal and initial public site name.",
                    "minLength": 1
                  },
                  "intent": {
                    "type": "string",
                    "description": "The kind of website being created.",
                    "enum": [
                      "business_site",
                      "landing_page",
                      "portfolio",
                      "agency",
                      "product_suite"
                    ]
                  },
                  "businessType": {
                    "type": "string",
                    "description": "Business or project category.",
                    "minLength": 1
                  },
                  "audience": {
                    "type": "string",
                    "description": "Primary intended audience.",
                    "minLength": 1
                  },
                  "offer": {
                    "type": "string",
                    "description": "Primary product, service, or proposition.",
                    "minLength": 1
                  },
                  "tone": {
                    "type": "string",
                    "description": "Desired writing and visual tone.",
                    "minLength": 1
                  },
                  "location": {
                    "type": "string",
                    "description": "Optional geographic market."
                  },
                  "differentiators": {
                    "type": "array",
                    "description": "Specific differentiators to communicate.",
                    "items": {
                      "type": "string",
                      "description": "One differentiator."
                    }
                  },
                  "goals": {
                    "type": "array",
                    "description": "Desired user and business outcomes.",
                    "items": {
                      "type": "string",
                      "description": "One goal."
                    }
                  },
                  "prompt": {
                    "type": "string",
                    "description": "Additional generation direction."
                  }
                },
                "required": [
                  "name",
                  "businessType",
                  "audience",
                  "offer",
                  "tone"
                ],
                "additionalProperties": false
              },
              "qualityIssue": {
                "type": "object",
                "description": "One actionable launch-quality finding.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable issue code.",
                    "minLength": 1
                  },
                  "severity": {
                    "type": "string",
                    "description": "Issue severity.",
                    "enum": [
                      "info",
                      "warning",
                      "error"
                    ]
                  },
                  "title": {
                    "type": "string",
                    "description": "Short issue title.",
                    "minLength": 1
                  },
                  "detail": {
                    "type": "string",
                    "description": "Actionable remediation detail.",
                    "minLength": 1
                  }
                },
                "required": [
                  "id",
                  "severity",
                  "title",
                  "detail"
                ],
                "additionalProperties": false
              },
              "qualityReport": {
                "type": "object",
                "description": "Deterministic content and launch-quality report.",
                "properties": {
                  "generatedAt": {
                    "type": "string",
                    "description": "ISO-8601 generation timestamp.",
                    "format": "date-time"
                  },
                  "score": {
                    "type": "number",
                    "description": "Quality score from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "issues": {
                    "type": "array",
                    "description": "Actionable quality findings.",
                    "items": {
                      "$ref": "#/$defs/qualityIssue"
                    }
                  }
                },
                "required": [
                  "generatedAt",
                  "score",
                  "issues"
                ],
                "additionalProperties": false
              },
              "siteRecord": {
                "type": "object",
                "description": "One TopoloWeb site and its current editable content.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable site identifier.",
                    "minLength": 1
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "Owning Topolo organization identifier.",
                    "minLength": 1
                  },
                  "workspaceId": {
                    "type": "string",
                    "description": "Owning Topolo workspace identifier.",
                    "minLength": 1
                  },
                  "slug": {
                    "type": "string",
                    "description": "Platform hostname slug.",
                    "minLength": 1
                  },
                  "name": {
                    "type": "string",
                    "description": "Internal site name.",
                    "minLength": 1
                  },
                  "status": {
                    "type": "string",
                    "description": "Current lifecycle status.",
                    "enum": [
                      "draft",
                      "published",
                      "archived"
                    ]
                  },
                  "brief": {
                    "type": "object",
                    "description": "Generation brief retained for iterative edits.",
                    "additionalProperties": true
                  },
                  "draftContent": {
                    "$ref": "#/$defs/siteContent"
                  },
                  "currentVersionId": {
                    "type": "string",
                    "description": "Currently published immutable version identifier."
                  },
                  "draftPreviewToken": {
                    "type": "string",
                    "description": "Opaque token used by the draft preview URL.",
                    "minLength": 1
                  },
                  "createdAt": {
                    "type": "string",
                    "description": "ISO-8601 creation timestamp.",
                    "format": "date-time"
                  },
                  "updatedAt": {
                    "type": "string",
                    "description": "ISO-8601 last-update timestamp.",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "workspaceId",
                  "slug",
                  "name",
                  "status",
                  "brief",
                  "draftContent",
                  "draftPreviewToken",
                  "createdAt",
                  "updatedAt"
                ],
                "additionalProperties": false
              },
              "siteVersion": {
                "type": "object",
                "description": "One immutable published site version.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable version identifier.",
                    "minLength": 1
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "Owning Topolo organization identifier.",
                    "minLength": 1
                  },
                  "workspaceId": {
                    "type": "string",
                    "description": "Owning Topolo workspace identifier.",
                    "minLength": 1
                  },
                  "siteId": {
                    "type": "string",
                    "description": "Parent site identifier.",
                    "minLength": 1
                  },
                  "versionNumber": {
                    "type": "integer",
                    "description": "Monotonic site version number.",
                    "minimum": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable version label.",
                    "minLength": 1
                  },
                  "snapshot": {
                    "$ref": "#/$defs/siteContent"
                  },
                  "previewToken": {
                    "type": "string",
                    "description": "Opaque immutable-version preview token.",
                    "minLength": 1
                  },
                  "publishedAt": {
                    "type": "string",
                    "description": "ISO-8601 publication timestamp.",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "workspaceId",
                  "siteId",
                  "versionNumber",
                  "label",
                  "snapshot",
                  "previewToken",
                  "publishedAt"
                ],
                "additionalProperties": false
              },
              "siteDomain": {
                "type": "object",
                "description": "One platform or custom site domain.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable domain identifier.",
                    "minLength": 1
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "Owning Topolo organization identifier.",
                    "minLength": 1
                  },
                  "workspaceId": {
                    "type": "string",
                    "description": "Owning Topolo workspace identifier.",
                    "minLength": 1
                  },
                  "siteId": {
                    "type": "string",
                    "description": "Parent site identifier.",
                    "minLength": 1
                  },
                  "hostname": {
                    "type": "string",
                    "description": "Domain hostname without scheme.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Domain ownership kind.",
                    "enum": [
                      "platform",
                      "custom"
                    ]
                  },
                  "status": {
                    "type": "string",
                    "description": "DNS and TLS activation status.",
                    "enum": [
                      "pending_dns",
                      "pending_ssl",
                      "active",
                      "failed"
                    ]
                  },
                  "dnsTarget": {
                    "type": "string",
                    "description": "DNS target required for this domain.",
                    "minLength": 1
                  },
                  "verificationToken": {
                    "type": "string",
                    "description": "Opaque DNS ownership verification token.",
                    "minLength": 1
                  },
                  "isPrimary": {
                    "type": "boolean",
                    "description": "Whether this is the primary public hostname."
                  },
                  "createdAt": {
                    "type": "string",
                    "description": "ISO-8601 creation timestamp.",
                    "format": "date-time"
                  },
                  "updatedAt": {
                    "type": "string",
                    "description": "ISO-8601 last-update timestamp.",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "workspaceId",
                  "siteId",
                  "hostname",
                  "kind",
                  "status",
                  "dnsTarget",
                  "verificationToken",
                  "isPrimary",
                  "createdAt",
                  "updatedAt"
                ],
                "additionalProperties": false
              },
              "siteUrls": {
                "type": "object",
                "description": "Stable URLs used to preview and verify the site.",
                "properties": {
                  "previewUrl": {
                    "type": "string",
                    "description": "Authenticated draft-preview URL.",
                    "format": "uri"
                  },
                  "publicUrl": {
                    "type": "string",
                    "description": "Primary public site URL.",
                    "format": "uri"
                  }
                },
                "required": [
                  "previewUrl",
                  "publicUrl"
                ],
                "additionalProperties": false
              },
              "siteDetails": {
                "type": "object",
                "description": "Complete editable site state returned after a build.",
                "properties": {
                  "site": {
                    "$ref": "#/$defs/siteRecord"
                  },
                  "versions": {
                    "type": "array",
                    "description": "Published immutable versions, newest first.",
                    "items": {
                      "$ref": "#/$defs/siteVersion"
                    }
                  },
                  "domains": {
                    "type": "array",
                    "description": "Platform and custom domains.",
                    "items": {
                      "$ref": "#/$defs/siteDomain"
                    }
                  },
                  "assets": {
                    "type": "array",
                    "description": "Uploaded or linked site assets.",
                    "items": {
                      "type": "object",
                      "description": "One site asset record.",
                      "additionalProperties": true
                    }
                  },
                  "submissions": {
                    "type": "array",
                    "description": "Recent form submissions.",
                    "items": {
                      "type": "object",
                      "description": "One site form submission.",
                      "additionalProperties": true
                    }
                  },
                  "events": {
                    "type": "array",
                    "description": "Recent site lifecycle events.",
                    "items": {
                      "type": "object",
                      "description": "One site event.",
                      "additionalProperties": true
                    }
                  },
                  "insights": {
                    "type": "object",
                    "description": "Derived site activity counters.",
                    "additionalProperties": true
                  },
                  "qualityReport": {
                    "$ref": "#/$defs/qualityReport"
                  },
                  "agentSessions": {
                    "type": "array",
                    "description": "Agent editing sessions.",
                    "items": {
                      "type": "object",
                      "description": "One agent session summary.",
                      "additionalProperties": true
                    }
                  }
                },
                "required": [
                  "site",
                  "versions",
                  "domains",
                  "assets",
                  "submissions",
                  "events",
                  "insights",
                  "qualityReport",
                  "agentSessions"
                ],
                "additionalProperties": false
              }
            }
          },
          "target": "api",
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "site": {
                "name": "example",
                "businessType": "example",
                "audience": "example",
                "offer": "example",
                "tone": "example"
              },
              "content": {
                "intent": "business_site",
                "siteTitle": "example",
                "siteDescription": "example",
                "contactEmail": "user@example.com",
                "navigation": [
                  {
                    "id": "00000000-0000-4000-8000-000000000000",
                    "label": "example",
                    "href": "example",
                    "kind": "primary"
                  }
                ],
                "footerNavigation": [
                  {
                    "id": "00000000-0000-4000-8000-000000000000",
                    "label": "example",
                    "href": "example",
                    "kind": "primary"
                  }
                ],
                "menus": [
                  {
                    "id": "00000000-0000-4000-8000-000000000000",
                    "name": "example",
                    "placement": "custom",
                    "items": []
                  }
                ],
                "styleClasses": [
                  {
                    "id": "00000000-0000-4000-8000-000000000000",
                    "name": "example",
                    "targetKind": "container",
                    "targetScope": "section",
                    "style": {
                      "backgroundColor": "example",
                      "backgroundImageUrl": "https://example.com",
                      "backgroundMode": "cover"
                    }
                  }
                ],
                "theme": {
                  "primary": "example",
                  "secondary": "example",
                  "surface": "example",
                  "ink": "example",
                  "muted": "example",
                  "accent": "example",
                  "accentSoft": "example",
                  "glow": "example",
                  "headingFont": "example",
                  "bodyFont": "example",
                  "radius": "example"
                },
                "document": {
                  "version": 1,
                  "pages": []
                },
                "collections": [
                  {
                    "id": "00000000-0000-4000-8000-000000000000",
                    "slug": "example",
                    "kind": "apps",
                    "label": "example",
                    "items": []
                  }
                ],
                "codeSnippets": [
                  {
                    "id": "00000000-0000-4000-8000-000000000000",
                    "label": "example",
                    "slot": "head",
                    "code": "example",
                    "enabled": true
                  }
                ]
              }
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/studio/sites/validate",
              "body": {
                "site": {
                  "name": "example",
                  "businessType": "example",
                  "audience": "example",
                  "offer": "example",
                  "tone": "example"
                },
                "content": {
                  "intent": "business_site",
                  "siteTitle": "example",
                  "siteDescription": "example",
                  "contactEmail": "user@example.com",
                  "navigation": [
                    {
                      "id": "00000000-0000-4000-8000-000000000000",
                      "label": "example",
                      "href": "example",
                      "kind": "primary"
                    }
                  ],
                  "footerNavigation": [
                    {
                      "id": "00000000-0000-4000-8000-000000000000",
                      "label": "example",
                      "href": "example",
                      "kind": "primary"
                    }
                  ],
                  "menus": [
                    {
                      "id": "00000000-0000-4000-8000-000000000000",
                      "name": "example",
                      "placement": "custom",
                      "items": []
                    }
                  ],
                  "styleClasses": [
                    {
                      "id": "00000000-0000-4000-8000-000000000000",
                      "name": "example",
                      "targetKind": "container",
                      "targetScope": "section",
                      "style": {
                        "backgroundColor": "example",
                        "backgroundImageUrl": "https://example.com",
                        "backgroundMode": "cover"
                      }
                    }
                  ],
                  "theme": {
                    "primary": "example",
                    "secondary": "example",
                    "surface": "example",
                    "ink": "example",
                    "muted": "example",
                    "accent": "example",
                    "accentSoft": "example",
                    "glow": "example",
                    "headingFont": "example",
                    "bodyFont": "example",
                    "radius": "example"
                  },
                  "document": {
                    "version": 1,
                    "pages": []
                  },
                  "collections": [
                    {
                      "id": "00000000-0000-4000-8000-000000000000",
                      "slug": "example",
                      "kind": "apps",
                      "label": "example",
                      "items": []
                    }
                  ],
                  "codeSnippets": [
                    {
                      "id": "00000000-0000-4000-8000-000000000000",
                      "label": "example",
                      "slot": "head",
                      "code": "example",
                      "enabled": true
                    }
                  ]
                }
              }
            },
            "effects": "Reads state through POST /api/studio/sites/validate without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/studio/sites/validate",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.bootstrap",
          "title": "Get site bootstrap",
          "description": "Get the site list and selected site for the active workspace.",
          "permission": "studio:read",
          "method": "GET",
          "path": "/api/studio/sites/bootstrap",
          "readOnly": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "site_id": {
                "type": "string",
                "minLength": 1
              }
            },
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "target": "api",
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "site_id": "00000000-0000-4000-8000-000000000000"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/studio/sites/bootstrap",
              "body": null
            },
            "effects": "Reads state through GET /api/studio/sites/bootstrap without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/studio/sites/bootstrap",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.update",
          "title": "Sites Update",
          "description": "Call PUT /studio/sites/{siteId}.",
          "method": "PUT",
          "path": "/api/studio/sites/{siteId}",
          "permission": "studio:write",
          "requiresConfirmation": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "minLength": 1
              },
              "brief": {
                "type": "object",
                "properties": {
                  "intent": {
                    "type": "string",
                    "enum": [
                      "business_site",
                      "landing_page",
                      "portfolio",
                      "agency",
                      "product_suite"
                    ]
                  },
                  "businessName": {
                    "type": "string",
                    "minLength": 1
                  },
                  "businessType": {
                    "type": "string",
                    "minLength": 1
                  },
                  "location": {
                    "type": "string",
                    "minLength": 1
                  },
                  "audience": {
                    "type": "string",
                    "minLength": 1
                  },
                  "offer": {
                    "type": "string",
                    "minLength": 1
                  },
                  "tone": {
                    "type": "string",
                    "minLength": 1
                  },
                  "differentiators": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "goals": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "prompt": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "additionalProperties": false
              },
              "theme": {
                "type": "object",
                "properties": {
                  "primary": {
                    "type": "string",
                    "minLength": 1
                  },
                  "secondary": {
                    "type": "string",
                    "minLength": 1
                  },
                  "surface": {
                    "type": "string",
                    "minLength": 1
                  },
                  "ink": {
                    "type": "string",
                    "minLength": 1
                  },
                  "muted": {
                    "type": "string",
                    "minLength": 1
                  },
                  "accent": {
                    "type": "string",
                    "minLength": 1
                  },
                  "accentSoft": {
                    "type": "string",
                    "minLength": 1
                  },
                  "glow": {
                    "type": "string",
                    "minLength": 1
                  },
                  "headingFont": {
                    "type": "string",
                    "minLength": 1
                  },
                  "bodyFont": {
                    "type": "string",
                    "minLength": 1
                  },
                  "radius": {
                    "type": "string",
                    "minLength": 1
                  },
                  "brandLogoUrl": {
                    "type": "string"
                  },
                  "brandLogoAlt": {
                    "type": "string"
                  },
                  "brandLogoWidth": {
                    "type": "string"
                  },
                  "brandLogoHeight": {
                    "type": "string"
                  },
                  "pageDefaults": {
                    "type": "object",
                    "properties": {
                      "sectionPaddingTop": {
                        "type": "number",
                        "minimum": 0
                      },
                      "sectionPaddingBottom": {
                        "type": "number",
                        "minimum": 0
                      },
                      "sectionPaddingLeft": {
                        "type": "number",
                        "minimum": 0
                      },
                      "sectionPaddingRight": {
                        "type": "number",
                        "minimum": 0
                      },
                      "sectionMarginTop": {
                        "type": "number"
                      },
                      "sectionMarginBottom": {
                        "type": "number"
                      },
                      "sectionMarginLeft": {
                        "type": "number"
                      },
                      "sectionMarginRight": {
                        "type": "number"
                      },
                      "headingSize": {
                        "type": "number",
                        "minimum": 1
                      },
                      "headingLineHeight": {
                        "type": "number",
                        "minimum": 0.5
                      },
                      "bodySize": {
                        "type": "number",
                        "minimum": 1
                      },
                      "bodyLineHeight": {
                        "type": "number",
                        "minimum": 0.5
                      },
                      "cardPadding": {
                        "type": "number",
                        "minimum": 0
                      },
                      "layoutGap": {
                        "type": "number",
                        "minimum": 0
                      },
                      "responsive": {
                        "type": "object",
                        "propertyNames": {
                          "type": "string",
                          "enum": [
                            "4k",
                            "tablet",
                            "mobile"
                          ]
                        },
                        "additionalProperties": {
                          "type": "object",
                          "properties": {
                            "sectionPaddingTop": {
                              "type": "number",
                              "minimum": 0
                            },
                            "sectionPaddingBottom": {
                              "type": "number",
                              "minimum": 0
                            },
                            "sectionPaddingLeft": {
                              "type": "number",
                              "minimum": 0
                            },
                            "sectionPaddingRight": {
                              "type": "number",
                              "minimum": 0
                            },
                            "sectionMarginTop": {
                              "type": "number"
                            },
                            "sectionMarginBottom": {
                              "type": "number"
                            },
                            "sectionMarginLeft": {
                              "type": "number"
                            },
                            "sectionMarginRight": {
                              "type": "number"
                            },
                            "headingSize": {
                              "type": "number",
                              "minimum": 1
                            },
                            "headingLineHeight": {
                              "type": "number",
                              "minimum": 0.5
                            },
                            "bodySize": {
                              "type": "number",
                              "minimum": 1
                            },
                            "bodyLineHeight": {
                              "type": "number",
                              "minimum": 0.5
                            },
                            "cardPadding": {
                              "type": "number",
                              "minimum": 0
                            },
                            "layoutGap": {
                              "type": "number",
                              "minimum": 0
                            }
                          },
                          "additionalProperties": false
                        }
                      }
                    },
                    "additionalProperties": false
                  },
                  "customCss": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              "navigation": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1
                    },
                    "label": {
                      "type": "string",
                      "minLength": 1
                    },
                    "href": {
                      "type": "string",
                      "minLength": 1
                    },
                    "kind": {
                      "type": "string",
                      "enum": [
                        "primary",
                        "secondary",
                        "cta"
                      ]
                    },
                    "parentId": {
                      "type": "string",
                      "minLength": 1
                    },
                    "targetBlank": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "id",
                    "label",
                    "href",
                    "kind"
                  ],
                  "additionalProperties": false
                }
              },
              "footerNavigation": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1
                    },
                    "label": {
                      "type": "string",
                      "minLength": 1
                    },
                    "href": {
                      "type": "string",
                      "minLength": 1
                    },
                    "kind": {
                      "type": "string",
                      "enum": [
                        "primary",
                        "secondary",
                        "cta"
                      ]
                    },
                    "parentId": {
                      "type": "string",
                      "minLength": 1
                    },
                    "targetBlank": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "id",
                    "label",
                    "href",
                    "kind"
                  ],
                  "additionalProperties": false
                }
              },
              "menus": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1
                    },
                    "name": {
                      "type": "string",
                      "minLength": 1
                    },
                    "placement": {
                      "type": "string",
                      "const": "custom"
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "minLength": 1
                          },
                          "label": {
                            "type": "string",
                            "minLength": 1
                          },
                          "href": {
                            "type": "string",
                            "minLength": 1
                          },
                          "kind": {
                            "type": "string",
                            "enum": [
                              "primary",
                              "secondary",
                              "cta"
                            ]
                          },
                          "parentId": {
                            "type": "string",
                            "minLength": 1
                          },
                          "targetBlank": {
                            "type": "boolean"
                          }
                        },
                        "required": [
                          "id",
                          "label",
                          "href",
                          "kind"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "placement",
                    "items"
                  ],
                  "additionalProperties": false
                }
              },
              "document": {
                "$ref": "#/$defs/siteDocument"
              },
              "collections": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1
                    },
                    "slug": {
                      "type": "string",
                      "minLength": 1
                    },
                    "kind": {
                      "type": "string",
                      "enum": [
                        "apps",
                        "pricing",
                        "articles",
                        "changelog",
                        "legal",
                        "faq",
                        "custom"
                      ]
                    },
                    "label": {
                      "type": "string",
                      "minLength": 1
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "minLength": 1
                          },
                          "title": {
                            "type": "string",
                            "minLength": 1
                          },
                          "body": {
                            "type": "string"
                          },
                          "meta": {
                            "type": "string",
                            "minLength": 1
                          },
                          "value": {
                            "type": "string",
                            "minLength": 1
                          },
                          "badge": {
                            "type": "string",
                            "minLength": 1
                          },
                          "href": {
                            "type": "string",
                            "minLength": 1
                          },
                          "targetBlank": {
                            "type": "boolean"
                          },
                          "imageUrl": {
                            "type": "string"
                          },
                          "alt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "title",
                          "body"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "id",
                    "slug",
                    "kind",
                    "label",
                    "items"
                  ],
                  "additionalProperties": false
                }
              },
              "styleClasses": {
                "type": "array",
                "items": {
                  "oneOf": [
                    {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "minLength": 1
                        },
                        "name": {
                          "type": "string",
                          "minLength": 1
                        },
                        "targetKind": {
                          "type": "string",
                          "enum": [
                            "container",
                            "layout-grid",
                            "stack",
                            "flex-row",
                            "spacer",
                            "hero",
                            "feature-grid",
                            "story",
                            "proof",
                            "header",
                            "announcement",
                            "menu",
                            "columns",
                            "accordion",
                            "faq",
                            "cta",
                            "contact-form",
                            "image",
                            "gallery",
                            "video",
                            "logo-cloud",
                            "stats",
                            "testimonials",
                            "pricing",
                            "comparison-table",
                            "app-grid",
                            "article-list",
                            "legal",
                            "embed",
                            "custom-component",
                            "divider",
                            "footer"
                          ]
                        },
                        "targetScope": {
                          "type": "string",
                          "const": "section"
                        },
                        "style": {
                          "type": "object",
                          "properties": {
                            "backgroundColor": {
                              "type": "string"
                            },
                            "backgroundImageUrl": {
                              "type": "string"
                            },
                            "backgroundMode": {
                              "type": "string",
                              "enum": [
                                "cover",
                                "contain",
                                "stretch",
                                "tile"
                              ]
                            },
                            "backgroundPosition": {
                              "type": "string",
                              "enum": [
                                "center",
                                "top",
                                "bottom",
                                "left",
                                "right",
                                "top left",
                                "top right",
                                "bottom left",
                                "bottom right"
                              ]
                            },
                            "textColor": {
                              "type": "string"
                            },
                            "textAlign": {
                              "type": "string",
                              "enum": [
                                "left",
                                "center",
                                "right"
                              ]
                            },
                            "imagePlacement": {
                              "type": "string",
                              "enum": [
                                "left",
                                "right"
                              ]
                            },
                            "itemsPlacement": {
                              "type": "string",
                              "enum": [
                                "left",
                                "right"
                              ]
                            },
                            "paddingTop": {
                              "type": "number"
                            },
                            "paddingBottom": {
                              "type": "number"
                            },
                            "paddingBlockLinked": {
                              "type": "boolean"
                            },
                            "paddingLeft": {
                              "type": "number"
                            },
                            "paddingRight": {
                              "type": "number"
                            },
                            "paddingInlineLinked": {
                              "type": "boolean"
                            },
                            "marginTop": {
                              "type": "number"
                            },
                            "marginBottom": {
                              "type": "number"
                            },
                            "marginBlockLinked": {
                              "type": "boolean"
                            },
                            "marginLeft": {
                              "type": "number"
                            },
                            "marginRight": {
                              "type": "number"
                            },
                            "marginInlineLinked": {
                              "type": "boolean"
                            },
                            "borderWidth": {
                              "type": "number"
                            },
                            "borderStyle": {
                              "type": "string",
                              "enum": [
                                "solid",
                                "dashed",
                                "dotted"
                              ]
                            },
                            "borderColor": {
                              "type": "string"
                            },
                            "borderRadius": {
                              "type": "number"
                            },
                            "headingSize": {
                              "type": "number"
                            },
                            "headingLineHeight": {
                              "type": "number"
                            },
                            "bodySize": {
                              "type": "number"
                            },
                            "bodyLineHeight": {
                              "type": "number"
                            },
                            "cardPadding": {
                              "type": "number"
                            },
                            "columnCount": {
                              "anyOf": [
                                {
                                  "type": "number",
                                  "const": 2
                                },
                                {
                                  "type": "number",
                                  "const": 3
                                },
                                {
                                  "type": "number",
                                  "const": 4
                                }
                              ]
                            },
                            "columnSpans": {
                              "type": "array",
                              "items": {
                                "type": "number"
                              }
                            },
                            "layoutGap": {
                              "type": "number"
                            },
                            "nestedSectionPadding": {
                              "type": "number"
                            },
                            "mediaAspectRatio": {
                              "type": "string",
                              "enum": [
                                "16 / 9",
                                "4 / 3",
                                "1 / 1",
                                "9 / 16"
                              ]
                            },
                            "mediaFit": {
                              "type": "string",
                              "enum": [
                                "cover",
                                "contain",
                                "fill",
                                "none"
                              ]
                            },
                            "mediaFocalX": {
                              "type": "number"
                            },
                            "mediaFocalY": {
                              "type": "number"
                            },
                            "dividerTop": {
                              "type": "boolean"
                            },
                            "dividerBottom": {
                              "type": "boolean"
                            },
                            "dividerThickness": {
                              "type": "number"
                            },
                            "dividerWidth": {
                              "type": "number"
                            },
                            "dividerLineStyle": {
                              "type": "string",
                              "enum": [
                                "solid",
                                "dashed",
                                "dotted"
                              ]
                            },
                            "customCss": {
                              "type": "string"
                            },
                            "responsive": {
                              "type": "object",
                              "propertyNames": {
                                "type": "string",
                                "enum": [
                                  "4k",
                                  "tablet",
                                  "mobile"
                                ]
                              },
                              "additionalProperties": {
                                "type": "object",
                                "properties": {
                                  "backgroundColor": {
                                    "type": "string"
                                  },
                                  "backgroundImageUrl": {
                                    "type": "string"
                                  },
                                  "backgroundMode": {
                                    "type": "string",
                                    "enum": [
                                      "cover",
                                      "contain",
                                      "stretch",
                                      "tile"
                                    ]
                                  },
                                  "backgroundPosition": {
                                    "type": "string",
                                    "enum": [
                                      "center",
                                      "top",
                                      "bottom",
                                      "left",
                                      "right",
                                      "top left",
                                      "top right",
                                      "bottom left",
                                      "bottom right"
                                    ]
                                  },
                                  "textColor": {
                                    "type": "string"
                                  },
                                  "textAlign": {
                                    "type": "string",
                                    "enum": [
                                      "left",
                                      "center",
                                      "right"
                                    ]
                                  },
                                  "imagePlacement": {
                                    "type": "string",
                                    "enum": [
                                      "left",
                                      "right"
                                    ]
                                  },
                                  "itemsPlacement": {
                                    "type": "string",
                                    "enum": [
                                      "left",
                                      "right"
                                    ]
                                  },
                                  "paddingTop": {
                                    "type": "number"
                                  },
                                  "paddingBottom": {
                                    "type": "number"
                                  },
                                  "paddingBlockLinked": {
                                    "type": "boolean"
                                  },
                                  "paddingLeft": {
                                    "type": "number"
                                  },
                                  "paddingRight": {
                                    "type": "number"
                                  },
                                  "paddingInlineLinked": {
                                    "type": "boolean"
                                  },
                                  "marginTop": {
                                    "type": "number"
                                  },
                                  "marginBottom": {
                                    "type": "number"
                                  },
                                  "marginBlockLinked": {
                                    "type": "boolean"
                                  },
                                  "marginLeft": {
                                    "type": "number"
                                  },
                                  "marginRight": {
                                    "type": "number"
                                  },
                                  "marginInlineLinked": {
                                    "type": "boolean"
                                  },
                                  "borderWidth": {
                                    "type": "number"
                                  },
                                  "borderStyle": {
                                    "type": "string",
                                    "enum": [
                                      "solid",
                                      "dashed",
                                      "dotted"
                                    ]
                                  },
                                  "borderColor": {
                                    "type": "string"
                                  },
                                  "borderRadius": {
                                    "type": "number"
                                  },
                                  "headingSize": {
                                    "type": "number"
                                  },
                                  "headingLineHeight": {
                                    "type": "number"
                                  },
                                  "bodySize": {
                                    "type": "number"
                                  },
                                  "bodyLineHeight": {
                                    "type": "number"
                                  },
                                  "cardPadding": {
                                    "type": "number"
                                  },
                                  "columnCount": {
                                    "anyOf": [
                                      {
                                        "type": "number",
                                        "const": 2
                                      },
                                      {
                                        "type": "number",
                                        "const": 3
                                      },
                                      {
                                        "type": "number",
                                        "const": 4
                                      }
                                    ]
                                  },
                                  "columnSpans": {
                                    "type": "array",
                                    "items": {
                                      "type": "number"
                                    }
                                  },
                                  "layoutGap": {
                                    "type": "number"
                                  },
                                  "nestedSectionPadding": {
                                    "type": "number"
                                  },
                                  "mediaAspectRatio": {
                                    "type": "string",
                                    "enum": [
                                      "16 / 9",
                                      "4 / 3",
                                      "1 / 1",
                                      "9 / 16"
                                    ]
                                  },
                                  "mediaFit": {
                                    "type": "string",
                                    "enum": [
                                      "cover",
                                      "contain",
                                      "fill",
                                      "none"
                                    ]
                                  },
                                  "mediaFocalX": {
                                    "type": "number"
                                  },
                                  "mediaFocalY": {
                                    "type": "number"
                                  },
                                  "dividerTop": {
                                    "type": "boolean"
                                  },
                                  "dividerBottom": {
                                    "type": "boolean"
                                  },
                                  "dividerThickness": {
                                    "type": "number"
                                  },
                                  "dividerWidth": {
                                    "type": "number"
                                  },
                                  "dividerLineStyle": {
                                    "type": "string",
                                    "enum": [
                                      "solid",
                                      "dashed",
                                      "dotted"
                                    ]
                                  },
                                  "customCss": {
                                    "type": "string"
                                  }
                                },
                                "additionalProperties": false
                              }
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "required": [
                        "id",
                        "name",
                        "targetKind",
                        "targetScope",
                        "style"
                      ],
                      "additionalProperties": false
                    },
                    {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "minLength": 1
                        },
                        "name": {
                          "type": "string",
                          "minLength": 1
                        },
                        "targetKind": {
                          "type": "string",
                          "enum": [
                            "container",
                            "layout-grid",
                            "stack",
                            "flex-row",
                            "spacer",
                            "hero",
                            "feature-grid",
                            "story",
                            "proof",
                            "header",
                            "announcement",
                            "menu",
                            "columns",
                            "accordion",
                            "faq",
                            "cta",
                            "contact-form",
                            "image",
                            "gallery",
                            "video",
                            "logo-cloud",
                            "stats",
                            "testimonials",
                            "pricing",
                            "comparison-table",
                            "app-grid",
                            "article-list",
                            "legal",
                            "embed",
                            "custom-component",
                            "divider",
                            "footer"
                          ]
                        },
                        "targetScope": {
                          "type": "string",
                          "const": "item"
                        },
                        "style": {
                          "type": "object",
                          "properties": {
                            "padding": {
                              "type": "number"
                            },
                            "radius": {
                              "type": "number"
                            },
                            "borderWidth": {
                              "type": "number"
                            },
                            "borderStyle": {
                              "type": "string",
                              "enum": [
                                "solid",
                                "dashed",
                                "dotted"
                              ]
                            },
                            "borderColor": {
                              "type": "string"
                            },
                            "imageFit": {
                              "type": "string",
                              "enum": [
                                "cover",
                                "contain",
                                "fill",
                                "none"
                              ]
                            },
                            "imageFocalX": {
                              "type": "number"
                            },
                            "imageFocalY": {
                              "type": "number"
                            },
                            "textPadding": {
                              "type": "number"
                            },
                            "textRadius": {
                              "type": "number"
                            },
                            "textAlign": {
                              "type": "string",
                              "enum": [
                                "left",
                                "center",
                                "right"
                              ]
                            },
                            "headingSize": {
                              "type": "number"
                            },
                            "headingLineHeight": {
                              "type": "number"
                            },
                            "bodySize": {
                              "type": "number"
                            },
                            "bodyLineHeight": {
                              "type": "number"
                            },
                            "responsive": {
                              "type": "object",
                              "propertyNames": {
                                "type": "string",
                                "enum": [
                                  "4k",
                                  "tablet",
                                  "mobile"
                                ]
                              },
                              "additionalProperties": {
                                "type": "object",
                                "properties": {
                                  "padding": {
                                    "type": "number"
                                  },
                                  "radius": {
                                    "type": "number"
                                  },
                                  "borderWidth": {
                                    "type": "number"
                                  },
                                  "borderStyle": {
                                    "type": "string",
                                    "enum": [
                                      "solid",
                                      "dashed",
                                      "dotted"
                                    ]
                                  },
                                  "borderColor": {
                                    "type": "string"
                                  },
                                  "imageFit": {
                                    "type": "string",
                                    "enum": [
                                      "cover",
                                      "contain",
                                      "fill",
                                      "none"
                                    ]
                                  },
                                  "imageFocalX": {
                                    "type": "number"
                                  },
                                  "imageFocalY": {
                                    "type": "number"
                                  },
                                  "textPadding": {
                                    "type": "number"
                                  },
                                  "textRadius": {
                                    "type": "number"
                                  },
                                  "textAlign": {
                                    "type": "string",
                                    "enum": [
                                      "left",
                                      "center",
                                      "right"
                                    ]
                                  },
                                  "headingSize": {
                                    "type": "number"
                                  },
                                  "headingLineHeight": {
                                    "type": "number"
                                  },
                                  "bodySize": {
                                    "type": "number"
                                  },
                                  "bodyLineHeight": {
                                    "type": "number"
                                  }
                                },
                                "additionalProperties": false
                              }
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "required": [
                        "id",
                        "name",
                        "targetKind",
                        "targetScope",
                        "style"
                      ],
                      "additionalProperties": false
                    }
                  ]
                }
              },
              "codeSnippets": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1
                    },
                    "label": {
                      "type": "string",
                      "minLength": 1
                    },
                    "slot": {
                      "type": "string",
                      "enum": [
                        "head",
                        "body_start",
                        "body_end"
                      ]
                    },
                    "code": {
                      "type": "string"
                    },
                    "enabled": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "label",
                    "slot",
                    "code"
                  ],
                  "additionalProperties": false
                }
              },
              "seo": {
                "type": "object",
                "properties": {
                  "titleTemplate": {
                    "type": "string",
                    "minLength": 1
                  },
                  "metaTitle": {
                    "type": "string",
                    "minLength": 1
                  },
                  "metaDescription": {
                    "type": "string",
                    "minLength": 1
                  },
                  "faviconUrl": {
                    "type": "string",
                    "minLength": 1
                  },
                  "openGraphImageUrl": {
                    "type": "string",
                    "minLength": 1
                  },
                  "canonicalUrl": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "additionalProperties": false
              },
              "announcementBar": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      },
                      "text": {
                        "type": "string",
                        "minLength": 1
                      },
                      "href": {
                        "type": "string",
                        "minLength": 1
                      }
                    },
                    "required": [
                      "enabled",
                      "text"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "siteId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "siteId"
            ],
            "additionalProperties": false,
            "$defs": {
              "jsonValue": {
                "description": "A JSON-compatible component property value.",
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "type": "array",
                    "items": {
                      "$ref": "#/$defs/jsonValue"
                    }
                  },
                  {
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/$defs/jsonValue"
                    }
                  }
                ]
              },
              "actionLink": {
                "type": "object",
                "description": "A rendered call-to-action link.",
                "properties": {
                  "label": {
                    "type": "string",
                    "description": "Visible link label.",
                    "minLength": 1
                  },
                  "href": {
                    "type": "string",
                    "description": "Root-relative path, anchor, mailto, tel, or HTTPS URL.",
                    "minLength": 1
                  },
                  "linkKind": {
                    "type": "string",
                    "description": "Whether the link targets a TopoloWeb page or a custom URL.",
                    "enum": [
                      "custom",
                      "page"
                    ]
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the link in a new browser tab."
                  }
                },
                "required": [
                  "label",
                  "href"
                ],
                "additionalProperties": false
              },
              "navigationItem": {
                "type": "object",
                "description": "One site navigation entry.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable navigation item identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Visible navigation label.",
                    "minLength": 1
                  },
                  "href": {
                    "type": "string",
                    "description": "Root-relative path, anchor, or external URL.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Navigation emphasis.",
                    "enum": [
                      "primary",
                      "secondary",
                      "cta"
                    ]
                  },
                  "parentId": {
                    "type": "string",
                    "description": "Optional parent item identifier for one-level menus."
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the link in a new browser tab."
                  }
                },
                "required": [
                  "id",
                  "label",
                  "href",
                  "kind"
                ],
                "additionalProperties": false
              },
              "navigationMenu": {
                "type": "object",
                "description": "A named reusable navigation menu.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable menu identifier.",
                    "minLength": 1
                  },
                  "name": {
                    "type": "string",
                    "description": "Human-readable menu name.",
                    "minLength": 1
                  },
                  "placement": {
                    "type": "string",
                    "description": "Custom menu placement marker.",
                    "const": "custom"
                  },
                  "items": {
                    "type": "array",
                    "description": "Ordered menu entries.",
                    "items": {
                      "$ref": "#/$defs/navigationItem"
                    }
                  }
                },
                "required": [
                  "id",
                  "name",
                  "placement",
                  "items"
                ],
                "additionalProperties": false
              },
              "pageStyleDefaultsBase": {
                "type": "object",
                "description": "Site-wide default layout and typography values.",
                "properties": {
                  "sectionPaddingTop": {
                    "type": "number",
                    "description": "Default section top padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingBottom": {
                    "type": "number",
                    "description": "Default section bottom padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingLeft": {
                    "type": "number",
                    "description": "Default section left padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingRight": {
                    "type": "number",
                    "description": "Default section right padding in pixels.",
                    "minimum": 0
                  },
                  "sectionMarginTop": {
                    "type": "number",
                    "description": "Default section top margin in pixels."
                  },
                  "sectionMarginBottom": {
                    "type": "number",
                    "description": "Default section bottom margin in pixels."
                  },
                  "sectionMarginLeft": {
                    "type": "number",
                    "description": "Default section left margin in pixels."
                  },
                  "sectionMarginRight": {
                    "type": "number",
                    "description": "Default section right margin in pixels."
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Default heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Default heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Default body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Default body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Default card padding in pixels.",
                    "minimum": 0
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Default layout gap in pixels.",
                    "minimum": 0
                  }
                },
                "additionalProperties": false
              },
              "pageStyleDefaults": {
                "type": "object",
                "description": "Desktop page defaults with optional viewport overrides.",
                "properties": {
                  "sectionPaddingTop": {
                    "type": "number",
                    "description": "Default section top padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingBottom": {
                    "type": "number",
                    "description": "Default section bottom padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingLeft": {
                    "type": "number",
                    "description": "Default section left padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingRight": {
                    "type": "number",
                    "description": "Default section right padding in pixels.",
                    "minimum": 0
                  },
                  "sectionMarginTop": {
                    "type": "number",
                    "description": "Default section top margin in pixels."
                  },
                  "sectionMarginBottom": {
                    "type": "number",
                    "description": "Default section bottom margin in pixels."
                  },
                  "sectionMarginLeft": {
                    "type": "number",
                    "description": "Default section left margin in pixels."
                  },
                  "sectionMarginRight": {
                    "type": "number",
                    "description": "Default section right margin in pixels."
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Default heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Default heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Default body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Default body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Default card padding in pixels.",
                    "minimum": 0
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Default layout gap in pixels.",
                    "minimum": 0
                  },
                  "responsive": {
                    "type": "object",
                    "description": "Viewport-specific page-default overrides.",
                    "propertyNames": {
                      "type": "string",
                      "description": "A non-desktop responsive override breakpoint.",
                      "enum": [
                        "4k",
                        "tablet",
                        "mobile"
                      ]
                    },
                    "additionalProperties": {
                      "$ref": "#/$defs/pageStyleDefaultsBase"
                    }
                  }
                },
                "additionalProperties": false
              },
              "theme": {
                "type": "object",
                "description": "Complete TopoloWeb theme and responsive page defaults.",
                "properties": {
                  "primary": {
                    "type": "string",
                    "description": "Primary brand color.",
                    "minLength": 1
                  },
                  "secondary": {
                    "type": "string",
                    "description": "Secondary brand color.",
                    "minLength": 1
                  },
                  "surface": {
                    "type": "string",
                    "description": "Primary surface color.",
                    "minLength": 1
                  },
                  "ink": {
                    "type": "string",
                    "description": "Primary text color.",
                    "minLength": 1
                  },
                  "muted": {
                    "type": "string",
                    "description": "Muted text color.",
                    "minLength": 1
                  },
                  "accent": {
                    "type": "string",
                    "description": "Accent color.",
                    "minLength": 1
                  },
                  "accentSoft": {
                    "type": "string",
                    "description": "Soft accent surface color.",
                    "minLength": 1
                  },
                  "glow": {
                    "type": "string",
                    "description": "Decorative glow color.",
                    "minLength": 1
                  },
                  "headingFont": {
                    "type": "string",
                    "description": "CSS heading font stack.",
                    "minLength": 1
                  },
                  "bodyFont": {
                    "type": "string",
                    "description": "CSS body font stack.",
                    "minLength": 1
                  },
                  "radius": {
                    "type": "string",
                    "description": "Default CSS corner radius.",
                    "minLength": 1
                  },
                  "brandLogoUrl": {
                    "type": "string",
                    "description": "HTTPS brand-logo URL."
                  },
                  "brandLogoAlt": {
                    "type": "string",
                    "description": "Accessible brand-logo description."
                  },
                  "brandLogoWidth": {
                    "type": "string",
                    "description": "CSS brand-logo width."
                  },
                  "brandLogoHeight": {
                    "type": "string",
                    "description": "CSS brand-logo height."
                  },
                  "pageDefaults": {
                    "$ref": "#/$defs/pageStyleDefaults"
                  },
                  "customCss": {
                    "type": "string",
                    "description": "Reviewed site-wide CSS loaded after generated styles."
                  }
                },
                "required": [
                  "primary",
                  "secondary",
                  "surface",
                  "ink",
                  "muted",
                  "accent",
                  "accentSoft",
                  "glow",
                  "headingFont",
                  "bodyFont",
                  "radius"
                ],
                "additionalProperties": false
              },
              "sectionStyleBase": {
                "type": "object",
                "description": "Desktop section style values.",
                "properties": {
                  "backgroundColor": {
                    "type": "string",
                    "description": "CSS background color."
                  },
                  "backgroundImageUrl": {
                    "type": "string",
                    "description": "HTTPS background image URL."
                  },
                  "backgroundMode": {
                    "type": "string",
                    "description": "Background image sizing mode.",
                    "enum": [
                      "cover",
                      "contain",
                      "stretch",
                      "tile"
                    ]
                  },
                  "backgroundPosition": {
                    "type": "string",
                    "description": "Background image position.",
                    "enum": [
                      "center",
                      "top",
                      "bottom",
                      "left",
                      "right",
                      "top left",
                      "top right",
                      "bottom left",
                      "bottom right"
                    ]
                  },
                  "textColor": {
                    "type": "string",
                    "description": "CSS foreground color."
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "imagePlacement": {
                    "type": "string",
                    "description": "Media placement relative to text.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "itemsPlacement": {
                    "type": "string",
                    "description": "Repeated items placement relative to section copy for supported compositions.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "paddingTop": {
                    "type": "number",
                    "description": "Top padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBottom": {
                    "type": "number",
                    "description": "Bottom padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom padding should stay linked."
                  },
                  "paddingLeft": {
                    "type": "number",
                    "description": "Left padding in pixels.",
                    "minimum": 0
                  },
                  "paddingRight": {
                    "type": "number",
                    "description": "Right padding in pixels.",
                    "minimum": 0
                  },
                  "paddingInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right padding should stay linked."
                  },
                  "marginTop": {
                    "type": "number",
                    "description": "Top margin in pixels."
                  },
                  "marginBottom": {
                    "type": "number",
                    "description": "Bottom margin in pixels."
                  },
                  "marginBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom margins should stay linked."
                  },
                  "marginLeft": {
                    "type": "number",
                    "description": "Left margin in pixels."
                  },
                  "marginRight": {
                    "type": "number",
                    "description": "Right margin in pixels."
                  },
                  "marginInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right margins should stay linked."
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Border line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "CSS border color."
                  },
                  "borderRadius": {
                    "type": "number",
                    "description": "Corner radius in pixels.",
                    "minimum": 0
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Heading font size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Body font size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Repeated-card padding in pixels.",
                    "minimum": 0
                  },
                  "columnCount": {
                    "type": "number",
                    "description": "Responsive column count.",
                    "enum": [
                      2,
                      3,
                      4
                    ]
                  },
                  "columnSpans": {
                    "type": "array",
                    "description": "Grid spans for explicit columns.",
                    "items": {
                      "type": "number",
                      "description": "One column span.",
                      "minimum": 1
                    }
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Gap between layout children in pixels.",
                    "minimum": 0
                  },
                  "nestedSectionPadding": {
                    "type": "number",
                    "description": "Padding around nested sections in pixels.",
                    "minimum": 0
                  },
                  "mediaAspectRatio": {
                    "type": "string",
                    "description": "Media aspect ratio.",
                    "enum": [
                      "16 / 9",
                      "4 / 3",
                      "1 / 1",
                      "9 / 16"
                    ]
                  },
                  "mediaFit": {
                    "type": "string",
                    "description": "Media object-fit behavior.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "mediaFocalX": {
                    "type": "number",
                    "description": "Horizontal focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "mediaFocalY": {
                    "type": "number",
                    "description": "Vertical focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerTop": {
                    "type": "boolean",
                    "description": "Whether a top divider is rendered."
                  },
                  "dividerBottom": {
                    "type": "boolean",
                    "description": "Whether a bottom divider is rendered."
                  },
                  "dividerThickness": {
                    "type": "number",
                    "description": "Divider thickness in pixels.",
                    "minimum": 0
                  },
                  "dividerWidth": {
                    "type": "number",
                    "description": "Divider width percentage.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerLineStyle": {
                    "type": "string",
                    "description": "Divider line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "customCss": {
                    "type": "string",
                    "description": "Reviewed CSS declarations scoped to this section."
                  }
                },
                "additionalProperties": false
              },
              "sectionStyle": {
                "type": "object",
                "description": "Section style values with optional responsive overrides.",
                "properties": {
                  "backgroundColor": {
                    "type": "string",
                    "description": "CSS background color."
                  },
                  "backgroundImageUrl": {
                    "type": "string",
                    "description": "HTTPS background image URL."
                  },
                  "backgroundMode": {
                    "type": "string",
                    "description": "Background image sizing mode.",
                    "enum": [
                      "cover",
                      "contain",
                      "stretch",
                      "tile"
                    ]
                  },
                  "backgroundPosition": {
                    "type": "string",
                    "description": "Background image position.",
                    "enum": [
                      "center",
                      "top",
                      "bottom",
                      "left",
                      "right",
                      "top left",
                      "top right",
                      "bottom left",
                      "bottom right"
                    ]
                  },
                  "textColor": {
                    "type": "string",
                    "description": "CSS foreground color."
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "imagePlacement": {
                    "type": "string",
                    "description": "Media placement relative to text.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "itemsPlacement": {
                    "type": "string",
                    "description": "Repeated items placement relative to section copy for supported compositions.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "paddingTop": {
                    "type": "number",
                    "description": "Top padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBottom": {
                    "type": "number",
                    "description": "Bottom padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom padding should stay linked."
                  },
                  "paddingLeft": {
                    "type": "number",
                    "description": "Left padding in pixels.",
                    "minimum": 0
                  },
                  "paddingRight": {
                    "type": "number",
                    "description": "Right padding in pixels.",
                    "minimum": 0
                  },
                  "paddingInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right padding should stay linked."
                  },
                  "marginTop": {
                    "type": "number",
                    "description": "Top margin in pixels."
                  },
                  "marginBottom": {
                    "type": "number",
                    "description": "Bottom margin in pixels."
                  },
                  "marginBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom margins should stay linked."
                  },
                  "marginLeft": {
                    "type": "number",
                    "description": "Left margin in pixels."
                  },
                  "marginRight": {
                    "type": "number",
                    "description": "Right margin in pixels."
                  },
                  "marginInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right margins should stay linked."
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Border line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "CSS border color."
                  },
                  "borderRadius": {
                    "type": "number",
                    "description": "Corner radius in pixels.",
                    "minimum": 0
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Heading font size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Body font size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Repeated-card padding in pixels.",
                    "minimum": 0
                  },
                  "columnCount": {
                    "type": "number",
                    "description": "Responsive column count.",
                    "enum": [
                      2,
                      3,
                      4
                    ]
                  },
                  "columnSpans": {
                    "type": "array",
                    "description": "Grid spans for explicit columns.",
                    "items": {
                      "type": "number",
                      "description": "One column span.",
                      "minimum": 1
                    }
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Gap between layout children in pixels.",
                    "minimum": 0
                  },
                  "nestedSectionPadding": {
                    "type": "number",
                    "description": "Padding around nested sections in pixels.",
                    "minimum": 0
                  },
                  "mediaAspectRatio": {
                    "type": "string",
                    "description": "Media aspect ratio.",
                    "enum": [
                      "16 / 9",
                      "4 / 3",
                      "1 / 1",
                      "9 / 16"
                    ]
                  },
                  "mediaFit": {
                    "type": "string",
                    "description": "Media object-fit behavior.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "mediaFocalX": {
                    "type": "number",
                    "description": "Horizontal focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "mediaFocalY": {
                    "type": "number",
                    "description": "Vertical focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerTop": {
                    "type": "boolean",
                    "description": "Whether a top divider is rendered."
                  },
                  "dividerBottom": {
                    "type": "boolean",
                    "description": "Whether a bottom divider is rendered."
                  },
                  "dividerThickness": {
                    "type": "number",
                    "description": "Divider thickness in pixels.",
                    "minimum": 0
                  },
                  "dividerWidth": {
                    "type": "number",
                    "description": "Divider width percentage.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerLineStyle": {
                    "type": "string",
                    "description": "Divider line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "customCss": {
                    "type": "string",
                    "description": "Reviewed CSS declarations scoped to this section."
                  },
                  "responsive": {
                    "type": "object",
                    "description": "Viewport-specific section-style overrides.",
                    "propertyNames": {
                      "type": "string",
                      "description": "A non-desktop responsive override breakpoint.",
                      "enum": [
                        "4k",
                        "tablet",
                        "mobile"
                      ]
                    },
                    "additionalProperties": {
                      "$ref": "#/$defs/sectionStyleBase"
                    }
                  }
                },
                "additionalProperties": false
              },
              "sectionItemStyleBase": {
                "type": "object",
                "description": "Desktop repeated-item style values.",
                "properties": {
                  "padding": {
                    "type": "number",
                    "description": "Item padding in pixels.",
                    "minimum": 0
                  },
                  "radius": {
                    "type": "number",
                    "description": "Item corner radius in pixels.",
                    "minimum": 0
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Item border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Item border style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "Item border color."
                  },
                  "imageFit": {
                    "type": "string",
                    "description": "Item image fit.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "imageFocalX": {
                    "type": "number",
                    "description": "Horizontal image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "imageFocalY": {
                    "type": "number",
                    "description": "Vertical image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "textPadding": {
                    "type": "number",
                    "description": "Text-panel padding in pixels.",
                    "minimum": 0
                  },
                  "textRadius": {
                    "type": "number",
                    "description": "Text-panel corner radius in pixels.",
                    "minimum": 0
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Item text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Item heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Item heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Item body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Item body line-height multiplier.",
                    "minimum": 0.5
                  }
                },
                "additionalProperties": false
              },
              "sectionItemStyle": {
                "type": "object",
                "description": "Repeated-item style values with optional responsive overrides.",
                "properties": {
                  "padding": {
                    "type": "number",
                    "description": "Item padding in pixels.",
                    "minimum": 0
                  },
                  "radius": {
                    "type": "number",
                    "description": "Item corner radius in pixels.",
                    "minimum": 0
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Item border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Item border style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "Item border color."
                  },
                  "imageFit": {
                    "type": "string",
                    "description": "Item image fit.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "imageFocalX": {
                    "type": "number",
                    "description": "Horizontal image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "imageFocalY": {
                    "type": "number",
                    "description": "Vertical image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "textPadding": {
                    "type": "number",
                    "description": "Text-panel padding in pixels.",
                    "minimum": 0
                  },
                  "textRadius": {
                    "type": "number",
                    "description": "Text-panel corner radius in pixels.",
                    "minimum": 0
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Item text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Item heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Item heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Item body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Item body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "responsive": {
                    "type": "object",
                    "description": "Viewport-specific item-style overrides.",
                    "propertyNames": {
                      "type": "string",
                      "description": "A non-desktop responsive override breakpoint.",
                      "enum": [
                        "4k",
                        "tablet",
                        "mobile"
                      ]
                    },
                    "additionalProperties": {
                      "$ref": "#/$defs/sectionItemStyleBase"
                    }
                  }
                },
                "additionalProperties": false
              },
              "sectionItem": {
                "type": "object",
                "description": "One repeated card, row, quote, metric, question, or media item.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable item identifier.",
                    "minLength": 1
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible item title."
                  },
                  "body": {
                    "type": "string",
                    "description": "Visible supporting copy."
                  },
                  "meta": {
                    "type": "string",
                    "description": "Optional metadata."
                  },
                  "value": {
                    "type": "string",
                    "description": "Optional value or price."
                  },
                  "badge": {
                    "type": "string",
                    "description": "Optional badge label."
                  },
                  "href": {
                    "type": "string",
                    "description": "Optional item link."
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the item link in a new tab."
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Optional item image URL."
                  },
                  "alt": {
                    "type": "string",
                    "description": "Accessible item-image description."
                  },
                  "style": {
                    "$ref": "#/$defs/sectionItemStyle"
                  },
                  "styleClassIds": {
                    "type": "array",
                    "description": "Reusable item style-class identifiers.",
                    "items": {
                      "type": "string",
                      "description": "One style-class identifier.",
                      "minLength": 1
                    }
                  }
                },
                "required": [
                  "id",
                  "title",
                  "body"
                ],
                "additionalProperties": false
              },
              "sectionValue": {
                "type": "object",
                "description": "Renderer-backed block content without persisted child arrays.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable section identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "eyebrow": {
                    "type": "string",
                    "description": "Optional eyebrow copy."
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible section heading."
                  },
                  "body": {
                    "type": "string",
                    "description": "Visible section body copy."
                  },
                  "kicker": {
                    "type": "string",
                    "description": "Optional supporting kicker."
                  },
                  "primaryAction": {
                    "$ref": "#/$defs/actionLink"
                  },
                  "secondaryAction": {
                    "$ref": "#/$defs/actionLink"
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Optional section image URL."
                  },
                  "alt": {
                    "type": "string",
                    "description": "Accessible section-image description."
                  },
                  "presentation": {
                    "type": "string",
                    "description": "A renderer-backed composition designed for the selected block type.",
                    "enum": [
                      "annotated",
                      "cards",
                      "columns",
                      "divided",
                      "editorial",
                      "manifesto",
                      "mosaic",
                      "poster",
                      "ruled",
                      "split",
                      "spotlight",
                      "tiers",
                      "timeline"
                    ]
                  },
                  "styleClassIds": {
                    "type": "array",
                    "description": "Reusable section style-class identifiers.",
                    "items": {
                      "type": "string",
                      "description": "One style-class identifier.",
                      "minLength": 1
                    }
                  },
                  "style": {
                    "$ref": "#/$defs/sectionStyle"
                  },
                  "formId": {
                    "type": "string",
                    "description": "Form identifier for a contact-form block."
                  },
                  "collectionSlug": {
                    "type": "string",
                    "description": "Collection slug bound to this block."
                  },
                  "collectionLimit": {
                    "type": "number",
                    "description": "Maximum collection entries rendered.",
                    "minimum": 1
                  },
                  "collectionSort": {
                    "type": "string",
                    "description": "Collection sorting behavior.",
                    "enum": [
                      "manual",
                      "title_asc",
                      "title_desc",
                      "meta_asc",
                      "meta_desc"
                    ]
                  },
                  "html": {
                    "type": "string",
                    "description": "Reviewed HTML for embed-capable blocks."
                  },
                  "videoUrl": {
                    "type": "string",
                    "description": "Direct, YouTube, or Vimeo video URL."
                  },
                  "videoProvider": {
                    "type": "string",
                    "description": "Video provider.",
                    "enum": [
                      "direct",
                      "youtube",
                      "vimeo"
                    ]
                  },
                  "videoPosterUrl": {
                    "type": "string",
                    "description": "Video poster image URL."
                  },
                  "videoAutoplay": {
                    "type": "boolean",
                    "description": "Autoplay video when allowed."
                  },
                  "videoControls": {
                    "type": "boolean",
                    "description": "Show native video controls."
                  },
                  "videoMuted": {
                    "type": "boolean",
                    "description": "Mute video playback."
                  },
                  "componentName": {
                    "type": "string",
                    "description": "Approved custom component name."
                  },
                  "componentProps": {
                    "type": "object",
                    "description": "Component-specific reviewed JSON properties.",
                    "additionalProperties": {
                      "$ref": "#/$defs/jsonValue"
                    }
                  },
                  "menuId": {
                    "type": "string",
                    "description": "Reusable menu identifier bound to a menu block."
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "title",
                  "body"
                ],
                "additionalProperties": false
              },
              "pageValue": {
                "type": "object",
                "description": "Persisted page metadata.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable page identifier.",
                    "minLength": 1
                  },
                  "slug": {
                    "type": "string",
                    "description": "Root-relative page slug beginning with /.",
                    "pattern": "^/"
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible page heading and title-template input.",
                    "minLength": 1
                  },
                  "description": {
                    "type": "string",
                    "description": "Page search and social description."
                  }
                },
                "required": [
                  "id",
                  "slug",
                  "title",
                  "description"
                ],
                "additionalProperties": false
              },
              "columnValue": {
                "type": "object",
                "description": "Persisted layout-column metadata.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable column identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Optional editor label."
                  },
                  "span": {
                    "type": "number",
                    "description": "Grid span.",
                    "minimum": 1
                  },
                  "style": {
                    "$ref": "#/$defs/sectionStyle"
                  }
                },
                "required": [
                  "id"
                ],
                "additionalProperties": false
              },
              "source": {
                "type": "object",
                "description": "Original product-domain identity for a document node.",
                "properties": {
                  "kind": {
                    "type": "string",
                    "description": "Source record kind.",
                    "enum": [
                      "page",
                      "section",
                      "column",
                      "item"
                    ]
                  },
                  "id": {
                    "type": "string",
                    "description": "Source record identifier.",
                    "minLength": 1
                  }
                },
                "required": [
                  "kind",
                  "id"
                ],
                "additionalProperties": false
              },
              "pageNode": {
                "type": "object",
                "description": "A canonical page node owning exactly one page-body slot.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "page"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Parent node identifier when nested."
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "value": {
                    "$ref": "#/$defs/pageValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Exactly one page-body slot.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "source",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "slotNode": {
                "type": "object",
                "description": "A canonical child slot controlling accepted node kinds.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "slot"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning page, layout, or block node identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "slotKind": {
                    "type": "string",
                    "description": "Child-slot role.",
                    "enum": [
                      "page-body",
                      "layout-column",
                      "block-items"
                    ]
                  },
                  "accepts": {
                    "type": "array",
                    "description": "Document node kinds allowed in this slot.",
                    "items": {
                      "type": "string",
                      "description": "One allowed node kind.",
                      "enum": [
                        "layout",
                        "block",
                        "item"
                      ]
                    }
                  },
                  "parentSectionId": {
                    "type": "string",
                    "description": "Owning section identifier for layout and block slots."
                  },
                  "columnId": {
                    "type": "string",
                    "description": "Column identifier for layout-column slots."
                  },
                  "value": {
                    "$ref": "#/$defs/columnValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Canonical child nodes.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "parentNodeId",
                  "source",
                  "slotKind",
                  "accepts",
                  "children"
                ],
                "additionalProperties": false
              },
              "layoutNode": {
                "type": "object",
                "description": "A canonical layout block owning one or more layout-column slots.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "layout"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning slot identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "layoutKind": {
                    "type": "string",
                    "description": "Layout behavior.",
                    "enum": [
                      "container",
                      "grid",
                      "stack",
                      "flex-row",
                      "columns"
                    ]
                  },
                  "sectionKind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "sectionId": {
                    "type": "string",
                    "description": "Persisted section identifier.",
                    "minLength": 1
                  },
                  "value": {
                    "$ref": "#/$defs/sectionValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Layout-column slots.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "source",
                  "layoutKind",
                  "sectionKind",
                  "sectionId",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "blockNode": {
                "type": "object",
                "description": "A canonical renderer block with optional block-items slot.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "block"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning slot identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "blockKind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "sectionKind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "sectionId": {
                    "type": "string",
                    "description": "Persisted section identifier.",
                    "minLength": 1
                  },
                  "value": {
                    "$ref": "#/$defs/sectionValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Optional block-items slot.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "source",
                  "blockKind",
                  "sectionKind",
                  "sectionId",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "itemNode": {
                "type": "object",
                "description": "A canonical repeated-item leaf node.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "item"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning block-items slot identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "parentSectionId": {
                    "type": "string",
                    "description": "Owning block section identifier.",
                    "minLength": 1
                  },
                  "itemId": {
                    "type": "string",
                    "description": "Persisted item identifier.",
                    "minLength": 1
                  },
                  "value": {
                    "$ref": "#/$defs/sectionItem"
                  },
                  "children": {
                    "type": "array",
                    "description": "Item nodes are leaves and must have no children.",
                    "maxItems": 0
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "parentNodeId",
                  "source",
                  "parentSectionId",
                  "itemId",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "siteDocumentNode": {
                "description": "One canonical TopoloWeb document node.",
                "oneOf": [
                  {
                    "$ref": "#/$defs/pageNode"
                  },
                  {
                    "$ref": "#/$defs/slotNode"
                  },
                  {
                    "$ref": "#/$defs/layoutNode"
                  },
                  {
                    "$ref": "#/$defs/blockNode"
                  },
                  {
                    "$ref": "#/$defs/itemNode"
                  }
                ]
              },
              "siteDocument": {
                "type": "object",
                "description": "Canonical versioned TopoloWeb document tree.",
                "properties": {
                  "version": {
                    "type": "integer",
                    "description": "Document schema version.",
                    "const": 1
                  },
                  "pages": {
                    "type": "array",
                    "description": "Canonical page nodes.",
                    "items": {
                      "$ref": "#/$defs/pageNode"
                    }
                  }
                },
                "required": [
                  "version",
                  "pages"
                ],
                "additionalProperties": false
              },
              "styleClass": {
                "description": "A reusable section or item style class.",
                "oneOf": [
                  {
                    "type": "object",
                    "description": "Reusable section style class.",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Stable style-class identifier.",
                        "minLength": 1
                      },
                      "name": {
                        "type": "string",
                        "description": "Human-readable class name.",
                        "minLength": 1
                      },
                      "targetKind": {
                        "type": "string",
                        "description": "The renderer-backed TopoloWeb block kind.",
                        "enum": [
                          "container",
                          "layout-grid",
                          "stack",
                          "flex-row",
                          "spacer",
                          "hero",
                          "feature-grid",
                          "story",
                          "proof",
                          "header",
                          "announcement",
                          "menu",
                          "columns",
                          "accordion",
                          "faq",
                          "cta",
                          "contact-form",
                          "image",
                          "gallery",
                          "video",
                          "logo-cloud",
                          "stats",
                          "testimonials",
                          "pricing",
                          "comparison-table",
                          "app-grid",
                          "article-list",
                          "legal",
                          "embed",
                          "custom-component",
                          "divider",
                          "footer"
                        ]
                      },
                      "targetScope": {
                        "type": "string",
                        "description": "Style-class target scope.",
                        "const": "section"
                      },
                      "style": {
                        "$ref": "#/$defs/sectionStyle"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "targetKind",
                      "targetScope",
                      "style"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "description": "Reusable repeated-item style class.",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Stable style-class identifier.",
                        "minLength": 1
                      },
                      "name": {
                        "type": "string",
                        "description": "Human-readable class name.",
                        "minLength": 1
                      },
                      "targetKind": {
                        "type": "string",
                        "description": "The renderer-backed TopoloWeb block kind.",
                        "enum": [
                          "container",
                          "layout-grid",
                          "stack",
                          "flex-row",
                          "spacer",
                          "hero",
                          "feature-grid",
                          "story",
                          "proof",
                          "header",
                          "announcement",
                          "menu",
                          "columns",
                          "accordion",
                          "faq",
                          "cta",
                          "contact-form",
                          "image",
                          "gallery",
                          "video",
                          "logo-cloud",
                          "stats",
                          "testimonials",
                          "pricing",
                          "comparison-table",
                          "app-grid",
                          "article-list",
                          "legal",
                          "embed",
                          "custom-component",
                          "divider",
                          "footer"
                        ]
                      },
                      "targetScope": {
                        "type": "string",
                        "description": "Style-class target scope.",
                        "const": "item"
                      },
                      "style": {
                        "$ref": "#/$defs/sectionItemStyle"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "targetKind",
                      "targetScope",
                      "style"
                    ],
                    "additionalProperties": false
                  }
                ]
              },
              "collectionItem": {
                "type": "object",
                "description": "One reusable CMS collection entry.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable collection-item identifier.",
                    "minLength": 1
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible item title.",
                    "minLength": 1
                  },
                  "body": {
                    "type": "string",
                    "description": "Visible item body."
                  },
                  "meta": {
                    "type": "string",
                    "description": "Optional metadata."
                  },
                  "value": {
                    "type": "string",
                    "description": "Optional price or value."
                  },
                  "badge": {
                    "type": "string",
                    "description": "Optional badge label."
                  },
                  "href": {
                    "type": "string",
                    "description": "Optional item link."
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the item link in a new tab."
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Optional item image URL."
                  },
                  "alt": {
                    "type": "string",
                    "description": "Accessible item-image description."
                  }
                },
                "required": [
                  "id",
                  "title",
                  "body"
                ],
                "additionalProperties": false
              },
              "collection": {
                "type": "object",
                "description": "Reusable CMS collection.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable collection identifier.",
                    "minLength": 1
                  },
                  "slug": {
                    "type": "string",
                    "description": "Stable collection slug.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Collection content kind.",
                    "enum": [
                      "apps",
                      "pricing",
                      "articles",
                      "changelog",
                      "legal",
                      "faq",
                      "custom"
                    ]
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable collection label.",
                    "minLength": 1
                  },
                  "items": {
                    "type": "array",
                    "description": "Ordered collection entries.",
                    "items": {
                      "$ref": "#/$defs/collectionItem"
                    }
                  }
                },
                "required": [
                  "id",
                  "slug",
                  "kind",
                  "label",
                  "items"
                ],
                "additionalProperties": false
              },
              "codeSnippet": {
                "type": "object",
                "description": "Reviewed bounded code injection.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable snippet identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable snippet label.",
                    "minLength": 1
                  },
                  "slot": {
                    "type": "string",
                    "description": "Injection slot.",
                    "enum": [
                      "head",
                      "body_start",
                      "body_end"
                    ]
                  },
                  "code": {
                    "type": "string",
                    "description": "Reviewed HTML, CSS, or JavaScript source."
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Whether this snippet is active."
                  }
                },
                "required": [
                  "id",
                  "label",
                  "slot",
                  "code",
                  "enabled"
                ],
                "additionalProperties": false
              },
              "seo": {
                "type": "object",
                "description": "Site-wide search and social metadata defaults.",
                "properties": {
                  "titleTemplate": {
                    "type": "string",
                    "description": "Title template; %s is replaced by the page title."
                  },
                  "metaTitle": {
                    "type": "string",
                    "description": "Default page title override."
                  },
                  "metaDescription": {
                    "type": "string",
                    "description": "Default search and social description."
                  },
                  "faviconUrl": {
                    "type": "string",
                    "description": "Browser and bookmark icon URL."
                  },
                  "openGraphImageUrl": {
                    "type": "string",
                    "description": "Default Open Graph image URL."
                  },
                  "canonicalUrl": {
                    "type": "string",
                    "description": "Canonical site URL."
                  }
                },
                "additionalProperties": false
              },
              "siteContent": {
                "type": "object",
                "description": "Complete canonical TopoloWeb site content.",
                "properties": {
                  "intent": {
                    "type": "string",
                    "description": "The kind of website being created.",
                    "enum": [
                      "business_site",
                      "landing_page",
                      "portfolio",
                      "agency",
                      "product_suite"
                    ]
                  },
                  "siteTitle": {
                    "type": "string",
                    "description": "Public site title.",
                    "minLength": 1
                  },
                  "siteDescription": {
                    "type": "string",
                    "description": "Public site description."
                  },
                  "contactEmail": {
                    "type": "string",
                    "description": "Public contact email.",
                    "minLength": 1
                  },
                  "contactPhone": {
                    "type": "string",
                    "description": "Optional public contact phone number."
                  },
                  "navigation": {
                    "type": "array",
                    "description": "Primary site navigation.",
                    "items": {
                      "$ref": "#/$defs/navigationItem"
                    }
                  },
                  "footerNavigation": {
                    "type": "array",
                    "description": "Footer navigation.",
                    "items": {
                      "$ref": "#/$defs/navigationItem"
                    }
                  },
                  "menus": {
                    "type": "array",
                    "description": "Reusable custom menus.",
                    "items": {
                      "$ref": "#/$defs/navigationMenu"
                    }
                  },
                  "styleClasses": {
                    "type": "array",
                    "description": "Reusable section and item styles.",
                    "items": {
                      "$ref": "#/$defs/styleClass"
                    }
                  },
                  "theme": {
                    "$ref": "#/$defs/theme"
                  },
                  "document": {
                    "$ref": "#/$defs/siteDocument"
                  },
                  "collections": {
                    "type": "array",
                    "description": "Reusable CMS collections.",
                    "items": {
                      "$ref": "#/$defs/collection"
                    }
                  },
                  "codeSnippets": {
                    "type": "array",
                    "description": "Reviewed bounded code snippets.",
                    "items": {
                      "$ref": "#/$defs/codeSnippet"
                    }
                  },
                  "seo": {
                    "$ref": "#/$defs/seo"
                  }
                },
                "required": [
                  "intent",
                  "siteTitle",
                  "siteDescription",
                  "contactEmail",
                  "navigation",
                  "footerNavigation",
                  "menus",
                  "styleClasses",
                  "theme",
                  "document",
                  "collections",
                  "codeSnippets"
                ],
                "additionalProperties": false
              },
              "createSite": {
                "type": "object",
                "description": "Brief used to create a new TopoloWeb site.",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Internal and initial public site name.",
                    "minLength": 1
                  },
                  "intent": {
                    "type": "string",
                    "description": "The kind of website being created.",
                    "enum": [
                      "business_site",
                      "landing_page",
                      "portfolio",
                      "agency",
                      "product_suite"
                    ]
                  },
                  "businessType": {
                    "type": "string",
                    "description": "Business or project category.",
                    "minLength": 1
                  },
                  "audience": {
                    "type": "string",
                    "description": "Primary intended audience.",
                    "minLength": 1
                  },
                  "offer": {
                    "type": "string",
                    "description": "Primary product, service, or proposition.",
                    "minLength": 1
                  },
                  "tone": {
                    "type": "string",
                    "description": "Desired writing and visual tone.",
                    "minLength": 1
                  },
                  "location": {
                    "type": "string",
                    "description": "Optional geographic market."
                  },
                  "differentiators": {
                    "type": "array",
                    "description": "Specific differentiators to communicate.",
                    "items": {
                      "type": "string",
                      "description": "One differentiator."
                    }
                  },
                  "goals": {
                    "type": "array",
                    "description": "Desired user and business outcomes.",
                    "items": {
                      "type": "string",
                      "description": "One goal."
                    }
                  },
                  "prompt": {
                    "type": "string",
                    "description": "Additional generation direction."
                  }
                },
                "required": [
                  "name",
                  "businessType",
                  "audience",
                  "offer",
                  "tone"
                ],
                "additionalProperties": false
              },
              "qualityIssue": {
                "type": "object",
                "description": "One actionable launch-quality finding.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable issue code.",
                    "minLength": 1
                  },
                  "severity": {
                    "type": "string",
                    "description": "Issue severity.",
                    "enum": [
                      "info",
                      "warning",
                      "error"
                    ]
                  },
                  "title": {
                    "type": "string",
                    "description": "Short issue title.",
                    "minLength": 1
                  },
                  "detail": {
                    "type": "string",
                    "description": "Actionable remediation detail.",
                    "minLength": 1
                  }
                },
                "required": [
                  "id",
                  "severity",
                  "title",
                  "detail"
                ],
                "additionalProperties": false
              },
              "qualityReport": {
                "type": "object",
                "description": "Deterministic content and launch-quality report.",
                "properties": {
                  "generatedAt": {
                    "type": "string",
                    "description": "ISO-8601 generation timestamp.",
                    "format": "date-time"
                  },
                  "score": {
                    "type": "number",
                    "description": "Quality score from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "issues": {
                    "type": "array",
                    "description": "Actionable quality findings.",
                    "items": {
                      "$ref": "#/$defs/qualityIssue"
                    }
                  }
                },
                "required": [
                  "generatedAt",
                  "score",
                  "issues"
                ],
                "additionalProperties": false
              },
              "siteRecord": {
                "type": "object",
                "description": "One TopoloWeb site and its current editable content.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable site identifier.",
                    "minLength": 1
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "Owning Topolo organization identifier.",
                    "minLength": 1
                  },
                  "workspaceId": {
                    "type": "string",
                    "description": "Owning Topolo workspace identifier.",
                    "minLength": 1
                  },
                  "slug": {
                    "type": "string",
                    "description": "Platform hostname slug.",
                    "minLength": 1
                  },
                  "name": {
                    "type": "string",
                    "description": "Internal site name.",
                    "minLength": 1
                  },
                  "status": {
                    "type": "string",
                    "description": "Current lifecycle status.",
                    "enum": [
                      "draft",
                      "published",
                      "archived"
                    ]
                  },
                  "brief": {
                    "type": "object",
                    "description": "Generation brief retained for iterative edits.",
                    "additionalProperties": true
                  },
                  "draftContent": {
                    "$ref": "#/$defs/siteContent"
                  },
                  "currentVersionId": {
                    "type": "string",
                    "description": "Currently published immutable version identifier."
                  },
                  "draftPreviewToken": {
                    "type": "string",
                    "description": "Opaque token used by the draft preview URL.",
                    "minLength": 1
                  },
                  "createdAt": {
                    "type": "string",
                    "description": "ISO-8601 creation timestamp.",
                    "format": "date-time"
                  },
                  "updatedAt": {
                    "type": "string",
                    "description": "ISO-8601 last-update timestamp.",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "workspaceId",
                  "slug",
                  "name",
                  "status",
                  "brief",
                  "draftContent",
                  "draftPreviewToken",
                  "createdAt",
                  "updatedAt"
                ],
                "additionalProperties": false
              },
              "siteVersion": {
                "type": "object",
                "description": "One immutable published site version.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable version identifier.",
                    "minLength": 1
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "Owning Topolo organization identifier.",
                    "minLength": 1
                  },
                  "workspaceId": {
                    "type": "string",
                    "description": "Owning Topolo workspace identifier.",
                    "minLength": 1
                  },
                  "siteId": {
                    "type": "string",
                    "description": "Parent site identifier.",
                    "minLength": 1
                  },
                  "versionNumber": {
                    "type": "integer",
                    "description": "Monotonic site version number.",
                    "minimum": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable version label.",
                    "minLength": 1
                  },
                  "snapshot": {
                    "$ref": "#/$defs/siteContent"
                  },
                  "previewToken": {
                    "type": "string",
                    "description": "Opaque immutable-version preview token.",
                    "minLength": 1
                  },
                  "publishedAt": {
                    "type": "string",
                    "description": "ISO-8601 publication timestamp.",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "workspaceId",
                  "siteId",
                  "versionNumber",
                  "label",
                  "snapshot",
                  "previewToken",
                  "publishedAt"
                ],
                "additionalProperties": false
              },
              "siteDomain": {
                "type": "object",
                "description": "One platform or custom site domain.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable domain identifier.",
                    "minLength": 1
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "Owning Topolo organization identifier.",
                    "minLength": 1
                  },
                  "workspaceId": {
                    "type": "string",
                    "description": "Owning Topolo workspace identifier.",
                    "minLength": 1
                  },
                  "siteId": {
                    "type": "string",
                    "description": "Parent site identifier.",
                    "minLength": 1
                  },
                  "hostname": {
                    "type": "string",
                    "description": "Domain hostname without scheme.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Domain ownership kind.",
                    "enum": [
                      "platform",
                      "custom"
                    ]
                  },
                  "status": {
                    "type": "string",
                    "description": "DNS and TLS activation status.",
                    "enum": [
                      "pending_dns",
                      "pending_ssl",
                      "active",
                      "failed"
                    ]
                  },
                  "dnsTarget": {
                    "type": "string",
                    "description": "DNS target required for this domain.",
                    "minLength": 1
                  },
                  "verificationToken": {
                    "type": "string",
                    "description": "Opaque DNS ownership verification token.",
                    "minLength": 1
                  },
                  "isPrimary": {
                    "type": "boolean",
                    "description": "Whether this is the primary public hostname."
                  },
                  "createdAt": {
                    "type": "string",
                    "description": "ISO-8601 creation timestamp.",
                    "format": "date-time"
                  },
                  "updatedAt": {
                    "type": "string",
                    "description": "ISO-8601 last-update timestamp.",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "workspaceId",
                  "siteId",
                  "hostname",
                  "kind",
                  "status",
                  "dnsTarget",
                  "verificationToken",
                  "isPrimary",
                  "createdAt",
                  "updatedAt"
                ],
                "additionalProperties": false
              },
              "siteUrls": {
                "type": "object",
                "description": "Stable URLs used to preview and verify the site.",
                "properties": {
                  "previewUrl": {
                    "type": "string",
                    "description": "Authenticated draft-preview URL.",
                    "format": "uri"
                  },
                  "publicUrl": {
                    "type": "string",
                    "description": "Primary public site URL.",
                    "format": "uri"
                  }
                },
                "required": [
                  "previewUrl",
                  "publicUrl"
                ],
                "additionalProperties": false
              },
              "siteDetails": {
                "type": "object",
                "description": "Complete editable site state returned after a build.",
                "properties": {
                  "site": {
                    "$ref": "#/$defs/siteRecord"
                  },
                  "versions": {
                    "type": "array",
                    "description": "Published immutable versions, newest first.",
                    "items": {
                      "$ref": "#/$defs/siteVersion"
                    }
                  },
                  "domains": {
                    "type": "array",
                    "description": "Platform and custom domains.",
                    "items": {
                      "$ref": "#/$defs/siteDomain"
                    }
                  },
                  "assets": {
                    "type": "array",
                    "description": "Uploaded or linked site assets.",
                    "items": {
                      "type": "object",
                      "description": "One site asset record.",
                      "additionalProperties": true
                    }
                  },
                  "submissions": {
                    "type": "array",
                    "description": "Recent form submissions.",
                    "items": {
                      "type": "object",
                      "description": "One site form submission.",
                      "additionalProperties": true
                    }
                  },
                  "events": {
                    "type": "array",
                    "description": "Recent site lifecycle events.",
                    "items": {
                      "type": "object",
                      "description": "One site event.",
                      "additionalProperties": true
                    }
                  },
                  "insights": {
                    "type": "object",
                    "description": "Derived site activity counters.",
                    "additionalProperties": true
                  },
                  "qualityReport": {
                    "$ref": "#/$defs/qualityReport"
                  },
                  "agentSessions": {
                    "type": "array",
                    "description": "Agent editing sessions.",
                    "items": {
                      "type": "object",
                      "description": "One agent session summary.",
                      "additionalProperties": true
                    }
                  }
                },
                "required": [
                  "site",
                  "versions",
                  "domains",
                  "assets",
                  "submissions",
                  "events",
                  "insights",
                  "qualityReport",
                  "agentSessions"
                ],
                "additionalProperties": false
              }
            }
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Sites Update.",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "agentAccess": "confirm",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "siteId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "PUT",
              "path": "/api/studio/sites/example",
              "body": {
                "siteId": "example"
              }
            },
            "effects": "May change state through PUT /api/studio/sites/{siteId}. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "PUT /api/studio/sites/*",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.unpublish",
          "title": "Unpublish site",
          "description": "Remove the active published version from one site.",
          "permission": "studio:write",
          "method": "POST",
          "path": "/api/studio/sites/{siteId}/unpublish",
          "readOnly": false,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "siteId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "target": "api",
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "siteId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/studio/sites/example/unpublish",
              "body": {
                "siteId": "example"
              }
            },
            "effects": "May change state through POST /api/studio/sites/{siteId}/unpublish. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/studio/sites/*/unpublish",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.archive",
          "title": "Archive site",
          "description": "Archive one site.",
          "permission": "studio:write",
          "method": "POST",
          "path": "/api/studio/sites/{siteId}/archive",
          "readOnly": false,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "siteId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "target": "api",
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "siteId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/studio/sites/example/archive",
              "body": {
                "siteId": "example"
              }
            },
            "effects": "May change state through POST /api/studio/sites/{siteId}/archive. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/studio/sites/*/archive",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.delete",
          "title": "Delete site",
          "description": "Permanently delete one site and its owned content.",
          "permission": "studio:write",
          "method": "DELETE",
          "path": "/api/studio/sites/{siteId}",
          "readOnly": false,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "siteId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "target": "api",
          "destructive": true,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "siteId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "DELETE",
              "path": "/api/studio/sites/example",
              "body": null
            },
            "effects": "May change state through DELETE /api/studio/sites/{siteId}. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "DELETE /api/studio/sites/*",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.collections.update",
          "title": "Sites Collections Update",
          "description": "Call PUT /studio/sites/{siteId}/collections.",
          "method": "PUT",
          "path": "/api/studio/sites/{siteId}/collections",
          "permission": "studio:write",
          "requiresConfirmation": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "minLength": 1
              },
              "collections": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1
                    },
                    "slug": {
                      "type": "string",
                      "minLength": 1
                    },
                    "kind": {
                      "type": "string",
                      "enum": [
                        "apps",
                        "pricing",
                        "articles",
                        "changelog",
                        "legal",
                        "faq",
                        "custom"
                      ]
                    },
                    "label": {
                      "type": "string",
                      "minLength": 1
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "minLength": 1
                          },
                          "title": {
                            "type": "string",
                            "minLength": 1
                          },
                          "body": {
                            "type": "string"
                          },
                          "meta": {
                            "type": "string",
                            "minLength": 1
                          },
                          "value": {
                            "type": "string",
                            "minLength": 1
                          },
                          "badge": {
                            "type": "string",
                            "minLength": 1
                          },
                          "href": {
                            "type": "string",
                            "minLength": 1
                          },
                          "targetBlank": {
                            "type": "boolean"
                          },
                          "imageUrl": {
                            "type": "string"
                          },
                          "alt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "title",
                          "body"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "id",
                    "slug",
                    "kind",
                    "label",
                    "items"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [
              "siteId",
              "collections"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Sites Collections Update.",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "agentAccess": "confirm",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "siteId": "example",
              "collections": [
                {
                  "id": "00000000-0000-4000-8000-000000000000",
                  "slug": "example",
                  "kind": "apps",
                  "label": "example",
                  "items": [
                    {
                      "id": "00000000-0000-4000-8000-000000000000",
                      "title": "example",
                      "body": "example"
                    }
                  ]
                }
              ]
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "PUT",
              "path": "/api/studio/sites/example/collections",
              "body": {
                "siteId": "example",
                "collections": [
                  {
                    "id": "00000000-0000-4000-8000-000000000000",
                    "slug": "example",
                    "kind": "apps",
                    "label": "example",
                    "items": [
                      {
                        "id": "00000000-0000-4000-8000-000000000000",
                        "title": "example",
                        "body": "example"
                      }
                    ]
                  }
                ]
              }
            },
            "effects": "May change state through PUT /api/studio/sites/{siteId}/collections. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "PUT /api/studio/sites/*/collections",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.collections.import",
          "title": "Import site collection",
          "description": "Import a CSV into one site collection and persist the import result.",
          "permission": "studio:write",
          "method": "POST",
          "path": "/api/studio/sites/{siteId}/collections/import",
          "authorizationMode": "static",
          "readOnly": false,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "minLength": 1
              },
              "id": {
                "type": "string",
                "minLength": 1
              },
              "slug": {
                "type": "string",
                "minLength": 1
              },
              "kind": {
                "type": "string",
                "enum": [
                  "apps",
                  "pricing",
                  "articles",
                  "changelog",
                  "legal",
                  "faq",
                  "custom"
                ]
              },
              "label": {
                "type": "string",
                "minLength": 1
              },
              "csv": {
                "type": "string",
                "minLength": 1,
                "maxLength": 1048576
              }
            },
            "required": [
              "siteId",
              "slug",
              "kind",
              "label",
              "csv"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "target": "api",
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "siteId": "example",
              "slug": "example",
              "kind": "apps",
              "label": "example",
              "csv": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/studio/sites/example/collections/import",
              "body": {
                "siteId": "example",
                "slug": "example",
                "kind": "apps",
                "label": "example",
                "csv": "example"
              }
            },
            "effects": "May change state through POST /api/studio/sites/{siteId}/collections/import. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/studio/sites/*/collections/import",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.code_snippets.create",
          "title": "Sites Code Snippets Create",
          "description": "Call POST /studio/sites/{siteId}/code-snippets.",
          "method": "POST",
          "path": "/api/studio/sites/{siteId}/code-snippets",
          "permission": "settings:write",
          "requiresConfirmation": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "label": {
                "type": "string",
                "minLength": 1
              },
              "slot": {
                "type": "string",
                "enum": [
                  "head",
                  "body_start",
                  "body_end"
                ]
              },
              "code": {
                "type": "string"
              },
              "enabled": {
                "type": "boolean"
              },
              "siteId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "label",
              "slot",
              "code",
              "siteId"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Sites Code Snippets Create.",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "agentAccess": "confirm",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "label": "example",
              "slot": "head",
              "code": "example",
              "siteId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/studio/sites/example/code-snippets",
              "body": {
                "label": "example",
                "slot": "head",
                "code": "example",
                "siteId": "example"
              }
            },
            "effects": "May change state through POST /api/studio/sites/{siteId}/code-snippets. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/studio/sites/*/code-snippets",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.code_snippets.update",
          "title": "Sites Code Snippets Update",
          "description": "Call PUT /studio/sites/{siteId}/code-snippets/{snippetId}.",
          "method": "PUT",
          "path": "/api/studio/sites/{siteId}/code-snippets/{snippetId}",
          "permission": "settings:write",
          "requiresConfirmation": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "label": {
                "type": "string",
                "minLength": 1
              },
              "slot": {
                "type": "string",
                "enum": [
                  "head",
                  "body_start",
                  "body_end"
                ]
              },
              "code": {
                "type": "string"
              },
              "enabled": {
                "type": "boolean"
              },
              "siteId": {
                "type": "string",
                "minLength": 1
              },
              "snippetId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "label",
              "slot",
              "code",
              "siteId",
              "snippetId"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Sites Code Snippets Update.",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "agentAccess": "confirm",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "label": "example",
              "slot": "head",
              "code": "example",
              "siteId": "example",
              "snippetId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "PUT",
              "path": "/api/studio/sites/example/code-snippets/example",
              "body": {
                "label": "example",
                "slot": "head",
                "code": "example",
                "siteId": "example",
                "snippetId": "example"
              }
            },
            "effects": "May change state through PUT /api/studio/sites/{siteId}/code-snippets/{snippetId}. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "PUT /api/studio/sites/*/code-snippets/*",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.code_snippets.delete",
          "title": "Sites Code Snippets Delete",
          "description": "Call DELETE /studio/sites/{siteId}/code-snippets/{snippetId}.",
          "method": "DELETE",
          "path": "/api/studio/sites/{siteId}/code-snippets/{snippetId}",
          "permission": "settings:write",
          "requiresConfirmation": true,
          "destructive": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "minLength": 1
              },
              "snippetId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "siteId",
              "snippetId"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Sites Code Snippets Delete.",
            "additionalProperties": true
          },
          "readOnly": false,
          "agentAccess": "confirm",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "siteId": "example",
              "snippetId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "DELETE",
              "path": "/api/studio/sites/example/code-snippets/example",
              "body": null
            },
            "effects": "May change state through DELETE /api/studio/sites/{siteId}/code-snippets/{snippetId}. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "DELETE /api/studio/sites/*/code-snippets/*",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.agent_sessions.create",
          "title": "Sites Agent Sessions Create",
          "description": "Call POST /studio/sites/{siteId}/agent/sessions.",
          "method": "POST",
          "path": "/api/studio/sites/{siteId}/agent/sessions",
          "permission": "studio:write",
          "requiresConfirmation": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "minLength": 1
              },
              "title": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "siteId"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Sites Agent Sessions Create.",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "agentAccess": "confirm",
          "authorizationMode": "static",
          "agentContract": {
            "docsUrl": "https://docs.topolo.app/applications/web#agent-editing",
            "resource": {
              "kind": "agent_session",
              "idPath": "session.id"
            },
            "effects": [
              "Creates one reviewable editing session without changing site content."
            ],
            "errors": [
              {
                "status": 401,
                "code": "authentication_required",
                "recovery": "Authenticate again with Topolo Auth, then retry once."
              },
              {
                "status": 403,
                "code": "permission_denied",
                "recovery": "Use a credential with studio:write for the selected workspace."
              },
              {
                "status": 404,
                "code": "site_not_found",
                "recovery": "List sites in the selected workspace and retry with a returned site id."
              }
            ],
            "verify": [
              "Call app_topolo_web.sites.agent_sessions.get with the returned session.id."
            ],
            "nextActionIds": [
              "app_topolo_web.sites.agent_sessions.messages.create"
            ]
          },
          "documentation": {
            "example_input": {
              "siteId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/studio/sites/example/agent/sessions",
              "body": {
                "siteId": "example"
              }
            },
            "effects": "Creates one reviewable editing session without changing site content.",
            "verification": [
              "Call app_topolo_web.sites.agent_sessions.get with the returned session.id."
            ],
            "recovery": [
              "401 authentication_required: Authenticate again with Topolo Auth, then retry once.",
              "403 permission_denied: Use a credential with studio:write for the selected workspace.",
              "404 site_not_found: List sites in the selected workspace and retry with a returned site id."
            ],
            "docs_url": "https://docs.topolo.app/applications/web#agent-editing",
            "resource": {
              "kind": "agent_session",
              "idPath": "session.id"
            },
            "next_action_ids": [
              "app_topolo_web.sites.agent_sessions.messages.create"
            ],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/studio/sites/*/agent/sessions",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.agent_sessions.messages.create",
          "title": "Sites Agent Sessions Messages Create",
          "description": "Call POST /studio/sites/{siteId}/agent/sessions/{sessionId}/messages.",
          "method": "POST",
          "path": "/api/studio/sites/{siteId}/agent/sessions/{sessionId}/messages",
          "permission": "studio:write",
          "requiresConfirmation": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "minLength": 1
              },
              "sessionId": {
                "type": "string",
                "minLength": 1
              },
              "content": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "siteId",
              "sessionId",
              "content"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Sites Agent Sessions Messages Create.",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "agentAccess": "confirm",
          "authorizationMode": "static",
          "agentContract": {
            "docsUrl": "https://docs.topolo.app/applications/web#agent-editing",
            "resource": {
              "kind": "agent_proposal",
              "idPath": "proposals.0.id"
            },
            "effects": [
              "Adds one user instruction and creates a pending, reviewable site proposal."
            ],
            "errors": [
              {
                "status": 503,
                "code": "dependency_unavailable",
                "recovery": "Keep the current session, wait for the proposal dependency to recover, then send a new instruction once."
              }
            ],
            "verify": [
              "Call app_topolo_web.sites.agent_sessions.get and confirm the returned pending proposal matches the instruction."
            ],
            "nextActionIds": [
              "app_topolo_web.sites.agent_sessions.proposals.apply",
              "app_topolo_web.sites.agent_sessions.proposals.reject"
            ]
          },
          "documentation": {
            "example_input": {
              "siteId": "example",
              "sessionId": "example",
              "content": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/studio/sites/example/agent/sessions/example/messages",
              "body": {
                "siteId": "example",
                "sessionId": "example",
                "content": "example"
              }
            },
            "effects": "Adds one user instruction and creates a pending, reviewable site proposal.",
            "verification": [
              "Call app_topolo_web.sites.agent_sessions.get and confirm the returned pending proposal matches the instruction."
            ],
            "recovery": [
              "503 dependency_unavailable: Keep the current session, wait for the proposal dependency to recover, then send a new instruction once."
            ],
            "docs_url": "https://docs.topolo.app/applications/web#agent-editing",
            "resource": {
              "kind": "agent_proposal",
              "idPath": "proposals.0.id"
            },
            "next_action_ids": [
              "app_topolo_web.sites.agent_sessions.proposals.apply",
              "app_topolo_web.sites.agent_sessions.proposals.reject"
            ],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/studio/sites/*/agent/sessions/*/messages",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.agent_sessions.proposals.apply",
          "title": "Sites Agent Sessions Proposals Apply",
          "description": "Call POST /studio/sites/{siteId}/agent/sessions/{sessionId}/proposals/{proposalId}/apply.",
          "method": "POST",
          "path": "/api/studio/sites/{siteId}/agent/sessions/{sessionId}/proposals/{proposalId}/apply",
          "permission": "studio:write",
          "requiresConfirmation": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "minLength": 1
              },
              "sessionId": {
                "type": "string",
                "minLength": 1
              },
              "proposalId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "siteId",
              "sessionId",
              "proposalId"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Sites Agent Sessions Proposals Apply.",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "agentAccess": "confirm",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "siteId": "example",
              "sessionId": "example",
              "proposalId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/studio/sites/example/agent/sessions/example/proposals/example/apply",
              "body": {
                "siteId": "example",
                "sessionId": "example",
                "proposalId": "example"
              }
            },
            "effects": "May change state through POST /api/studio/sites/{siteId}/agent/sessions/{sessionId}/proposals/{proposalId}/apply. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/studio/sites/*/agent/sessions/*/proposals/*/apply",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.agent_sessions.proposals.reject",
          "title": "Sites Agent Sessions Proposals Reject",
          "description": "Call POST /studio/sites/{siteId}/agent/sessions/{sessionId}/proposals/{proposalId}/reject.",
          "method": "POST",
          "path": "/api/studio/sites/{siteId}/agent/sessions/{sessionId}/proposals/{proposalId}/reject",
          "permission": "studio:write",
          "requiresConfirmation": true,
          "destructive": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "minLength": 1
              },
              "sessionId": {
                "type": "string",
                "minLength": 1
              },
              "proposalId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "siteId",
              "sessionId",
              "proposalId"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Sites Agent Sessions Proposals Reject.",
            "additionalProperties": true
          },
          "readOnly": false,
          "agentAccess": "confirm",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "siteId": "example",
              "sessionId": "example",
              "proposalId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/studio/sites/example/agent/sessions/example/proposals/example/reject",
              "body": {
                "siteId": "example",
                "sessionId": "example",
                "proposalId": "example"
              }
            },
            "effects": "May change state through POST /api/studio/sites/{siteId}/agent/sessions/{sessionId}/proposals/{proposalId}/reject. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/studio/sites/*/agent/sessions/*/proposals/*/reject",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.generate",
          "title": "Sites Generate",
          "description": "Call POST /studio/sites/{siteId}/generate.",
          "method": "POST",
          "path": "/api/studio/sites/{siteId}/generate",
          "permission": "studio:write",
          "requiresConfirmation": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "intent": {
                "type": "string",
                "enum": [
                  "business_site",
                  "landing_page",
                  "portfolio",
                  "agency",
                  "product_suite"
                ]
              },
              "businessName": {
                "type": "string",
                "minLength": 1
              },
              "businessType": {
                "type": "string",
                "minLength": 1
              },
              "location": {
                "type": "string",
                "minLength": 1
              },
              "audience": {
                "type": "string",
                "minLength": 1
              },
              "offer": {
                "type": "string",
                "minLength": 1
              },
              "tone": {
                "type": "string",
                "minLength": 1
              },
              "differentiators": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "goals": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "prompt": {
                "type": "string",
                "minLength": 1
              },
              "siteId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "siteId"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Sites Generate.",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "agentAccess": "confirm",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "siteId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/studio/sites/example/generate",
              "body": {
                "siteId": "example"
              }
            },
            "effects": "May change state through POST /api/studio/sites/{siteId}/generate. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/studio/sites/*/generate",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.document_nodes.regenerate",
          "title": "Sites Document Nodes Regenerate",
          "description": "Call POST /studio/sites/{siteId}/document/nodes/{nodeId}/regenerate.",
          "method": "POST",
          "path": "/api/studio/sites/{siteId}/document/nodes/{nodeId}/regenerate",
          "permission": "studio:write",
          "requiresConfirmation": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "minLength": 1
              },
              "nodeId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "siteId",
              "nodeId"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Sites Document Nodes Regenerate.",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "agentAccess": "confirm",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "siteId": "example",
              "nodeId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/studio/sites/example/document/nodes/example/regenerate",
              "body": {
                "siteId": "example",
                "nodeId": "example"
              }
            },
            "effects": "May change state through POST /api/studio/sites/{siteId}/document/nodes/{nodeId}/regenerate. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/studio/sites/*/document/nodes/*/regenerate",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.publish",
          "title": "Sites Publish",
          "description": "Call POST /studio/sites/{siteId}/publish.",
          "method": "POST",
          "path": "/api/studio/sites/{siteId}/publish",
          "permission": "publish:write",
          "requiresConfirmation": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "title": "Publish TopoloWeb site",
            "type": "object",
            "description": "Publish one quality-approved site as a new immutable active version.",
            "properties": {
              "siteId": {
                "type": "string",
                "description": "Site identifier returned by sites.build or site discovery.",
                "minLength": 1
              },
              "label": {
                "type": "string",
                "description": "Optional human-readable version label.",
                "minLength": 1
              }
            },
            "required": [
              "siteId"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "description": "Published site, immutable version, quality evidence, and verification URLs.",
            "properties": {
              "site": {
                "$ref": "#/$defs/siteRecord"
              },
              "version": {
                "$ref": "#/$defs/siteVersion"
              },
              "qualityReport": {
                "$ref": "#/$defs/qualityReport"
              },
              "urls": {
                "$ref": "#/$defs/siteUrls"
              }
            },
            "required": [
              "site",
              "version",
              "qualityReport",
              "urls"
            ],
            "additionalProperties": false,
            "$defs": {
              "jsonValue": {
                "description": "A JSON-compatible component property value.",
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "type": "array",
                    "items": {
                      "$ref": "#/$defs/jsonValue"
                    }
                  },
                  {
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/$defs/jsonValue"
                    }
                  }
                ]
              },
              "actionLink": {
                "type": "object",
                "description": "A rendered call-to-action link.",
                "properties": {
                  "label": {
                    "type": "string",
                    "description": "Visible link label.",
                    "minLength": 1
                  },
                  "href": {
                    "type": "string",
                    "description": "Root-relative path, anchor, mailto, tel, or HTTPS URL.",
                    "minLength": 1
                  },
                  "linkKind": {
                    "type": "string",
                    "description": "Whether the link targets a TopoloWeb page or a custom URL.",
                    "enum": [
                      "custom",
                      "page"
                    ]
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the link in a new browser tab."
                  }
                },
                "required": [
                  "label",
                  "href"
                ],
                "additionalProperties": false
              },
              "navigationItem": {
                "type": "object",
                "description": "One site navigation entry.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable navigation item identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Visible navigation label.",
                    "minLength": 1
                  },
                  "href": {
                    "type": "string",
                    "description": "Root-relative path, anchor, or external URL.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Navigation emphasis.",
                    "enum": [
                      "primary",
                      "secondary",
                      "cta"
                    ]
                  },
                  "parentId": {
                    "type": "string",
                    "description": "Optional parent item identifier for one-level menus."
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the link in a new browser tab."
                  }
                },
                "required": [
                  "id",
                  "label",
                  "href",
                  "kind"
                ],
                "additionalProperties": false
              },
              "navigationMenu": {
                "type": "object",
                "description": "A named reusable navigation menu.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable menu identifier.",
                    "minLength": 1
                  },
                  "name": {
                    "type": "string",
                    "description": "Human-readable menu name.",
                    "minLength": 1
                  },
                  "placement": {
                    "type": "string",
                    "description": "Custom menu placement marker.",
                    "const": "custom"
                  },
                  "items": {
                    "type": "array",
                    "description": "Ordered menu entries.",
                    "items": {
                      "$ref": "#/$defs/navigationItem"
                    }
                  }
                },
                "required": [
                  "id",
                  "name",
                  "placement",
                  "items"
                ],
                "additionalProperties": false
              },
              "pageStyleDefaultsBase": {
                "type": "object",
                "description": "Site-wide default layout and typography values.",
                "properties": {
                  "sectionPaddingTop": {
                    "type": "number",
                    "description": "Default section top padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingBottom": {
                    "type": "number",
                    "description": "Default section bottom padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingLeft": {
                    "type": "number",
                    "description": "Default section left padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingRight": {
                    "type": "number",
                    "description": "Default section right padding in pixels.",
                    "minimum": 0
                  },
                  "sectionMarginTop": {
                    "type": "number",
                    "description": "Default section top margin in pixels."
                  },
                  "sectionMarginBottom": {
                    "type": "number",
                    "description": "Default section bottom margin in pixels."
                  },
                  "sectionMarginLeft": {
                    "type": "number",
                    "description": "Default section left margin in pixels."
                  },
                  "sectionMarginRight": {
                    "type": "number",
                    "description": "Default section right margin in pixels."
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Default heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Default heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Default body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Default body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Default card padding in pixels.",
                    "minimum": 0
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Default layout gap in pixels.",
                    "minimum": 0
                  }
                },
                "additionalProperties": false
              },
              "pageStyleDefaults": {
                "type": "object",
                "description": "Desktop page defaults with optional viewport overrides.",
                "properties": {
                  "sectionPaddingTop": {
                    "type": "number",
                    "description": "Default section top padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingBottom": {
                    "type": "number",
                    "description": "Default section bottom padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingLeft": {
                    "type": "number",
                    "description": "Default section left padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingRight": {
                    "type": "number",
                    "description": "Default section right padding in pixels.",
                    "minimum": 0
                  },
                  "sectionMarginTop": {
                    "type": "number",
                    "description": "Default section top margin in pixels."
                  },
                  "sectionMarginBottom": {
                    "type": "number",
                    "description": "Default section bottom margin in pixels."
                  },
                  "sectionMarginLeft": {
                    "type": "number",
                    "description": "Default section left margin in pixels."
                  },
                  "sectionMarginRight": {
                    "type": "number",
                    "description": "Default section right margin in pixels."
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Default heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Default heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Default body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Default body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Default card padding in pixels.",
                    "minimum": 0
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Default layout gap in pixels.",
                    "minimum": 0
                  },
                  "responsive": {
                    "type": "object",
                    "description": "Viewport-specific page-default overrides.",
                    "propertyNames": {
                      "type": "string",
                      "description": "A non-desktop responsive override breakpoint.",
                      "enum": [
                        "4k",
                        "tablet",
                        "mobile"
                      ]
                    },
                    "additionalProperties": {
                      "$ref": "#/$defs/pageStyleDefaultsBase"
                    }
                  }
                },
                "additionalProperties": false
              },
              "theme": {
                "type": "object",
                "description": "Complete TopoloWeb theme and responsive page defaults.",
                "properties": {
                  "primary": {
                    "type": "string",
                    "description": "Primary brand color.",
                    "minLength": 1
                  },
                  "secondary": {
                    "type": "string",
                    "description": "Secondary brand color.",
                    "minLength": 1
                  },
                  "surface": {
                    "type": "string",
                    "description": "Primary surface color.",
                    "minLength": 1
                  },
                  "ink": {
                    "type": "string",
                    "description": "Primary text color.",
                    "minLength": 1
                  },
                  "muted": {
                    "type": "string",
                    "description": "Muted text color.",
                    "minLength": 1
                  },
                  "accent": {
                    "type": "string",
                    "description": "Accent color.",
                    "minLength": 1
                  },
                  "accentSoft": {
                    "type": "string",
                    "description": "Soft accent surface color.",
                    "minLength": 1
                  },
                  "glow": {
                    "type": "string",
                    "description": "Decorative glow color.",
                    "minLength": 1
                  },
                  "headingFont": {
                    "type": "string",
                    "description": "CSS heading font stack.",
                    "minLength": 1
                  },
                  "bodyFont": {
                    "type": "string",
                    "description": "CSS body font stack.",
                    "minLength": 1
                  },
                  "radius": {
                    "type": "string",
                    "description": "Default CSS corner radius.",
                    "minLength": 1
                  },
                  "brandLogoUrl": {
                    "type": "string",
                    "description": "HTTPS brand-logo URL."
                  },
                  "brandLogoAlt": {
                    "type": "string",
                    "description": "Accessible brand-logo description."
                  },
                  "brandLogoWidth": {
                    "type": "string",
                    "description": "CSS brand-logo width."
                  },
                  "brandLogoHeight": {
                    "type": "string",
                    "description": "CSS brand-logo height."
                  },
                  "pageDefaults": {
                    "$ref": "#/$defs/pageStyleDefaults"
                  },
                  "customCss": {
                    "type": "string",
                    "description": "Reviewed site-wide CSS loaded after generated styles."
                  }
                },
                "required": [
                  "primary",
                  "secondary",
                  "surface",
                  "ink",
                  "muted",
                  "accent",
                  "accentSoft",
                  "glow",
                  "headingFont",
                  "bodyFont",
                  "radius"
                ],
                "additionalProperties": false
              },
              "sectionStyleBase": {
                "type": "object",
                "description": "Desktop section style values.",
                "properties": {
                  "backgroundColor": {
                    "type": "string",
                    "description": "CSS background color."
                  },
                  "backgroundImageUrl": {
                    "type": "string",
                    "description": "HTTPS background image URL."
                  },
                  "backgroundMode": {
                    "type": "string",
                    "description": "Background image sizing mode.",
                    "enum": [
                      "cover",
                      "contain",
                      "stretch",
                      "tile"
                    ]
                  },
                  "backgroundPosition": {
                    "type": "string",
                    "description": "Background image position.",
                    "enum": [
                      "center",
                      "top",
                      "bottom",
                      "left",
                      "right",
                      "top left",
                      "top right",
                      "bottom left",
                      "bottom right"
                    ]
                  },
                  "textColor": {
                    "type": "string",
                    "description": "CSS foreground color."
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "imagePlacement": {
                    "type": "string",
                    "description": "Media placement relative to text.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "itemsPlacement": {
                    "type": "string",
                    "description": "Repeated items placement relative to section copy for supported compositions.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "paddingTop": {
                    "type": "number",
                    "description": "Top padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBottom": {
                    "type": "number",
                    "description": "Bottom padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom padding should stay linked."
                  },
                  "paddingLeft": {
                    "type": "number",
                    "description": "Left padding in pixels.",
                    "minimum": 0
                  },
                  "paddingRight": {
                    "type": "number",
                    "description": "Right padding in pixels.",
                    "minimum": 0
                  },
                  "paddingInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right padding should stay linked."
                  },
                  "marginTop": {
                    "type": "number",
                    "description": "Top margin in pixels."
                  },
                  "marginBottom": {
                    "type": "number",
                    "description": "Bottom margin in pixels."
                  },
                  "marginBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom margins should stay linked."
                  },
                  "marginLeft": {
                    "type": "number",
                    "description": "Left margin in pixels."
                  },
                  "marginRight": {
                    "type": "number",
                    "description": "Right margin in pixels."
                  },
                  "marginInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right margins should stay linked."
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Border line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "CSS border color."
                  },
                  "borderRadius": {
                    "type": "number",
                    "description": "Corner radius in pixels.",
                    "minimum": 0
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Heading font size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Body font size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Repeated-card padding in pixels.",
                    "minimum": 0
                  },
                  "columnCount": {
                    "type": "number",
                    "description": "Responsive column count.",
                    "enum": [
                      2,
                      3,
                      4
                    ]
                  },
                  "columnSpans": {
                    "type": "array",
                    "description": "Grid spans for explicit columns.",
                    "items": {
                      "type": "number",
                      "description": "One column span.",
                      "minimum": 1
                    }
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Gap between layout children in pixels.",
                    "minimum": 0
                  },
                  "nestedSectionPadding": {
                    "type": "number",
                    "description": "Padding around nested sections in pixels.",
                    "minimum": 0
                  },
                  "mediaAspectRatio": {
                    "type": "string",
                    "description": "Media aspect ratio.",
                    "enum": [
                      "16 / 9",
                      "4 / 3",
                      "1 / 1",
                      "9 / 16"
                    ]
                  },
                  "mediaFit": {
                    "type": "string",
                    "description": "Media object-fit behavior.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "mediaFocalX": {
                    "type": "number",
                    "description": "Horizontal focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "mediaFocalY": {
                    "type": "number",
                    "description": "Vertical focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerTop": {
                    "type": "boolean",
                    "description": "Whether a top divider is rendered."
                  },
                  "dividerBottom": {
                    "type": "boolean",
                    "description": "Whether a bottom divider is rendered."
                  },
                  "dividerThickness": {
                    "type": "number",
                    "description": "Divider thickness in pixels.",
                    "minimum": 0
                  },
                  "dividerWidth": {
                    "type": "number",
                    "description": "Divider width percentage.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerLineStyle": {
                    "type": "string",
                    "description": "Divider line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "customCss": {
                    "type": "string",
                    "description": "Reviewed CSS declarations scoped to this section."
                  }
                },
                "additionalProperties": false
              },
              "sectionStyle": {
                "type": "object",
                "description": "Section style values with optional responsive overrides.",
                "properties": {
                  "backgroundColor": {
                    "type": "string",
                    "description": "CSS background color."
                  },
                  "backgroundImageUrl": {
                    "type": "string",
                    "description": "HTTPS background image URL."
                  },
                  "backgroundMode": {
                    "type": "string",
                    "description": "Background image sizing mode.",
                    "enum": [
                      "cover",
                      "contain",
                      "stretch",
                      "tile"
                    ]
                  },
                  "backgroundPosition": {
                    "type": "string",
                    "description": "Background image position.",
                    "enum": [
                      "center",
                      "top",
                      "bottom",
                      "left",
                      "right",
                      "top left",
                      "top right",
                      "bottom left",
                      "bottom right"
                    ]
                  },
                  "textColor": {
                    "type": "string",
                    "description": "CSS foreground color."
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "imagePlacement": {
                    "type": "string",
                    "description": "Media placement relative to text.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "itemsPlacement": {
                    "type": "string",
                    "description": "Repeated items placement relative to section copy for supported compositions.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "paddingTop": {
                    "type": "number",
                    "description": "Top padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBottom": {
                    "type": "number",
                    "description": "Bottom padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom padding should stay linked."
                  },
                  "paddingLeft": {
                    "type": "number",
                    "description": "Left padding in pixels.",
                    "minimum": 0
                  },
                  "paddingRight": {
                    "type": "number",
                    "description": "Right padding in pixels.",
                    "minimum": 0
                  },
                  "paddingInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right padding should stay linked."
                  },
                  "marginTop": {
                    "type": "number",
                    "description": "Top margin in pixels."
                  },
                  "marginBottom": {
                    "type": "number",
                    "description": "Bottom margin in pixels."
                  },
                  "marginBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom margins should stay linked."
                  },
                  "marginLeft": {
                    "type": "number",
                    "description": "Left margin in pixels."
                  },
                  "marginRight": {
                    "type": "number",
                    "description": "Right margin in pixels."
                  },
                  "marginInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right margins should stay linked."
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Border line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "CSS border color."
                  },
                  "borderRadius": {
                    "type": "number",
                    "description": "Corner radius in pixels.",
                    "minimum": 0
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Heading font size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Body font size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Repeated-card padding in pixels.",
                    "minimum": 0
                  },
                  "columnCount": {
                    "type": "number",
                    "description": "Responsive column count.",
                    "enum": [
                      2,
                      3,
                      4
                    ]
                  },
                  "columnSpans": {
                    "type": "array",
                    "description": "Grid spans for explicit columns.",
                    "items": {
                      "type": "number",
                      "description": "One column span.",
                      "minimum": 1
                    }
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Gap between layout children in pixels.",
                    "minimum": 0
                  },
                  "nestedSectionPadding": {
                    "type": "number",
                    "description": "Padding around nested sections in pixels.",
                    "minimum": 0
                  },
                  "mediaAspectRatio": {
                    "type": "string",
                    "description": "Media aspect ratio.",
                    "enum": [
                      "16 / 9",
                      "4 / 3",
                      "1 / 1",
                      "9 / 16"
                    ]
                  },
                  "mediaFit": {
                    "type": "string",
                    "description": "Media object-fit behavior.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "mediaFocalX": {
                    "type": "number",
                    "description": "Horizontal focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "mediaFocalY": {
                    "type": "number",
                    "description": "Vertical focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerTop": {
                    "type": "boolean",
                    "description": "Whether a top divider is rendered."
                  },
                  "dividerBottom": {
                    "type": "boolean",
                    "description": "Whether a bottom divider is rendered."
                  },
                  "dividerThickness": {
                    "type": "number",
                    "description": "Divider thickness in pixels.",
                    "minimum": 0
                  },
                  "dividerWidth": {
                    "type": "number",
                    "description": "Divider width percentage.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerLineStyle": {
                    "type": "string",
                    "description": "Divider line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "customCss": {
                    "type": "string",
                    "description": "Reviewed CSS declarations scoped to this section."
                  },
                  "responsive": {
                    "type": "object",
                    "description": "Viewport-specific section-style overrides.",
                    "propertyNames": {
                      "type": "string",
                      "description": "A non-desktop responsive override breakpoint.",
                      "enum": [
                        "4k",
                        "tablet",
                        "mobile"
                      ]
                    },
                    "additionalProperties": {
                      "$ref": "#/$defs/sectionStyleBase"
                    }
                  }
                },
                "additionalProperties": false
              },
              "sectionItemStyleBase": {
                "type": "object",
                "description": "Desktop repeated-item style values.",
                "properties": {
                  "padding": {
                    "type": "number",
                    "description": "Item padding in pixels.",
                    "minimum": 0
                  },
                  "radius": {
                    "type": "number",
                    "description": "Item corner radius in pixels.",
                    "minimum": 0
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Item border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Item border style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "Item border color."
                  },
                  "imageFit": {
                    "type": "string",
                    "description": "Item image fit.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "imageFocalX": {
                    "type": "number",
                    "description": "Horizontal image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "imageFocalY": {
                    "type": "number",
                    "description": "Vertical image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "textPadding": {
                    "type": "number",
                    "description": "Text-panel padding in pixels.",
                    "minimum": 0
                  },
                  "textRadius": {
                    "type": "number",
                    "description": "Text-panel corner radius in pixels.",
                    "minimum": 0
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Item text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Item heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Item heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Item body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Item body line-height multiplier.",
                    "minimum": 0.5
                  }
                },
                "additionalProperties": false
              },
              "sectionItemStyle": {
                "type": "object",
                "description": "Repeated-item style values with optional responsive overrides.",
                "properties": {
                  "padding": {
                    "type": "number",
                    "description": "Item padding in pixels.",
                    "minimum": 0
                  },
                  "radius": {
                    "type": "number",
                    "description": "Item corner radius in pixels.",
                    "minimum": 0
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Item border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Item border style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "Item border color."
                  },
                  "imageFit": {
                    "type": "string",
                    "description": "Item image fit.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "imageFocalX": {
                    "type": "number",
                    "description": "Horizontal image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "imageFocalY": {
                    "type": "number",
                    "description": "Vertical image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "textPadding": {
                    "type": "number",
                    "description": "Text-panel padding in pixels.",
                    "minimum": 0
                  },
                  "textRadius": {
                    "type": "number",
                    "description": "Text-panel corner radius in pixels.",
                    "minimum": 0
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Item text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Item heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Item heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Item body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Item body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "responsive": {
                    "type": "object",
                    "description": "Viewport-specific item-style overrides.",
                    "propertyNames": {
                      "type": "string",
                      "description": "A non-desktop responsive override breakpoint.",
                      "enum": [
                        "4k",
                        "tablet",
                        "mobile"
                      ]
                    },
                    "additionalProperties": {
                      "$ref": "#/$defs/sectionItemStyleBase"
                    }
                  }
                },
                "additionalProperties": false
              },
              "sectionItem": {
                "type": "object",
                "description": "One repeated card, row, quote, metric, question, or media item.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable item identifier.",
                    "minLength": 1
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible item title."
                  },
                  "body": {
                    "type": "string",
                    "description": "Visible supporting copy."
                  },
                  "meta": {
                    "type": "string",
                    "description": "Optional metadata."
                  },
                  "value": {
                    "type": "string",
                    "description": "Optional value or price."
                  },
                  "badge": {
                    "type": "string",
                    "description": "Optional badge label."
                  },
                  "href": {
                    "type": "string",
                    "description": "Optional item link."
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the item link in a new tab."
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Optional item image URL."
                  },
                  "alt": {
                    "type": "string",
                    "description": "Accessible item-image description."
                  },
                  "style": {
                    "$ref": "#/$defs/sectionItemStyle"
                  },
                  "styleClassIds": {
                    "type": "array",
                    "description": "Reusable item style-class identifiers.",
                    "items": {
                      "type": "string",
                      "description": "One style-class identifier.",
                      "minLength": 1
                    }
                  }
                },
                "required": [
                  "id",
                  "title",
                  "body"
                ],
                "additionalProperties": false
              },
              "sectionValue": {
                "type": "object",
                "description": "Renderer-backed block content without persisted child arrays.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable section identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "eyebrow": {
                    "type": "string",
                    "description": "Optional eyebrow copy."
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible section heading."
                  },
                  "body": {
                    "type": "string",
                    "description": "Visible section body copy."
                  },
                  "kicker": {
                    "type": "string",
                    "description": "Optional supporting kicker."
                  },
                  "primaryAction": {
                    "$ref": "#/$defs/actionLink"
                  },
                  "secondaryAction": {
                    "$ref": "#/$defs/actionLink"
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Optional section image URL."
                  },
                  "alt": {
                    "type": "string",
                    "description": "Accessible section-image description."
                  },
                  "presentation": {
                    "type": "string",
                    "description": "A renderer-backed composition designed for the selected block type.",
                    "enum": [
                      "annotated",
                      "cards",
                      "columns",
                      "divided",
                      "editorial",
                      "manifesto",
                      "mosaic",
                      "poster",
                      "ruled",
                      "split",
                      "spotlight",
                      "tiers",
                      "timeline"
                    ]
                  },
                  "styleClassIds": {
                    "type": "array",
                    "description": "Reusable section style-class identifiers.",
                    "items": {
                      "type": "string",
                      "description": "One style-class identifier.",
                      "minLength": 1
                    }
                  },
                  "style": {
                    "$ref": "#/$defs/sectionStyle"
                  },
                  "formId": {
                    "type": "string",
                    "description": "Form identifier for a contact-form block."
                  },
                  "collectionSlug": {
                    "type": "string",
                    "description": "Collection slug bound to this block."
                  },
                  "collectionLimit": {
                    "type": "number",
                    "description": "Maximum collection entries rendered.",
                    "minimum": 1
                  },
                  "collectionSort": {
                    "type": "string",
                    "description": "Collection sorting behavior.",
                    "enum": [
                      "manual",
                      "title_asc",
                      "title_desc",
                      "meta_asc",
                      "meta_desc"
                    ]
                  },
                  "html": {
                    "type": "string",
                    "description": "Reviewed HTML for embed-capable blocks."
                  },
                  "videoUrl": {
                    "type": "string",
                    "description": "Direct, YouTube, or Vimeo video URL."
                  },
                  "videoProvider": {
                    "type": "string",
                    "description": "Video provider.",
                    "enum": [
                      "direct",
                      "youtube",
                      "vimeo"
                    ]
                  },
                  "videoPosterUrl": {
                    "type": "string",
                    "description": "Video poster image URL."
                  },
                  "videoAutoplay": {
                    "type": "boolean",
                    "description": "Autoplay video when allowed."
                  },
                  "videoControls": {
                    "type": "boolean",
                    "description": "Show native video controls."
                  },
                  "videoMuted": {
                    "type": "boolean",
                    "description": "Mute video playback."
                  },
                  "componentName": {
                    "type": "string",
                    "description": "Approved custom component name."
                  },
                  "componentProps": {
                    "type": "object",
                    "description": "Component-specific reviewed JSON properties.",
                    "additionalProperties": {
                      "$ref": "#/$defs/jsonValue"
                    }
                  },
                  "menuId": {
                    "type": "string",
                    "description": "Reusable menu identifier bound to a menu block."
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "title",
                  "body"
                ],
                "additionalProperties": false
              },
              "pageValue": {
                "type": "object",
                "description": "Persisted page metadata.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable page identifier.",
                    "minLength": 1
                  },
                  "slug": {
                    "type": "string",
                    "description": "Root-relative page slug beginning with /.",
                    "pattern": "^/"
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible page heading and title-template input.",
                    "minLength": 1
                  },
                  "description": {
                    "type": "string",
                    "description": "Page search and social description."
                  }
                },
                "required": [
                  "id",
                  "slug",
                  "title",
                  "description"
                ],
                "additionalProperties": false
              },
              "columnValue": {
                "type": "object",
                "description": "Persisted layout-column metadata.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable column identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Optional editor label."
                  },
                  "span": {
                    "type": "number",
                    "description": "Grid span.",
                    "minimum": 1
                  },
                  "style": {
                    "$ref": "#/$defs/sectionStyle"
                  }
                },
                "required": [
                  "id"
                ],
                "additionalProperties": false
              },
              "source": {
                "type": "object",
                "description": "Original product-domain identity for a document node.",
                "properties": {
                  "kind": {
                    "type": "string",
                    "description": "Source record kind.",
                    "enum": [
                      "page",
                      "section",
                      "column",
                      "item"
                    ]
                  },
                  "id": {
                    "type": "string",
                    "description": "Source record identifier.",
                    "minLength": 1
                  }
                },
                "required": [
                  "kind",
                  "id"
                ],
                "additionalProperties": false
              },
              "pageNode": {
                "type": "object",
                "description": "A canonical page node owning exactly one page-body slot.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "page"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Parent node identifier when nested."
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "value": {
                    "$ref": "#/$defs/pageValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Exactly one page-body slot.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "source",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "slotNode": {
                "type": "object",
                "description": "A canonical child slot controlling accepted node kinds.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "slot"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning page, layout, or block node identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "slotKind": {
                    "type": "string",
                    "description": "Child-slot role.",
                    "enum": [
                      "page-body",
                      "layout-column",
                      "block-items"
                    ]
                  },
                  "accepts": {
                    "type": "array",
                    "description": "Document node kinds allowed in this slot.",
                    "items": {
                      "type": "string",
                      "description": "One allowed node kind.",
                      "enum": [
                        "layout",
                        "block",
                        "item"
                      ]
                    }
                  },
                  "parentSectionId": {
                    "type": "string",
                    "description": "Owning section identifier for layout and block slots."
                  },
                  "columnId": {
                    "type": "string",
                    "description": "Column identifier for layout-column slots."
                  },
                  "value": {
                    "$ref": "#/$defs/columnValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Canonical child nodes.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "parentNodeId",
                  "source",
                  "slotKind",
                  "accepts",
                  "children"
                ],
                "additionalProperties": false
              },
              "layoutNode": {
                "type": "object",
                "description": "A canonical layout block owning one or more layout-column slots.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "layout"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning slot identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "layoutKind": {
                    "type": "string",
                    "description": "Layout behavior.",
                    "enum": [
                      "container",
                      "grid",
                      "stack",
                      "flex-row",
                      "columns"
                    ]
                  },
                  "sectionKind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "sectionId": {
                    "type": "string",
                    "description": "Persisted section identifier.",
                    "minLength": 1
                  },
                  "value": {
                    "$ref": "#/$defs/sectionValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Layout-column slots.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "source",
                  "layoutKind",
                  "sectionKind",
                  "sectionId",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "blockNode": {
                "type": "object",
                "description": "A canonical renderer block with optional block-items slot.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "block"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning slot identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "blockKind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "sectionKind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "sectionId": {
                    "type": "string",
                    "description": "Persisted section identifier.",
                    "minLength": 1
                  },
                  "value": {
                    "$ref": "#/$defs/sectionValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Optional block-items slot.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "source",
                  "blockKind",
                  "sectionKind",
                  "sectionId",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "itemNode": {
                "type": "object",
                "description": "A canonical repeated-item leaf node.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "item"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning block-items slot identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "parentSectionId": {
                    "type": "string",
                    "description": "Owning block section identifier.",
                    "minLength": 1
                  },
                  "itemId": {
                    "type": "string",
                    "description": "Persisted item identifier.",
                    "minLength": 1
                  },
                  "value": {
                    "$ref": "#/$defs/sectionItem"
                  },
                  "children": {
                    "type": "array",
                    "description": "Item nodes are leaves and must have no children.",
                    "maxItems": 0
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "parentNodeId",
                  "source",
                  "parentSectionId",
                  "itemId",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "siteDocumentNode": {
                "description": "One canonical TopoloWeb document node.",
                "oneOf": [
                  {
                    "$ref": "#/$defs/pageNode"
                  },
                  {
                    "$ref": "#/$defs/slotNode"
                  },
                  {
                    "$ref": "#/$defs/layoutNode"
                  },
                  {
                    "$ref": "#/$defs/blockNode"
                  },
                  {
                    "$ref": "#/$defs/itemNode"
                  }
                ]
              },
              "siteDocument": {
                "type": "object",
                "description": "Canonical versioned TopoloWeb document tree.",
                "properties": {
                  "version": {
                    "type": "integer",
                    "description": "Document schema version.",
                    "const": 1
                  },
                  "pages": {
                    "type": "array",
                    "description": "Canonical page nodes.",
                    "items": {
                      "$ref": "#/$defs/pageNode"
                    }
                  }
                },
                "required": [
                  "version",
                  "pages"
                ],
                "additionalProperties": false
              },
              "styleClass": {
                "description": "A reusable section or item style class.",
                "oneOf": [
                  {
                    "type": "object",
                    "description": "Reusable section style class.",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Stable style-class identifier.",
                        "minLength": 1
                      },
                      "name": {
                        "type": "string",
                        "description": "Human-readable class name.",
                        "minLength": 1
                      },
                      "targetKind": {
                        "type": "string",
                        "description": "The renderer-backed TopoloWeb block kind.",
                        "enum": [
                          "container",
                          "layout-grid",
                          "stack",
                          "flex-row",
                          "spacer",
                          "hero",
                          "feature-grid",
                          "story",
                          "proof",
                          "header",
                          "announcement",
                          "menu",
                          "columns",
                          "accordion",
                          "faq",
                          "cta",
                          "contact-form",
                          "image",
                          "gallery",
                          "video",
                          "logo-cloud",
                          "stats",
                          "testimonials",
                          "pricing",
                          "comparison-table",
                          "app-grid",
                          "article-list",
                          "legal",
                          "embed",
                          "custom-component",
                          "divider",
                          "footer"
                        ]
                      },
                      "targetScope": {
                        "type": "string",
                        "description": "Style-class target scope.",
                        "const": "section"
                      },
                      "style": {
                        "$ref": "#/$defs/sectionStyle"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "targetKind",
                      "targetScope",
                      "style"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "description": "Reusable repeated-item style class.",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Stable style-class identifier.",
                        "minLength": 1
                      },
                      "name": {
                        "type": "string",
                        "description": "Human-readable class name.",
                        "minLength": 1
                      },
                      "targetKind": {
                        "type": "string",
                        "description": "The renderer-backed TopoloWeb block kind.",
                        "enum": [
                          "container",
                          "layout-grid",
                          "stack",
                          "flex-row",
                          "spacer",
                          "hero",
                          "feature-grid",
                          "story",
                          "proof",
                          "header",
                          "announcement",
                          "menu",
                          "columns",
                          "accordion",
                          "faq",
                          "cta",
                          "contact-form",
                          "image",
                          "gallery",
                          "video",
                          "logo-cloud",
                          "stats",
                          "testimonials",
                          "pricing",
                          "comparison-table",
                          "app-grid",
                          "article-list",
                          "legal",
                          "embed",
                          "custom-component",
                          "divider",
                          "footer"
                        ]
                      },
                      "targetScope": {
                        "type": "string",
                        "description": "Style-class target scope.",
                        "const": "item"
                      },
                      "style": {
                        "$ref": "#/$defs/sectionItemStyle"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "targetKind",
                      "targetScope",
                      "style"
                    ],
                    "additionalProperties": false
                  }
                ]
              },
              "collectionItem": {
                "type": "object",
                "description": "One reusable CMS collection entry.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable collection-item identifier.",
                    "minLength": 1
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible item title.",
                    "minLength": 1
                  },
                  "body": {
                    "type": "string",
                    "description": "Visible item body."
                  },
                  "meta": {
                    "type": "string",
                    "description": "Optional metadata."
                  },
                  "value": {
                    "type": "string",
                    "description": "Optional price or value."
                  },
                  "badge": {
                    "type": "string",
                    "description": "Optional badge label."
                  },
                  "href": {
                    "type": "string",
                    "description": "Optional item link."
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the item link in a new tab."
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Optional item image URL."
                  },
                  "alt": {
                    "type": "string",
                    "description": "Accessible item-image description."
                  }
                },
                "required": [
                  "id",
                  "title",
                  "body"
                ],
                "additionalProperties": false
              },
              "collection": {
                "type": "object",
                "description": "Reusable CMS collection.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable collection identifier.",
                    "minLength": 1
                  },
                  "slug": {
                    "type": "string",
                    "description": "Stable collection slug.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Collection content kind.",
                    "enum": [
                      "apps",
                      "pricing",
                      "articles",
                      "changelog",
                      "legal",
                      "faq",
                      "custom"
                    ]
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable collection label.",
                    "minLength": 1
                  },
                  "items": {
                    "type": "array",
                    "description": "Ordered collection entries.",
                    "items": {
                      "$ref": "#/$defs/collectionItem"
                    }
                  }
                },
                "required": [
                  "id",
                  "slug",
                  "kind",
                  "label",
                  "items"
                ],
                "additionalProperties": false
              },
              "codeSnippet": {
                "type": "object",
                "description": "Reviewed bounded code injection.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable snippet identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable snippet label.",
                    "minLength": 1
                  },
                  "slot": {
                    "type": "string",
                    "description": "Injection slot.",
                    "enum": [
                      "head",
                      "body_start",
                      "body_end"
                    ]
                  },
                  "code": {
                    "type": "string",
                    "description": "Reviewed HTML, CSS, or JavaScript source."
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Whether this snippet is active."
                  }
                },
                "required": [
                  "id",
                  "label",
                  "slot",
                  "code",
                  "enabled"
                ],
                "additionalProperties": false
              },
              "seo": {
                "type": "object",
                "description": "Site-wide search and social metadata defaults.",
                "properties": {
                  "titleTemplate": {
                    "type": "string",
                    "description": "Title template; %s is replaced by the page title."
                  },
                  "metaTitle": {
                    "type": "string",
                    "description": "Default page title override."
                  },
                  "metaDescription": {
                    "type": "string",
                    "description": "Default search and social description."
                  },
                  "faviconUrl": {
                    "type": "string",
                    "description": "Browser and bookmark icon URL."
                  },
                  "openGraphImageUrl": {
                    "type": "string",
                    "description": "Default Open Graph image URL."
                  },
                  "canonicalUrl": {
                    "type": "string",
                    "description": "Canonical site URL."
                  }
                },
                "additionalProperties": false
              },
              "siteContent": {
                "type": "object",
                "description": "Complete canonical TopoloWeb site content.",
                "properties": {
                  "intent": {
                    "type": "string",
                    "description": "The kind of website being created.",
                    "enum": [
                      "business_site",
                      "landing_page",
                      "portfolio",
                      "agency",
                      "product_suite"
                    ]
                  },
                  "siteTitle": {
                    "type": "string",
                    "description": "Public site title.",
                    "minLength": 1
                  },
                  "siteDescription": {
                    "type": "string",
                    "description": "Public site description."
                  },
                  "contactEmail": {
                    "type": "string",
                    "description": "Public contact email.",
                    "minLength": 1
                  },
                  "contactPhone": {
                    "type": "string",
                    "description": "Optional public contact phone number."
                  },
                  "navigation": {
                    "type": "array",
                    "description": "Primary site navigation.",
                    "items": {
                      "$ref": "#/$defs/navigationItem"
                    }
                  },
                  "footerNavigation": {
                    "type": "array",
                    "description": "Footer navigation.",
                    "items": {
                      "$ref": "#/$defs/navigationItem"
                    }
                  },
                  "menus": {
                    "type": "array",
                    "description": "Reusable custom menus.",
                    "items": {
                      "$ref": "#/$defs/navigationMenu"
                    }
                  },
                  "styleClasses": {
                    "type": "array",
                    "description": "Reusable section and item styles.",
                    "items": {
                      "$ref": "#/$defs/styleClass"
                    }
                  },
                  "theme": {
                    "$ref": "#/$defs/theme"
                  },
                  "document": {
                    "$ref": "#/$defs/siteDocument"
                  },
                  "collections": {
                    "type": "array",
                    "description": "Reusable CMS collections.",
                    "items": {
                      "$ref": "#/$defs/collection"
                    }
                  },
                  "codeSnippets": {
                    "type": "array",
                    "description": "Reviewed bounded code snippets.",
                    "items": {
                      "$ref": "#/$defs/codeSnippet"
                    }
                  },
                  "seo": {
                    "$ref": "#/$defs/seo"
                  }
                },
                "required": [
                  "intent",
                  "siteTitle",
                  "siteDescription",
                  "contactEmail",
                  "navigation",
                  "footerNavigation",
                  "menus",
                  "styleClasses",
                  "theme",
                  "document",
                  "collections",
                  "codeSnippets"
                ],
                "additionalProperties": false
              },
              "createSite": {
                "type": "object",
                "description": "Brief used to create a new TopoloWeb site.",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Internal and initial public site name.",
                    "minLength": 1
                  },
                  "intent": {
                    "type": "string",
                    "description": "The kind of website being created.",
                    "enum": [
                      "business_site",
                      "landing_page",
                      "portfolio",
                      "agency",
                      "product_suite"
                    ]
                  },
                  "businessType": {
                    "type": "string",
                    "description": "Business or project category.",
                    "minLength": 1
                  },
                  "audience": {
                    "type": "string",
                    "description": "Primary intended audience.",
                    "minLength": 1
                  },
                  "offer": {
                    "type": "string",
                    "description": "Primary product, service, or proposition.",
                    "minLength": 1
                  },
                  "tone": {
                    "type": "string",
                    "description": "Desired writing and visual tone.",
                    "minLength": 1
                  },
                  "location": {
                    "type": "string",
                    "description": "Optional geographic market."
                  },
                  "differentiators": {
                    "type": "array",
                    "description": "Specific differentiators to communicate.",
                    "items": {
                      "type": "string",
                      "description": "One differentiator."
                    }
                  },
                  "goals": {
                    "type": "array",
                    "description": "Desired user and business outcomes.",
                    "items": {
                      "type": "string",
                      "description": "One goal."
                    }
                  },
                  "prompt": {
                    "type": "string",
                    "description": "Additional generation direction."
                  }
                },
                "required": [
                  "name",
                  "businessType",
                  "audience",
                  "offer",
                  "tone"
                ],
                "additionalProperties": false
              },
              "qualityIssue": {
                "type": "object",
                "description": "One actionable launch-quality finding.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable issue code.",
                    "minLength": 1
                  },
                  "severity": {
                    "type": "string",
                    "description": "Issue severity.",
                    "enum": [
                      "info",
                      "warning",
                      "error"
                    ]
                  },
                  "title": {
                    "type": "string",
                    "description": "Short issue title.",
                    "minLength": 1
                  },
                  "detail": {
                    "type": "string",
                    "description": "Actionable remediation detail.",
                    "minLength": 1
                  }
                },
                "required": [
                  "id",
                  "severity",
                  "title",
                  "detail"
                ],
                "additionalProperties": false
              },
              "qualityReport": {
                "type": "object",
                "description": "Deterministic content and launch-quality report.",
                "properties": {
                  "generatedAt": {
                    "type": "string",
                    "description": "ISO-8601 generation timestamp.",
                    "format": "date-time"
                  },
                  "score": {
                    "type": "number",
                    "description": "Quality score from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "issues": {
                    "type": "array",
                    "description": "Actionable quality findings.",
                    "items": {
                      "$ref": "#/$defs/qualityIssue"
                    }
                  }
                },
                "required": [
                  "generatedAt",
                  "score",
                  "issues"
                ],
                "additionalProperties": false
              },
              "siteRecord": {
                "type": "object",
                "description": "One TopoloWeb site and its current editable content.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable site identifier.",
                    "minLength": 1
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "Owning Topolo organization identifier.",
                    "minLength": 1
                  },
                  "workspaceId": {
                    "type": "string",
                    "description": "Owning Topolo workspace identifier.",
                    "minLength": 1
                  },
                  "slug": {
                    "type": "string",
                    "description": "Platform hostname slug.",
                    "minLength": 1
                  },
                  "name": {
                    "type": "string",
                    "description": "Internal site name.",
                    "minLength": 1
                  },
                  "status": {
                    "type": "string",
                    "description": "Current lifecycle status.",
                    "enum": [
                      "draft",
                      "published",
                      "archived"
                    ]
                  },
                  "brief": {
                    "type": "object",
                    "description": "Generation brief retained for iterative edits.",
                    "additionalProperties": true
                  },
                  "draftContent": {
                    "$ref": "#/$defs/siteContent"
                  },
                  "currentVersionId": {
                    "type": "string",
                    "description": "Currently published immutable version identifier."
                  },
                  "draftPreviewToken": {
                    "type": "string",
                    "description": "Opaque token used by the draft preview URL.",
                    "minLength": 1
                  },
                  "createdAt": {
                    "type": "string",
                    "description": "ISO-8601 creation timestamp.",
                    "format": "date-time"
                  },
                  "updatedAt": {
                    "type": "string",
                    "description": "ISO-8601 last-update timestamp.",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "workspaceId",
                  "slug",
                  "name",
                  "status",
                  "brief",
                  "draftContent",
                  "draftPreviewToken",
                  "createdAt",
                  "updatedAt"
                ],
                "additionalProperties": false
              },
              "siteVersion": {
                "type": "object",
                "description": "One immutable published site version.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable version identifier.",
                    "minLength": 1
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "Owning Topolo organization identifier.",
                    "minLength": 1
                  },
                  "workspaceId": {
                    "type": "string",
                    "description": "Owning Topolo workspace identifier.",
                    "minLength": 1
                  },
                  "siteId": {
                    "type": "string",
                    "description": "Parent site identifier.",
                    "minLength": 1
                  },
                  "versionNumber": {
                    "type": "integer",
                    "description": "Monotonic site version number.",
                    "minimum": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable version label.",
                    "minLength": 1
                  },
                  "snapshot": {
                    "$ref": "#/$defs/siteContent"
                  },
                  "previewToken": {
                    "type": "string",
                    "description": "Opaque immutable-version preview token.",
                    "minLength": 1
                  },
                  "publishedAt": {
                    "type": "string",
                    "description": "ISO-8601 publication timestamp.",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "workspaceId",
                  "siteId",
                  "versionNumber",
                  "label",
                  "snapshot",
                  "previewToken",
                  "publishedAt"
                ],
                "additionalProperties": false
              },
              "siteDomain": {
                "type": "object",
                "description": "One platform or custom site domain.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable domain identifier.",
                    "minLength": 1
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "Owning Topolo organization identifier.",
                    "minLength": 1
                  },
                  "workspaceId": {
                    "type": "string",
                    "description": "Owning Topolo workspace identifier.",
                    "minLength": 1
                  },
                  "siteId": {
                    "type": "string",
                    "description": "Parent site identifier.",
                    "minLength": 1
                  },
                  "hostname": {
                    "type": "string",
                    "description": "Domain hostname without scheme.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Domain ownership kind.",
                    "enum": [
                      "platform",
                      "custom"
                    ]
                  },
                  "status": {
                    "type": "string",
                    "description": "DNS and TLS activation status.",
                    "enum": [
                      "pending_dns",
                      "pending_ssl",
                      "active",
                      "failed"
                    ]
                  },
                  "dnsTarget": {
                    "type": "string",
                    "description": "DNS target required for this domain.",
                    "minLength": 1
                  },
                  "verificationToken": {
                    "type": "string",
                    "description": "Opaque DNS ownership verification token.",
                    "minLength": 1
                  },
                  "isPrimary": {
                    "type": "boolean",
                    "description": "Whether this is the primary public hostname."
                  },
                  "createdAt": {
                    "type": "string",
                    "description": "ISO-8601 creation timestamp.",
                    "format": "date-time"
                  },
                  "updatedAt": {
                    "type": "string",
                    "description": "ISO-8601 last-update timestamp.",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "workspaceId",
                  "siteId",
                  "hostname",
                  "kind",
                  "status",
                  "dnsTarget",
                  "verificationToken",
                  "isPrimary",
                  "createdAt",
                  "updatedAt"
                ],
                "additionalProperties": false
              },
              "siteUrls": {
                "type": "object",
                "description": "Stable URLs used to preview and verify the site.",
                "properties": {
                  "previewUrl": {
                    "type": "string",
                    "description": "Authenticated draft-preview URL.",
                    "format": "uri"
                  },
                  "publicUrl": {
                    "type": "string",
                    "description": "Primary public site URL.",
                    "format": "uri"
                  }
                },
                "required": [
                  "previewUrl",
                  "publicUrl"
                ],
                "additionalProperties": false
              },
              "siteDetails": {
                "type": "object",
                "description": "Complete editable site state returned after a build.",
                "properties": {
                  "site": {
                    "$ref": "#/$defs/siteRecord"
                  },
                  "versions": {
                    "type": "array",
                    "description": "Published immutable versions, newest first.",
                    "items": {
                      "$ref": "#/$defs/siteVersion"
                    }
                  },
                  "domains": {
                    "type": "array",
                    "description": "Platform and custom domains.",
                    "items": {
                      "$ref": "#/$defs/siteDomain"
                    }
                  },
                  "assets": {
                    "type": "array",
                    "description": "Uploaded or linked site assets.",
                    "items": {
                      "type": "object",
                      "description": "One site asset record.",
                      "additionalProperties": true
                    }
                  },
                  "submissions": {
                    "type": "array",
                    "description": "Recent form submissions.",
                    "items": {
                      "type": "object",
                      "description": "One site form submission.",
                      "additionalProperties": true
                    }
                  },
                  "events": {
                    "type": "array",
                    "description": "Recent site lifecycle events.",
                    "items": {
                      "type": "object",
                      "description": "One site event.",
                      "additionalProperties": true
                    }
                  },
                  "insights": {
                    "type": "object",
                    "description": "Derived site activity counters.",
                    "additionalProperties": true
                  },
                  "qualityReport": {
                    "$ref": "#/$defs/qualityReport"
                  },
                  "agentSessions": {
                    "type": "array",
                    "description": "Agent editing sessions.",
                    "items": {
                      "type": "object",
                      "description": "One agent session summary.",
                      "additionalProperties": true
                    }
                  }
                },
                "required": [
                  "site",
                  "versions",
                  "domains",
                  "assets",
                  "submissions",
                  "events",
                  "insights",
                  "qualityReport",
                  "agentSessions"
                ],
                "additionalProperties": false
              }
            }
          },
          "readOnly": false,
          "destructive": false,
          "agentAccess": "confirm",
          "agentContract": {
            "docsUrl": "https://docs.topolo.app/applications/web#publish-and-recover",
            "resource": {
              "kind": "site",
              "idPath": "site.id",
              "versionPath": "version.id"
            },
            "effects": [
              "Creates and activates one immutable published version."
            ],
            "errors": [
              {
                "status": 422,
                "code": "publish_blocked",
                "recovery": "Resolve every error returned by sites.publish.preflight."
              }
            ],
            "verify": [
              "Open urls.publicUrl and confirm the returned version.id is active."
            ],
            "rollbackActionId": "app_topolo_web.sites.versions.restore",
            "nextActionIds": [
              "app_topolo_web.sites.versions.list"
            ],
            "examples": [
              {
                "title": "Publish a quality-approved site",
                "description": "Use the site id returned by sites.build after sites.publish.preflight reports canPublish=true.",
                "input": {
                  "siteId": "site_example",
                  "label": "Launch"
                }
              }
            ]
          },
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "siteId": "site_example",
              "label": "Launch"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/studio/sites/site_example/publish",
              "body": {
                "siteId": "site_example",
                "label": "Launch"
              }
            },
            "effects": "Creates and activates one immutable published version.",
            "verification": [
              "Open urls.publicUrl and confirm the returned version.id is active."
            ],
            "recovery": [
              "422 publish_blocked: Resolve every error returned by sites.publish.preflight."
            ],
            "docs_url": "https://docs.topolo.app/applications/web#publish-and-recover",
            "resource": {
              "kind": "site",
              "idPath": "site.id",
              "versionPath": "version.id"
            },
            "next_action_ids": [
              "app_topolo_web.sites.versions.list"
            ],
            "rollback_action_id": "app_topolo_web.sites.versions.restore"
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/studio/sites/*/publish",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.domains.create",
          "title": "Sites Domains Create",
          "description": "Call POST /studio/sites/{siteId}/domains.",
          "method": "POST",
          "path": "/api/studio/sites/{siteId}/domains",
          "permission": "domains:write",
          "requiresConfirmation": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "minLength": 1
              },
              "hostname": {
                "type": "string",
                "minLength": 1
              },
              "kind": {
                "type": "string",
                "enum": [
                  "platform",
                  "custom"
                ]
              },
              "isPrimary": {
                "type": "boolean"
              }
            },
            "required": [
              "siteId",
              "hostname",
              "kind"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Sites Domains Create.",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "agentAccess": "confirm",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "siteId": "example",
              "hostname": "example",
              "kind": "platform"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/studio/sites/example/domains",
              "body": {
                "siteId": "example",
                "hostname": "example",
                "kind": "platform"
              }
            },
            "effects": "May change state through POST /api/studio/sites/{siteId}/domains. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/studio/sites/*/domains",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.domains.verify",
          "title": "Sites Domains Verify",
          "description": "Call POST /studio/sites/{siteId}/domains/{domainId}/verify.",
          "method": "POST",
          "path": "/api/studio/sites/{siteId}/domains/{domainId}/verify",
          "permission": "domains:write",
          "requiresConfirmation": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "minLength": 1
              },
              "domainId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "siteId",
              "domainId"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Sites Domains Verify.",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "agentAccess": "confirm",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "siteId": "example",
              "domainId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/studio/sites/example/domains/example/verify",
              "body": {
                "siteId": "example",
                "domainId": "example"
              }
            },
            "effects": "May change state through POST /api/studio/sites/{siteId}/domains/{domainId}/verify. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/studio/sites/*/domains/*/verify",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.domains.delete",
          "title": "Delete site domain",
          "description": "Delete one domain from a site.",
          "permission": "domains:write",
          "method": "DELETE",
          "path": "/api/studio/sites/{siteId}/domains/{domainId}",
          "readOnly": false,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "minLength": 1
              },
              "domainId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "siteId",
              "domainId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "target": "api",
          "destructive": true,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "siteId": "example",
              "domainId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "DELETE",
              "path": "/api/studio/sites/example/domains/example",
              "body": null
            },
            "effects": "May change state through DELETE /api/studio/sites/{siteId}/domains/{domainId}. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "DELETE /api/studio/sites/*/domains/*",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.assets.create",
          "title": "Sites Assets Create",
          "description": "Call POST /studio/sites/{siteId}/assets.",
          "method": "POST",
          "path": "/api/studio/sites/{siteId}/assets",
          "permission": "assets:write",
          "requiresConfirmation": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "minLength": 1
              },
              "label": {
                "type": "string",
                "minLength": 1
              },
              "kind": {
                "type": "string",
                "enum": [
                  "favicon",
                  "logo",
                  "hero",
                  "gallery",
                  "proof",
                  "poster",
                  "video"
                ]
              },
              "url": {
                "type": "string",
                "minLength": 1
              },
              "alt": {
                "type": "string"
              }
            },
            "required": [
              "siteId",
              "label",
              "kind",
              "url",
              "alt"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Sites Assets Create.",
            "additionalProperties": true
          },
          "readOnly": false,
          "destructive": false,
          "agentAccess": "confirm",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "siteId": "example",
              "label": "example",
              "kind": "favicon",
              "url": "https://example.com",
              "alt": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/studio/sites/example/assets",
              "body": {
                "siteId": "example",
                "label": "example",
                "kind": "favicon",
                "url": "https://example.com",
                "alt": "example"
              }
            },
            "effects": "May change state through POST /api/studio/sites/{siteId}/assets. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/studio/sites/*/assets",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.assets.upload",
          "title": "Upload site asset",
          "description": "Upload a base64-encoded image or video asset to one site.",
          "permission": "assets:write",
          "method": "POST",
          "path": "/api/studio/sites/{siteId}/assets/upload",
          "readOnly": false,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "minLength": 1
              },
              "label": {
                "type": "string",
                "minLength": 1
              },
              "kind": {
                "type": "string",
                "enum": [
                  "favicon",
                  "logo",
                  "hero",
                  "gallery",
                  "proof",
                  "poster",
                  "video"
                ]
              },
              "fileName": {
                "type": "string",
                "minLength": 1
              },
              "contentType": {
                "type": "string",
                "minLength": 1
              },
              "dataBase64": {
                "type": "string",
                "minLength": 1
              },
              "alt": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "siteId",
              "label",
              "kind",
              "fileName",
              "contentType",
              "dataBase64",
              "alt"
            ],
            "additionalProperties": false
          },
          "agentContract": {
            "upload": {
              "profile": "inline-base64",
              "contentField": "dataBase64",
              "contentTypeField": "contentType",
              "fileNameField": "fileName",
              "maxBytes": 16777216,
              "acceptedContentTypes": [
                "image/jpeg",
                "image/png",
                "image/webp",
                "image/gif",
                "image/svg+xml",
                "video/mp4",
                "video/webm",
                "video/ogg"
              ]
            }
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "target": "api",
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "siteId": "example",
              "label": "example",
              "kind": "favicon",
              "fileName": "example",
              "contentType": "example",
              "dataBase64": "example",
              "alt": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/studio/sites/example/assets/upload",
              "body": {
                "siteId": "example",
                "label": "example",
                "kind": "favicon",
                "fileName": "example",
                "contentType": "example",
                "dataBase64": "example",
                "alt": "example"
              }
            },
            "effects": "May change state through POST /api/studio/sites/{siteId}/assets/upload. Inspect the plan and honor the published confirmation policy.",
            "verification": [
              "Check the structured action result.",
              "Read the affected resource back through the corresponding get or list action."
            ],
            "recovery": [
              "Do not retry an ambiguous mutation until a read confirms whether it applied.",
              "Use a published inverse, update, archive, or delete action only after inspecting its contract."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/studio/sites/*/assets/upload",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "widget.get",
          "title": "Get widget summary",
          "description": "Get the TopoloOne widget summary for this service.",
          "method": "GET",
          "path": "/api/widget",
          "permission": "runtime:read",
          "readOnly": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {},
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "target": "api",
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/widget",
              "body": null
            },
            "effects": "Reads state through GET /api/widget without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/widget",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.list",
          "title": "Sites List",
          "description": "Call GET /studio/sites.",
          "method": "GET",
          "path": "/api/studio/sites",
          "permission": "studio:read",
          "readOnly": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {},
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Sites List.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/studio/sites",
              "body": null
            },
            "effects": "Reads state through GET /api/studio/sites without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/studio/sites",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.get",
          "title": "Sites Get",
          "description": "Call GET /studio/sites/{siteId}.",
          "method": "GET",
          "path": "/api/studio/sites/{siteId}",
          "permission": "studio:read",
          "readOnly": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "siteId"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Sites Get.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "siteId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/studio/sites/example",
              "body": null
            },
            "effects": "Reads state through GET /api/studio/sites/{siteId} without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/studio/sites/*",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.quality.get",
          "title": "Get site quality",
          "description": "Get deterministic content and launch-quality findings for one site.",
          "permission": "studio:read",
          "method": "GET",
          "path": "/api/studio/sites/{siteId}/quality",
          "readOnly": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "siteId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "$ref": "#/$defs/qualityReport",
            "$defs": {
              "jsonValue": {
                "description": "A JSON-compatible component property value.",
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "type": "array",
                    "items": {
                      "$ref": "#/$defs/jsonValue"
                    }
                  },
                  {
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/$defs/jsonValue"
                    }
                  }
                ]
              },
              "actionLink": {
                "type": "object",
                "description": "A rendered call-to-action link.",
                "properties": {
                  "label": {
                    "type": "string",
                    "description": "Visible link label.",
                    "minLength": 1
                  },
                  "href": {
                    "type": "string",
                    "description": "Root-relative path, anchor, mailto, tel, or HTTPS URL.",
                    "minLength": 1
                  },
                  "linkKind": {
                    "type": "string",
                    "description": "Whether the link targets a TopoloWeb page or a custom URL.",
                    "enum": [
                      "custom",
                      "page"
                    ]
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the link in a new browser tab."
                  }
                },
                "required": [
                  "label",
                  "href"
                ],
                "additionalProperties": false
              },
              "navigationItem": {
                "type": "object",
                "description": "One site navigation entry.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable navigation item identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Visible navigation label.",
                    "minLength": 1
                  },
                  "href": {
                    "type": "string",
                    "description": "Root-relative path, anchor, or external URL.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Navigation emphasis.",
                    "enum": [
                      "primary",
                      "secondary",
                      "cta"
                    ]
                  },
                  "parentId": {
                    "type": "string",
                    "description": "Optional parent item identifier for one-level menus."
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the link in a new browser tab."
                  }
                },
                "required": [
                  "id",
                  "label",
                  "href",
                  "kind"
                ],
                "additionalProperties": false
              },
              "navigationMenu": {
                "type": "object",
                "description": "A named reusable navigation menu.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable menu identifier.",
                    "minLength": 1
                  },
                  "name": {
                    "type": "string",
                    "description": "Human-readable menu name.",
                    "minLength": 1
                  },
                  "placement": {
                    "type": "string",
                    "description": "Custom menu placement marker.",
                    "const": "custom"
                  },
                  "items": {
                    "type": "array",
                    "description": "Ordered menu entries.",
                    "items": {
                      "$ref": "#/$defs/navigationItem"
                    }
                  }
                },
                "required": [
                  "id",
                  "name",
                  "placement",
                  "items"
                ],
                "additionalProperties": false
              },
              "pageStyleDefaultsBase": {
                "type": "object",
                "description": "Site-wide default layout and typography values.",
                "properties": {
                  "sectionPaddingTop": {
                    "type": "number",
                    "description": "Default section top padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingBottom": {
                    "type": "number",
                    "description": "Default section bottom padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingLeft": {
                    "type": "number",
                    "description": "Default section left padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingRight": {
                    "type": "number",
                    "description": "Default section right padding in pixels.",
                    "minimum": 0
                  },
                  "sectionMarginTop": {
                    "type": "number",
                    "description": "Default section top margin in pixels."
                  },
                  "sectionMarginBottom": {
                    "type": "number",
                    "description": "Default section bottom margin in pixels."
                  },
                  "sectionMarginLeft": {
                    "type": "number",
                    "description": "Default section left margin in pixels."
                  },
                  "sectionMarginRight": {
                    "type": "number",
                    "description": "Default section right margin in pixels."
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Default heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Default heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Default body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Default body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Default card padding in pixels.",
                    "minimum": 0
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Default layout gap in pixels.",
                    "minimum": 0
                  }
                },
                "additionalProperties": false
              },
              "pageStyleDefaults": {
                "type": "object",
                "description": "Desktop page defaults with optional viewport overrides.",
                "properties": {
                  "sectionPaddingTop": {
                    "type": "number",
                    "description": "Default section top padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingBottom": {
                    "type": "number",
                    "description": "Default section bottom padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingLeft": {
                    "type": "number",
                    "description": "Default section left padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingRight": {
                    "type": "number",
                    "description": "Default section right padding in pixels.",
                    "minimum": 0
                  },
                  "sectionMarginTop": {
                    "type": "number",
                    "description": "Default section top margin in pixels."
                  },
                  "sectionMarginBottom": {
                    "type": "number",
                    "description": "Default section bottom margin in pixels."
                  },
                  "sectionMarginLeft": {
                    "type": "number",
                    "description": "Default section left margin in pixels."
                  },
                  "sectionMarginRight": {
                    "type": "number",
                    "description": "Default section right margin in pixels."
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Default heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Default heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Default body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Default body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Default card padding in pixels.",
                    "minimum": 0
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Default layout gap in pixels.",
                    "minimum": 0
                  },
                  "responsive": {
                    "type": "object",
                    "description": "Viewport-specific page-default overrides.",
                    "propertyNames": {
                      "type": "string",
                      "description": "A non-desktop responsive override breakpoint.",
                      "enum": [
                        "4k",
                        "tablet",
                        "mobile"
                      ]
                    },
                    "additionalProperties": {
                      "$ref": "#/$defs/pageStyleDefaultsBase"
                    }
                  }
                },
                "additionalProperties": false
              },
              "theme": {
                "type": "object",
                "description": "Complete TopoloWeb theme and responsive page defaults.",
                "properties": {
                  "primary": {
                    "type": "string",
                    "description": "Primary brand color.",
                    "minLength": 1
                  },
                  "secondary": {
                    "type": "string",
                    "description": "Secondary brand color.",
                    "minLength": 1
                  },
                  "surface": {
                    "type": "string",
                    "description": "Primary surface color.",
                    "minLength": 1
                  },
                  "ink": {
                    "type": "string",
                    "description": "Primary text color.",
                    "minLength": 1
                  },
                  "muted": {
                    "type": "string",
                    "description": "Muted text color.",
                    "minLength": 1
                  },
                  "accent": {
                    "type": "string",
                    "description": "Accent color.",
                    "minLength": 1
                  },
                  "accentSoft": {
                    "type": "string",
                    "description": "Soft accent surface color.",
                    "minLength": 1
                  },
                  "glow": {
                    "type": "string",
                    "description": "Decorative glow color.",
                    "minLength": 1
                  },
                  "headingFont": {
                    "type": "string",
                    "description": "CSS heading font stack.",
                    "minLength": 1
                  },
                  "bodyFont": {
                    "type": "string",
                    "description": "CSS body font stack.",
                    "minLength": 1
                  },
                  "radius": {
                    "type": "string",
                    "description": "Default CSS corner radius.",
                    "minLength": 1
                  },
                  "brandLogoUrl": {
                    "type": "string",
                    "description": "HTTPS brand-logo URL."
                  },
                  "brandLogoAlt": {
                    "type": "string",
                    "description": "Accessible brand-logo description."
                  },
                  "brandLogoWidth": {
                    "type": "string",
                    "description": "CSS brand-logo width."
                  },
                  "brandLogoHeight": {
                    "type": "string",
                    "description": "CSS brand-logo height."
                  },
                  "pageDefaults": {
                    "$ref": "#/$defs/pageStyleDefaults"
                  },
                  "customCss": {
                    "type": "string",
                    "description": "Reviewed site-wide CSS loaded after generated styles."
                  }
                },
                "required": [
                  "primary",
                  "secondary",
                  "surface",
                  "ink",
                  "muted",
                  "accent",
                  "accentSoft",
                  "glow",
                  "headingFont",
                  "bodyFont",
                  "radius"
                ],
                "additionalProperties": false
              },
              "sectionStyleBase": {
                "type": "object",
                "description": "Desktop section style values.",
                "properties": {
                  "backgroundColor": {
                    "type": "string",
                    "description": "CSS background color."
                  },
                  "backgroundImageUrl": {
                    "type": "string",
                    "description": "HTTPS background image URL."
                  },
                  "backgroundMode": {
                    "type": "string",
                    "description": "Background image sizing mode.",
                    "enum": [
                      "cover",
                      "contain",
                      "stretch",
                      "tile"
                    ]
                  },
                  "backgroundPosition": {
                    "type": "string",
                    "description": "Background image position.",
                    "enum": [
                      "center",
                      "top",
                      "bottom",
                      "left",
                      "right",
                      "top left",
                      "top right",
                      "bottom left",
                      "bottom right"
                    ]
                  },
                  "textColor": {
                    "type": "string",
                    "description": "CSS foreground color."
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "imagePlacement": {
                    "type": "string",
                    "description": "Media placement relative to text.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "itemsPlacement": {
                    "type": "string",
                    "description": "Repeated items placement relative to section copy for supported compositions.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "paddingTop": {
                    "type": "number",
                    "description": "Top padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBottom": {
                    "type": "number",
                    "description": "Bottom padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom padding should stay linked."
                  },
                  "paddingLeft": {
                    "type": "number",
                    "description": "Left padding in pixels.",
                    "minimum": 0
                  },
                  "paddingRight": {
                    "type": "number",
                    "description": "Right padding in pixels.",
                    "minimum": 0
                  },
                  "paddingInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right padding should stay linked."
                  },
                  "marginTop": {
                    "type": "number",
                    "description": "Top margin in pixels."
                  },
                  "marginBottom": {
                    "type": "number",
                    "description": "Bottom margin in pixels."
                  },
                  "marginBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom margins should stay linked."
                  },
                  "marginLeft": {
                    "type": "number",
                    "description": "Left margin in pixels."
                  },
                  "marginRight": {
                    "type": "number",
                    "description": "Right margin in pixels."
                  },
                  "marginInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right margins should stay linked."
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Border line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "CSS border color."
                  },
                  "borderRadius": {
                    "type": "number",
                    "description": "Corner radius in pixels.",
                    "minimum": 0
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Heading font size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Body font size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Repeated-card padding in pixels.",
                    "minimum": 0
                  },
                  "columnCount": {
                    "type": "number",
                    "description": "Responsive column count.",
                    "enum": [
                      2,
                      3,
                      4
                    ]
                  },
                  "columnSpans": {
                    "type": "array",
                    "description": "Grid spans for explicit columns.",
                    "items": {
                      "type": "number",
                      "description": "One column span.",
                      "minimum": 1
                    }
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Gap between layout children in pixels.",
                    "minimum": 0
                  },
                  "nestedSectionPadding": {
                    "type": "number",
                    "description": "Padding around nested sections in pixels.",
                    "minimum": 0
                  },
                  "mediaAspectRatio": {
                    "type": "string",
                    "description": "Media aspect ratio.",
                    "enum": [
                      "16 / 9",
                      "4 / 3",
                      "1 / 1",
                      "9 / 16"
                    ]
                  },
                  "mediaFit": {
                    "type": "string",
                    "description": "Media object-fit behavior.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "mediaFocalX": {
                    "type": "number",
                    "description": "Horizontal focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "mediaFocalY": {
                    "type": "number",
                    "description": "Vertical focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerTop": {
                    "type": "boolean",
                    "description": "Whether a top divider is rendered."
                  },
                  "dividerBottom": {
                    "type": "boolean",
                    "description": "Whether a bottom divider is rendered."
                  },
                  "dividerThickness": {
                    "type": "number",
                    "description": "Divider thickness in pixels.",
                    "minimum": 0
                  },
                  "dividerWidth": {
                    "type": "number",
                    "description": "Divider width percentage.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerLineStyle": {
                    "type": "string",
                    "description": "Divider line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "customCss": {
                    "type": "string",
                    "description": "Reviewed CSS declarations scoped to this section."
                  }
                },
                "additionalProperties": false
              },
              "sectionStyle": {
                "type": "object",
                "description": "Section style values with optional responsive overrides.",
                "properties": {
                  "backgroundColor": {
                    "type": "string",
                    "description": "CSS background color."
                  },
                  "backgroundImageUrl": {
                    "type": "string",
                    "description": "HTTPS background image URL."
                  },
                  "backgroundMode": {
                    "type": "string",
                    "description": "Background image sizing mode.",
                    "enum": [
                      "cover",
                      "contain",
                      "stretch",
                      "tile"
                    ]
                  },
                  "backgroundPosition": {
                    "type": "string",
                    "description": "Background image position.",
                    "enum": [
                      "center",
                      "top",
                      "bottom",
                      "left",
                      "right",
                      "top left",
                      "top right",
                      "bottom left",
                      "bottom right"
                    ]
                  },
                  "textColor": {
                    "type": "string",
                    "description": "CSS foreground color."
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "imagePlacement": {
                    "type": "string",
                    "description": "Media placement relative to text.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "itemsPlacement": {
                    "type": "string",
                    "description": "Repeated items placement relative to section copy for supported compositions.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "paddingTop": {
                    "type": "number",
                    "description": "Top padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBottom": {
                    "type": "number",
                    "description": "Bottom padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom padding should stay linked."
                  },
                  "paddingLeft": {
                    "type": "number",
                    "description": "Left padding in pixels.",
                    "minimum": 0
                  },
                  "paddingRight": {
                    "type": "number",
                    "description": "Right padding in pixels.",
                    "minimum": 0
                  },
                  "paddingInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right padding should stay linked."
                  },
                  "marginTop": {
                    "type": "number",
                    "description": "Top margin in pixels."
                  },
                  "marginBottom": {
                    "type": "number",
                    "description": "Bottom margin in pixels."
                  },
                  "marginBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom margins should stay linked."
                  },
                  "marginLeft": {
                    "type": "number",
                    "description": "Left margin in pixels."
                  },
                  "marginRight": {
                    "type": "number",
                    "description": "Right margin in pixels."
                  },
                  "marginInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right margins should stay linked."
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Border line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "CSS border color."
                  },
                  "borderRadius": {
                    "type": "number",
                    "description": "Corner radius in pixels.",
                    "minimum": 0
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Heading font size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Body font size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Repeated-card padding in pixels.",
                    "minimum": 0
                  },
                  "columnCount": {
                    "type": "number",
                    "description": "Responsive column count.",
                    "enum": [
                      2,
                      3,
                      4
                    ]
                  },
                  "columnSpans": {
                    "type": "array",
                    "description": "Grid spans for explicit columns.",
                    "items": {
                      "type": "number",
                      "description": "One column span.",
                      "minimum": 1
                    }
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Gap between layout children in pixels.",
                    "minimum": 0
                  },
                  "nestedSectionPadding": {
                    "type": "number",
                    "description": "Padding around nested sections in pixels.",
                    "minimum": 0
                  },
                  "mediaAspectRatio": {
                    "type": "string",
                    "description": "Media aspect ratio.",
                    "enum": [
                      "16 / 9",
                      "4 / 3",
                      "1 / 1",
                      "9 / 16"
                    ]
                  },
                  "mediaFit": {
                    "type": "string",
                    "description": "Media object-fit behavior.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "mediaFocalX": {
                    "type": "number",
                    "description": "Horizontal focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "mediaFocalY": {
                    "type": "number",
                    "description": "Vertical focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerTop": {
                    "type": "boolean",
                    "description": "Whether a top divider is rendered."
                  },
                  "dividerBottom": {
                    "type": "boolean",
                    "description": "Whether a bottom divider is rendered."
                  },
                  "dividerThickness": {
                    "type": "number",
                    "description": "Divider thickness in pixels.",
                    "minimum": 0
                  },
                  "dividerWidth": {
                    "type": "number",
                    "description": "Divider width percentage.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerLineStyle": {
                    "type": "string",
                    "description": "Divider line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "customCss": {
                    "type": "string",
                    "description": "Reviewed CSS declarations scoped to this section."
                  },
                  "responsive": {
                    "type": "object",
                    "description": "Viewport-specific section-style overrides.",
                    "propertyNames": {
                      "type": "string",
                      "description": "A non-desktop responsive override breakpoint.",
                      "enum": [
                        "4k",
                        "tablet",
                        "mobile"
                      ]
                    },
                    "additionalProperties": {
                      "$ref": "#/$defs/sectionStyleBase"
                    }
                  }
                },
                "additionalProperties": false
              },
              "sectionItemStyleBase": {
                "type": "object",
                "description": "Desktop repeated-item style values.",
                "properties": {
                  "padding": {
                    "type": "number",
                    "description": "Item padding in pixels.",
                    "minimum": 0
                  },
                  "radius": {
                    "type": "number",
                    "description": "Item corner radius in pixels.",
                    "minimum": 0
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Item border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Item border style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "Item border color."
                  },
                  "imageFit": {
                    "type": "string",
                    "description": "Item image fit.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "imageFocalX": {
                    "type": "number",
                    "description": "Horizontal image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "imageFocalY": {
                    "type": "number",
                    "description": "Vertical image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "textPadding": {
                    "type": "number",
                    "description": "Text-panel padding in pixels.",
                    "minimum": 0
                  },
                  "textRadius": {
                    "type": "number",
                    "description": "Text-panel corner radius in pixels.",
                    "minimum": 0
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Item text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Item heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Item heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Item body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Item body line-height multiplier.",
                    "minimum": 0.5
                  }
                },
                "additionalProperties": false
              },
              "sectionItemStyle": {
                "type": "object",
                "description": "Repeated-item style values with optional responsive overrides.",
                "properties": {
                  "padding": {
                    "type": "number",
                    "description": "Item padding in pixels.",
                    "minimum": 0
                  },
                  "radius": {
                    "type": "number",
                    "description": "Item corner radius in pixels.",
                    "minimum": 0
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Item border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Item border style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "Item border color."
                  },
                  "imageFit": {
                    "type": "string",
                    "description": "Item image fit.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "imageFocalX": {
                    "type": "number",
                    "description": "Horizontal image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "imageFocalY": {
                    "type": "number",
                    "description": "Vertical image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "textPadding": {
                    "type": "number",
                    "description": "Text-panel padding in pixels.",
                    "minimum": 0
                  },
                  "textRadius": {
                    "type": "number",
                    "description": "Text-panel corner radius in pixels.",
                    "minimum": 0
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Item text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Item heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Item heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Item body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Item body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "responsive": {
                    "type": "object",
                    "description": "Viewport-specific item-style overrides.",
                    "propertyNames": {
                      "type": "string",
                      "description": "A non-desktop responsive override breakpoint.",
                      "enum": [
                        "4k",
                        "tablet",
                        "mobile"
                      ]
                    },
                    "additionalProperties": {
                      "$ref": "#/$defs/sectionItemStyleBase"
                    }
                  }
                },
                "additionalProperties": false
              },
              "sectionItem": {
                "type": "object",
                "description": "One repeated card, row, quote, metric, question, or media item.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable item identifier.",
                    "minLength": 1
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible item title."
                  },
                  "body": {
                    "type": "string",
                    "description": "Visible supporting copy."
                  },
                  "meta": {
                    "type": "string",
                    "description": "Optional metadata."
                  },
                  "value": {
                    "type": "string",
                    "description": "Optional value or price."
                  },
                  "badge": {
                    "type": "string",
                    "description": "Optional badge label."
                  },
                  "href": {
                    "type": "string",
                    "description": "Optional item link."
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the item link in a new tab."
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Optional item image URL."
                  },
                  "alt": {
                    "type": "string",
                    "description": "Accessible item-image description."
                  },
                  "style": {
                    "$ref": "#/$defs/sectionItemStyle"
                  },
                  "styleClassIds": {
                    "type": "array",
                    "description": "Reusable item style-class identifiers.",
                    "items": {
                      "type": "string",
                      "description": "One style-class identifier.",
                      "minLength": 1
                    }
                  }
                },
                "required": [
                  "id",
                  "title",
                  "body"
                ],
                "additionalProperties": false
              },
              "sectionValue": {
                "type": "object",
                "description": "Renderer-backed block content without persisted child arrays.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable section identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "eyebrow": {
                    "type": "string",
                    "description": "Optional eyebrow copy."
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible section heading."
                  },
                  "body": {
                    "type": "string",
                    "description": "Visible section body copy."
                  },
                  "kicker": {
                    "type": "string",
                    "description": "Optional supporting kicker."
                  },
                  "primaryAction": {
                    "$ref": "#/$defs/actionLink"
                  },
                  "secondaryAction": {
                    "$ref": "#/$defs/actionLink"
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Optional section image URL."
                  },
                  "alt": {
                    "type": "string",
                    "description": "Accessible section-image description."
                  },
                  "presentation": {
                    "type": "string",
                    "description": "A renderer-backed composition designed for the selected block type.",
                    "enum": [
                      "annotated",
                      "cards",
                      "columns",
                      "divided",
                      "editorial",
                      "manifesto",
                      "mosaic",
                      "poster",
                      "ruled",
                      "split",
                      "spotlight",
                      "tiers",
                      "timeline"
                    ]
                  },
                  "styleClassIds": {
                    "type": "array",
                    "description": "Reusable section style-class identifiers.",
                    "items": {
                      "type": "string",
                      "description": "One style-class identifier.",
                      "minLength": 1
                    }
                  },
                  "style": {
                    "$ref": "#/$defs/sectionStyle"
                  },
                  "formId": {
                    "type": "string",
                    "description": "Form identifier for a contact-form block."
                  },
                  "collectionSlug": {
                    "type": "string",
                    "description": "Collection slug bound to this block."
                  },
                  "collectionLimit": {
                    "type": "number",
                    "description": "Maximum collection entries rendered.",
                    "minimum": 1
                  },
                  "collectionSort": {
                    "type": "string",
                    "description": "Collection sorting behavior.",
                    "enum": [
                      "manual",
                      "title_asc",
                      "title_desc",
                      "meta_asc",
                      "meta_desc"
                    ]
                  },
                  "html": {
                    "type": "string",
                    "description": "Reviewed HTML for embed-capable blocks."
                  },
                  "videoUrl": {
                    "type": "string",
                    "description": "Direct, YouTube, or Vimeo video URL."
                  },
                  "videoProvider": {
                    "type": "string",
                    "description": "Video provider.",
                    "enum": [
                      "direct",
                      "youtube",
                      "vimeo"
                    ]
                  },
                  "videoPosterUrl": {
                    "type": "string",
                    "description": "Video poster image URL."
                  },
                  "videoAutoplay": {
                    "type": "boolean",
                    "description": "Autoplay video when allowed."
                  },
                  "videoControls": {
                    "type": "boolean",
                    "description": "Show native video controls."
                  },
                  "videoMuted": {
                    "type": "boolean",
                    "description": "Mute video playback."
                  },
                  "componentName": {
                    "type": "string",
                    "description": "Approved custom component name."
                  },
                  "componentProps": {
                    "type": "object",
                    "description": "Component-specific reviewed JSON properties.",
                    "additionalProperties": {
                      "$ref": "#/$defs/jsonValue"
                    }
                  },
                  "menuId": {
                    "type": "string",
                    "description": "Reusable menu identifier bound to a menu block."
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "title",
                  "body"
                ],
                "additionalProperties": false
              },
              "pageValue": {
                "type": "object",
                "description": "Persisted page metadata.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable page identifier.",
                    "minLength": 1
                  },
                  "slug": {
                    "type": "string",
                    "description": "Root-relative page slug beginning with /.",
                    "pattern": "^/"
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible page heading and title-template input.",
                    "minLength": 1
                  },
                  "description": {
                    "type": "string",
                    "description": "Page search and social description."
                  }
                },
                "required": [
                  "id",
                  "slug",
                  "title",
                  "description"
                ],
                "additionalProperties": false
              },
              "columnValue": {
                "type": "object",
                "description": "Persisted layout-column metadata.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable column identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Optional editor label."
                  },
                  "span": {
                    "type": "number",
                    "description": "Grid span.",
                    "minimum": 1
                  },
                  "style": {
                    "$ref": "#/$defs/sectionStyle"
                  }
                },
                "required": [
                  "id"
                ],
                "additionalProperties": false
              },
              "source": {
                "type": "object",
                "description": "Original product-domain identity for a document node.",
                "properties": {
                  "kind": {
                    "type": "string",
                    "description": "Source record kind.",
                    "enum": [
                      "page",
                      "section",
                      "column",
                      "item"
                    ]
                  },
                  "id": {
                    "type": "string",
                    "description": "Source record identifier.",
                    "minLength": 1
                  }
                },
                "required": [
                  "kind",
                  "id"
                ],
                "additionalProperties": false
              },
              "pageNode": {
                "type": "object",
                "description": "A canonical page node owning exactly one page-body slot.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "page"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Parent node identifier when nested."
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "value": {
                    "$ref": "#/$defs/pageValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Exactly one page-body slot.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "source",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "slotNode": {
                "type": "object",
                "description": "A canonical child slot controlling accepted node kinds.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "slot"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning page, layout, or block node identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "slotKind": {
                    "type": "string",
                    "description": "Child-slot role.",
                    "enum": [
                      "page-body",
                      "layout-column",
                      "block-items"
                    ]
                  },
                  "accepts": {
                    "type": "array",
                    "description": "Document node kinds allowed in this slot.",
                    "items": {
                      "type": "string",
                      "description": "One allowed node kind.",
                      "enum": [
                        "layout",
                        "block",
                        "item"
                      ]
                    }
                  },
                  "parentSectionId": {
                    "type": "string",
                    "description": "Owning section identifier for layout and block slots."
                  },
                  "columnId": {
                    "type": "string",
                    "description": "Column identifier for layout-column slots."
                  },
                  "value": {
                    "$ref": "#/$defs/columnValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Canonical child nodes.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "parentNodeId",
                  "source",
                  "slotKind",
                  "accepts",
                  "children"
                ],
                "additionalProperties": false
              },
              "layoutNode": {
                "type": "object",
                "description": "A canonical layout block owning one or more layout-column slots.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "layout"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning slot identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "layoutKind": {
                    "type": "string",
                    "description": "Layout behavior.",
                    "enum": [
                      "container",
                      "grid",
                      "stack",
                      "flex-row",
                      "columns"
                    ]
                  },
                  "sectionKind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "sectionId": {
                    "type": "string",
                    "description": "Persisted section identifier.",
                    "minLength": 1
                  },
                  "value": {
                    "$ref": "#/$defs/sectionValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Layout-column slots.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "source",
                  "layoutKind",
                  "sectionKind",
                  "sectionId",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "blockNode": {
                "type": "object",
                "description": "A canonical renderer block with optional block-items slot.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "block"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning slot identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "blockKind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "sectionKind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "sectionId": {
                    "type": "string",
                    "description": "Persisted section identifier.",
                    "minLength": 1
                  },
                  "value": {
                    "$ref": "#/$defs/sectionValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Optional block-items slot.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "source",
                  "blockKind",
                  "sectionKind",
                  "sectionId",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "itemNode": {
                "type": "object",
                "description": "A canonical repeated-item leaf node.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "item"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning block-items slot identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "parentSectionId": {
                    "type": "string",
                    "description": "Owning block section identifier.",
                    "minLength": 1
                  },
                  "itemId": {
                    "type": "string",
                    "description": "Persisted item identifier.",
                    "minLength": 1
                  },
                  "value": {
                    "$ref": "#/$defs/sectionItem"
                  },
                  "children": {
                    "type": "array",
                    "description": "Item nodes are leaves and must have no children.",
                    "maxItems": 0
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "parentNodeId",
                  "source",
                  "parentSectionId",
                  "itemId",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "siteDocumentNode": {
                "description": "One canonical TopoloWeb document node.",
                "oneOf": [
                  {
                    "$ref": "#/$defs/pageNode"
                  },
                  {
                    "$ref": "#/$defs/slotNode"
                  },
                  {
                    "$ref": "#/$defs/layoutNode"
                  },
                  {
                    "$ref": "#/$defs/blockNode"
                  },
                  {
                    "$ref": "#/$defs/itemNode"
                  }
                ]
              },
              "siteDocument": {
                "type": "object",
                "description": "Canonical versioned TopoloWeb document tree.",
                "properties": {
                  "version": {
                    "type": "integer",
                    "description": "Document schema version.",
                    "const": 1
                  },
                  "pages": {
                    "type": "array",
                    "description": "Canonical page nodes.",
                    "items": {
                      "$ref": "#/$defs/pageNode"
                    }
                  }
                },
                "required": [
                  "version",
                  "pages"
                ],
                "additionalProperties": false
              },
              "styleClass": {
                "description": "A reusable section or item style class.",
                "oneOf": [
                  {
                    "type": "object",
                    "description": "Reusable section style class.",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Stable style-class identifier.",
                        "minLength": 1
                      },
                      "name": {
                        "type": "string",
                        "description": "Human-readable class name.",
                        "minLength": 1
                      },
                      "targetKind": {
                        "type": "string",
                        "description": "The renderer-backed TopoloWeb block kind.",
                        "enum": [
                          "container",
                          "layout-grid",
                          "stack",
                          "flex-row",
                          "spacer",
                          "hero",
                          "feature-grid",
                          "story",
                          "proof",
                          "header",
                          "announcement",
                          "menu",
                          "columns",
                          "accordion",
                          "faq",
                          "cta",
                          "contact-form",
                          "image",
                          "gallery",
                          "video",
                          "logo-cloud",
                          "stats",
                          "testimonials",
                          "pricing",
                          "comparison-table",
                          "app-grid",
                          "article-list",
                          "legal",
                          "embed",
                          "custom-component",
                          "divider",
                          "footer"
                        ]
                      },
                      "targetScope": {
                        "type": "string",
                        "description": "Style-class target scope.",
                        "const": "section"
                      },
                      "style": {
                        "$ref": "#/$defs/sectionStyle"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "targetKind",
                      "targetScope",
                      "style"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "description": "Reusable repeated-item style class.",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Stable style-class identifier.",
                        "minLength": 1
                      },
                      "name": {
                        "type": "string",
                        "description": "Human-readable class name.",
                        "minLength": 1
                      },
                      "targetKind": {
                        "type": "string",
                        "description": "The renderer-backed TopoloWeb block kind.",
                        "enum": [
                          "container",
                          "layout-grid",
                          "stack",
                          "flex-row",
                          "spacer",
                          "hero",
                          "feature-grid",
                          "story",
                          "proof",
                          "header",
                          "announcement",
                          "menu",
                          "columns",
                          "accordion",
                          "faq",
                          "cta",
                          "contact-form",
                          "image",
                          "gallery",
                          "video",
                          "logo-cloud",
                          "stats",
                          "testimonials",
                          "pricing",
                          "comparison-table",
                          "app-grid",
                          "article-list",
                          "legal",
                          "embed",
                          "custom-component",
                          "divider",
                          "footer"
                        ]
                      },
                      "targetScope": {
                        "type": "string",
                        "description": "Style-class target scope.",
                        "const": "item"
                      },
                      "style": {
                        "$ref": "#/$defs/sectionItemStyle"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "targetKind",
                      "targetScope",
                      "style"
                    ],
                    "additionalProperties": false
                  }
                ]
              },
              "collectionItem": {
                "type": "object",
                "description": "One reusable CMS collection entry.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable collection-item identifier.",
                    "minLength": 1
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible item title.",
                    "minLength": 1
                  },
                  "body": {
                    "type": "string",
                    "description": "Visible item body."
                  },
                  "meta": {
                    "type": "string",
                    "description": "Optional metadata."
                  },
                  "value": {
                    "type": "string",
                    "description": "Optional price or value."
                  },
                  "badge": {
                    "type": "string",
                    "description": "Optional badge label."
                  },
                  "href": {
                    "type": "string",
                    "description": "Optional item link."
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the item link in a new tab."
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Optional item image URL."
                  },
                  "alt": {
                    "type": "string",
                    "description": "Accessible item-image description."
                  }
                },
                "required": [
                  "id",
                  "title",
                  "body"
                ],
                "additionalProperties": false
              },
              "collection": {
                "type": "object",
                "description": "Reusable CMS collection.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable collection identifier.",
                    "minLength": 1
                  },
                  "slug": {
                    "type": "string",
                    "description": "Stable collection slug.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Collection content kind.",
                    "enum": [
                      "apps",
                      "pricing",
                      "articles",
                      "changelog",
                      "legal",
                      "faq",
                      "custom"
                    ]
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable collection label.",
                    "minLength": 1
                  },
                  "items": {
                    "type": "array",
                    "description": "Ordered collection entries.",
                    "items": {
                      "$ref": "#/$defs/collectionItem"
                    }
                  }
                },
                "required": [
                  "id",
                  "slug",
                  "kind",
                  "label",
                  "items"
                ],
                "additionalProperties": false
              },
              "codeSnippet": {
                "type": "object",
                "description": "Reviewed bounded code injection.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable snippet identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable snippet label.",
                    "minLength": 1
                  },
                  "slot": {
                    "type": "string",
                    "description": "Injection slot.",
                    "enum": [
                      "head",
                      "body_start",
                      "body_end"
                    ]
                  },
                  "code": {
                    "type": "string",
                    "description": "Reviewed HTML, CSS, or JavaScript source."
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Whether this snippet is active."
                  }
                },
                "required": [
                  "id",
                  "label",
                  "slot",
                  "code",
                  "enabled"
                ],
                "additionalProperties": false
              },
              "seo": {
                "type": "object",
                "description": "Site-wide search and social metadata defaults.",
                "properties": {
                  "titleTemplate": {
                    "type": "string",
                    "description": "Title template; %s is replaced by the page title."
                  },
                  "metaTitle": {
                    "type": "string",
                    "description": "Default page title override."
                  },
                  "metaDescription": {
                    "type": "string",
                    "description": "Default search and social description."
                  },
                  "faviconUrl": {
                    "type": "string",
                    "description": "Browser and bookmark icon URL."
                  },
                  "openGraphImageUrl": {
                    "type": "string",
                    "description": "Default Open Graph image URL."
                  },
                  "canonicalUrl": {
                    "type": "string",
                    "description": "Canonical site URL."
                  }
                },
                "additionalProperties": false
              },
              "siteContent": {
                "type": "object",
                "description": "Complete canonical TopoloWeb site content.",
                "properties": {
                  "intent": {
                    "type": "string",
                    "description": "The kind of website being created.",
                    "enum": [
                      "business_site",
                      "landing_page",
                      "portfolio",
                      "agency",
                      "product_suite"
                    ]
                  },
                  "siteTitle": {
                    "type": "string",
                    "description": "Public site title.",
                    "minLength": 1
                  },
                  "siteDescription": {
                    "type": "string",
                    "description": "Public site description."
                  },
                  "contactEmail": {
                    "type": "string",
                    "description": "Public contact email.",
                    "minLength": 1
                  },
                  "contactPhone": {
                    "type": "string",
                    "description": "Optional public contact phone number."
                  },
                  "navigation": {
                    "type": "array",
                    "description": "Primary site navigation.",
                    "items": {
                      "$ref": "#/$defs/navigationItem"
                    }
                  },
                  "footerNavigation": {
                    "type": "array",
                    "description": "Footer navigation.",
                    "items": {
                      "$ref": "#/$defs/navigationItem"
                    }
                  },
                  "menus": {
                    "type": "array",
                    "description": "Reusable custom menus.",
                    "items": {
                      "$ref": "#/$defs/navigationMenu"
                    }
                  },
                  "styleClasses": {
                    "type": "array",
                    "description": "Reusable section and item styles.",
                    "items": {
                      "$ref": "#/$defs/styleClass"
                    }
                  },
                  "theme": {
                    "$ref": "#/$defs/theme"
                  },
                  "document": {
                    "$ref": "#/$defs/siteDocument"
                  },
                  "collections": {
                    "type": "array",
                    "description": "Reusable CMS collections.",
                    "items": {
                      "$ref": "#/$defs/collection"
                    }
                  },
                  "codeSnippets": {
                    "type": "array",
                    "description": "Reviewed bounded code snippets.",
                    "items": {
                      "$ref": "#/$defs/codeSnippet"
                    }
                  },
                  "seo": {
                    "$ref": "#/$defs/seo"
                  }
                },
                "required": [
                  "intent",
                  "siteTitle",
                  "siteDescription",
                  "contactEmail",
                  "navigation",
                  "footerNavigation",
                  "menus",
                  "styleClasses",
                  "theme",
                  "document",
                  "collections",
                  "codeSnippets"
                ],
                "additionalProperties": false
              },
              "createSite": {
                "type": "object",
                "description": "Brief used to create a new TopoloWeb site.",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Internal and initial public site name.",
                    "minLength": 1
                  },
                  "intent": {
                    "type": "string",
                    "description": "The kind of website being created.",
                    "enum": [
                      "business_site",
                      "landing_page",
                      "portfolio",
                      "agency",
                      "product_suite"
                    ]
                  },
                  "businessType": {
                    "type": "string",
                    "description": "Business or project category.",
                    "minLength": 1
                  },
                  "audience": {
                    "type": "string",
                    "description": "Primary intended audience.",
                    "minLength": 1
                  },
                  "offer": {
                    "type": "string",
                    "description": "Primary product, service, or proposition.",
                    "minLength": 1
                  },
                  "tone": {
                    "type": "string",
                    "description": "Desired writing and visual tone.",
                    "minLength": 1
                  },
                  "location": {
                    "type": "string",
                    "description": "Optional geographic market."
                  },
                  "differentiators": {
                    "type": "array",
                    "description": "Specific differentiators to communicate.",
                    "items": {
                      "type": "string",
                      "description": "One differentiator."
                    }
                  },
                  "goals": {
                    "type": "array",
                    "description": "Desired user and business outcomes.",
                    "items": {
                      "type": "string",
                      "description": "One goal."
                    }
                  },
                  "prompt": {
                    "type": "string",
                    "description": "Additional generation direction."
                  }
                },
                "required": [
                  "name",
                  "businessType",
                  "audience",
                  "offer",
                  "tone"
                ],
                "additionalProperties": false
              },
              "qualityIssue": {
                "type": "object",
                "description": "One actionable launch-quality finding.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable issue code.",
                    "minLength": 1
                  },
                  "severity": {
                    "type": "string",
                    "description": "Issue severity.",
                    "enum": [
                      "info",
                      "warning",
                      "error"
                    ]
                  },
                  "title": {
                    "type": "string",
                    "description": "Short issue title.",
                    "minLength": 1
                  },
                  "detail": {
                    "type": "string",
                    "description": "Actionable remediation detail.",
                    "minLength": 1
                  }
                },
                "required": [
                  "id",
                  "severity",
                  "title",
                  "detail"
                ],
                "additionalProperties": false
              },
              "qualityReport": {
                "type": "object",
                "description": "Deterministic content and launch-quality report.",
                "properties": {
                  "generatedAt": {
                    "type": "string",
                    "description": "ISO-8601 generation timestamp.",
                    "format": "date-time"
                  },
                  "score": {
                    "type": "number",
                    "description": "Quality score from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "issues": {
                    "type": "array",
                    "description": "Actionable quality findings.",
                    "items": {
                      "$ref": "#/$defs/qualityIssue"
                    }
                  }
                },
                "required": [
                  "generatedAt",
                  "score",
                  "issues"
                ],
                "additionalProperties": false
              },
              "siteRecord": {
                "type": "object",
                "description": "One TopoloWeb site and its current editable content.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable site identifier.",
                    "minLength": 1
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "Owning Topolo organization identifier.",
                    "minLength": 1
                  },
                  "workspaceId": {
                    "type": "string",
                    "description": "Owning Topolo workspace identifier.",
                    "minLength": 1
                  },
                  "slug": {
                    "type": "string",
                    "description": "Platform hostname slug.",
                    "minLength": 1
                  },
                  "name": {
                    "type": "string",
                    "description": "Internal site name.",
                    "minLength": 1
                  },
                  "status": {
                    "type": "string",
                    "description": "Current lifecycle status.",
                    "enum": [
                      "draft",
                      "published",
                      "archived"
                    ]
                  },
                  "brief": {
                    "type": "object",
                    "description": "Generation brief retained for iterative edits.",
                    "additionalProperties": true
                  },
                  "draftContent": {
                    "$ref": "#/$defs/siteContent"
                  },
                  "currentVersionId": {
                    "type": "string",
                    "description": "Currently published immutable version identifier."
                  },
                  "draftPreviewToken": {
                    "type": "string",
                    "description": "Opaque token used by the draft preview URL.",
                    "minLength": 1
                  },
                  "createdAt": {
                    "type": "string",
                    "description": "ISO-8601 creation timestamp.",
                    "format": "date-time"
                  },
                  "updatedAt": {
                    "type": "string",
                    "description": "ISO-8601 last-update timestamp.",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "workspaceId",
                  "slug",
                  "name",
                  "status",
                  "brief",
                  "draftContent",
                  "draftPreviewToken",
                  "createdAt",
                  "updatedAt"
                ],
                "additionalProperties": false
              },
              "siteVersion": {
                "type": "object",
                "description": "One immutable published site version.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable version identifier.",
                    "minLength": 1
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "Owning Topolo organization identifier.",
                    "minLength": 1
                  },
                  "workspaceId": {
                    "type": "string",
                    "description": "Owning Topolo workspace identifier.",
                    "minLength": 1
                  },
                  "siteId": {
                    "type": "string",
                    "description": "Parent site identifier.",
                    "minLength": 1
                  },
                  "versionNumber": {
                    "type": "integer",
                    "description": "Monotonic site version number.",
                    "minimum": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable version label.",
                    "minLength": 1
                  },
                  "snapshot": {
                    "$ref": "#/$defs/siteContent"
                  },
                  "previewToken": {
                    "type": "string",
                    "description": "Opaque immutable-version preview token.",
                    "minLength": 1
                  },
                  "publishedAt": {
                    "type": "string",
                    "description": "ISO-8601 publication timestamp.",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "workspaceId",
                  "siteId",
                  "versionNumber",
                  "label",
                  "snapshot",
                  "previewToken",
                  "publishedAt"
                ],
                "additionalProperties": false
              },
              "siteDomain": {
                "type": "object",
                "description": "One platform or custom site domain.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable domain identifier.",
                    "minLength": 1
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "Owning Topolo organization identifier.",
                    "minLength": 1
                  },
                  "workspaceId": {
                    "type": "string",
                    "description": "Owning Topolo workspace identifier.",
                    "minLength": 1
                  },
                  "siteId": {
                    "type": "string",
                    "description": "Parent site identifier.",
                    "minLength": 1
                  },
                  "hostname": {
                    "type": "string",
                    "description": "Domain hostname without scheme.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Domain ownership kind.",
                    "enum": [
                      "platform",
                      "custom"
                    ]
                  },
                  "status": {
                    "type": "string",
                    "description": "DNS and TLS activation status.",
                    "enum": [
                      "pending_dns",
                      "pending_ssl",
                      "active",
                      "failed"
                    ]
                  },
                  "dnsTarget": {
                    "type": "string",
                    "description": "DNS target required for this domain.",
                    "minLength": 1
                  },
                  "verificationToken": {
                    "type": "string",
                    "description": "Opaque DNS ownership verification token.",
                    "minLength": 1
                  },
                  "isPrimary": {
                    "type": "boolean",
                    "description": "Whether this is the primary public hostname."
                  },
                  "createdAt": {
                    "type": "string",
                    "description": "ISO-8601 creation timestamp.",
                    "format": "date-time"
                  },
                  "updatedAt": {
                    "type": "string",
                    "description": "ISO-8601 last-update timestamp.",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "workspaceId",
                  "siteId",
                  "hostname",
                  "kind",
                  "status",
                  "dnsTarget",
                  "verificationToken",
                  "isPrimary",
                  "createdAt",
                  "updatedAt"
                ],
                "additionalProperties": false
              },
              "siteUrls": {
                "type": "object",
                "description": "Stable URLs used to preview and verify the site.",
                "properties": {
                  "previewUrl": {
                    "type": "string",
                    "description": "Authenticated draft-preview URL.",
                    "format": "uri"
                  },
                  "publicUrl": {
                    "type": "string",
                    "description": "Primary public site URL.",
                    "format": "uri"
                  }
                },
                "required": [
                  "previewUrl",
                  "publicUrl"
                ],
                "additionalProperties": false
              },
              "siteDetails": {
                "type": "object",
                "description": "Complete editable site state returned after a build.",
                "properties": {
                  "site": {
                    "$ref": "#/$defs/siteRecord"
                  },
                  "versions": {
                    "type": "array",
                    "description": "Published immutable versions, newest first.",
                    "items": {
                      "$ref": "#/$defs/siteVersion"
                    }
                  },
                  "domains": {
                    "type": "array",
                    "description": "Platform and custom domains.",
                    "items": {
                      "$ref": "#/$defs/siteDomain"
                    }
                  },
                  "assets": {
                    "type": "array",
                    "description": "Uploaded or linked site assets.",
                    "items": {
                      "type": "object",
                      "description": "One site asset record.",
                      "additionalProperties": true
                    }
                  },
                  "submissions": {
                    "type": "array",
                    "description": "Recent form submissions.",
                    "items": {
                      "type": "object",
                      "description": "One site form submission.",
                      "additionalProperties": true
                    }
                  },
                  "events": {
                    "type": "array",
                    "description": "Recent site lifecycle events.",
                    "items": {
                      "type": "object",
                      "description": "One site event.",
                      "additionalProperties": true
                    }
                  },
                  "insights": {
                    "type": "object",
                    "description": "Derived site activity counters.",
                    "additionalProperties": true
                  },
                  "qualityReport": {
                    "$ref": "#/$defs/qualityReport"
                  },
                  "agentSessions": {
                    "type": "array",
                    "description": "Agent editing sessions.",
                    "items": {
                      "type": "object",
                      "description": "One agent session summary.",
                      "additionalProperties": true
                    }
                  }
                },
                "required": [
                  "site",
                  "versions",
                  "domains",
                  "assets",
                  "submissions",
                  "events",
                  "insights",
                  "qualityReport",
                  "agentSessions"
                ],
                "additionalProperties": false
              }
            }
          },
          "target": "api",
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "siteId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/studio/sites/example/quality",
              "body": null
            },
            "effects": "Reads state through GET /api/studio/sites/{siteId}/quality without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/studio/sites/*/quality",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.preview.get",
          "title": "Get site preview",
          "description": "Get stable draft-preview and public URLs plus required responsive QA viewports.",
          "permission": "studio:read",
          "method": "GET",
          "path": "/api/studio/sites/{siteId}/preview",
          "readOnly": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "siteId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "description": "Stable draft preview coordinates.",
            "properties": {
              "siteId": {
                "type": "string",
                "description": "Site identifier.",
                "minLength": 1
              },
              "previewUrl": {
                "type": "string",
                "description": "Authenticated draft-preview URL.",
                "format": "uri"
              },
              "publicUrl": {
                "type": "string",
                "description": "Primary public URL used after publication.",
                "format": "uri"
              },
              "viewports": {
                "type": "array",
                "description": "Required responsive QA viewports.",
                "items": {
                  "type": "object",
                  "description": "One required QA viewport.",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Viewport identifier.",
                      "enum": [
                        "mobile",
                        "tablet",
                        "desktop",
                        "4k"
                      ]
                    },
                    "width": {
                      "type": "integer",
                      "description": "Viewport width in CSS pixels.",
                      "minimum": 1
                    },
                    "description": {
                      "type": "string",
                      "description": "What this viewport verifies.",
                      "minLength": 1
                    }
                  },
                  "required": [
                    "id",
                    "width",
                    "description"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [
              "siteId",
              "previewUrl",
              "publicUrl",
              "viewports"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "siteId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/studio/sites/example/preview",
              "body": null
            },
            "effects": "Reads state through GET /api/studio/sites/{siteId}/preview without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/studio/sites/*/preview",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.publish.preflight",
          "title": "Get site publish preflight",
          "description": "Check publish readiness, verification URLs, responsive viewports, and rollback action without changing the site.",
          "permission": "studio:read",
          "method": "GET",
          "path": "/api/studio/sites/{siteId}/publish-preflight",
          "readOnly": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "siteId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "description": "Non-mutating publish readiness result.",
            "properties": {
              "canPublish": {
                "type": "boolean",
                "description": "Whether deterministic launch gates allow publishing."
              },
              "siteId": {
                "type": "string",
                "description": "Site identifier.",
                "minLength": 1
              },
              "previewUrl": {
                "type": "string",
                "description": "Draft preview URL to verify visually.",
                "format": "uri"
              },
              "publicUrl": {
                "type": "string",
                "description": "Primary public URL that publishing will activate.",
                "format": "uri"
              },
              "qualityReport": {
                "$ref": "#/$defs/qualityReport"
              },
              "requiredViewports": {
                "type": "array",
                "description": "Viewport widths that must be visually verified.",
                "items": {
                  "type": "integer",
                  "description": "Viewport width in CSS pixels.",
                  "minimum": 1
                }
              },
              "rollbackActionId": {
                "type": "string",
                "description": "Action used to restore a previous published version.",
                "const": "app_topolo_web.sites.versions.restore"
              }
            },
            "required": [
              "canPublish",
              "siteId",
              "previewUrl",
              "publicUrl",
              "qualityReport",
              "requiredViewports",
              "rollbackActionId"
            ],
            "additionalProperties": false,
            "$defs": {
              "jsonValue": {
                "description": "A JSON-compatible component property value.",
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "type": "array",
                    "items": {
                      "$ref": "#/$defs/jsonValue"
                    }
                  },
                  {
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/$defs/jsonValue"
                    }
                  }
                ]
              },
              "actionLink": {
                "type": "object",
                "description": "A rendered call-to-action link.",
                "properties": {
                  "label": {
                    "type": "string",
                    "description": "Visible link label.",
                    "minLength": 1
                  },
                  "href": {
                    "type": "string",
                    "description": "Root-relative path, anchor, mailto, tel, or HTTPS URL.",
                    "minLength": 1
                  },
                  "linkKind": {
                    "type": "string",
                    "description": "Whether the link targets a TopoloWeb page or a custom URL.",
                    "enum": [
                      "custom",
                      "page"
                    ]
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the link in a new browser tab."
                  }
                },
                "required": [
                  "label",
                  "href"
                ],
                "additionalProperties": false
              },
              "navigationItem": {
                "type": "object",
                "description": "One site navigation entry.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable navigation item identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Visible navigation label.",
                    "minLength": 1
                  },
                  "href": {
                    "type": "string",
                    "description": "Root-relative path, anchor, or external URL.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Navigation emphasis.",
                    "enum": [
                      "primary",
                      "secondary",
                      "cta"
                    ]
                  },
                  "parentId": {
                    "type": "string",
                    "description": "Optional parent item identifier for one-level menus."
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the link in a new browser tab."
                  }
                },
                "required": [
                  "id",
                  "label",
                  "href",
                  "kind"
                ],
                "additionalProperties": false
              },
              "navigationMenu": {
                "type": "object",
                "description": "A named reusable navigation menu.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable menu identifier.",
                    "minLength": 1
                  },
                  "name": {
                    "type": "string",
                    "description": "Human-readable menu name.",
                    "minLength": 1
                  },
                  "placement": {
                    "type": "string",
                    "description": "Custom menu placement marker.",
                    "const": "custom"
                  },
                  "items": {
                    "type": "array",
                    "description": "Ordered menu entries.",
                    "items": {
                      "$ref": "#/$defs/navigationItem"
                    }
                  }
                },
                "required": [
                  "id",
                  "name",
                  "placement",
                  "items"
                ],
                "additionalProperties": false
              },
              "pageStyleDefaultsBase": {
                "type": "object",
                "description": "Site-wide default layout and typography values.",
                "properties": {
                  "sectionPaddingTop": {
                    "type": "number",
                    "description": "Default section top padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingBottom": {
                    "type": "number",
                    "description": "Default section bottom padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingLeft": {
                    "type": "number",
                    "description": "Default section left padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingRight": {
                    "type": "number",
                    "description": "Default section right padding in pixels.",
                    "minimum": 0
                  },
                  "sectionMarginTop": {
                    "type": "number",
                    "description": "Default section top margin in pixels."
                  },
                  "sectionMarginBottom": {
                    "type": "number",
                    "description": "Default section bottom margin in pixels."
                  },
                  "sectionMarginLeft": {
                    "type": "number",
                    "description": "Default section left margin in pixels."
                  },
                  "sectionMarginRight": {
                    "type": "number",
                    "description": "Default section right margin in pixels."
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Default heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Default heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Default body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Default body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Default card padding in pixels.",
                    "minimum": 0
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Default layout gap in pixels.",
                    "minimum": 0
                  }
                },
                "additionalProperties": false
              },
              "pageStyleDefaults": {
                "type": "object",
                "description": "Desktop page defaults with optional viewport overrides.",
                "properties": {
                  "sectionPaddingTop": {
                    "type": "number",
                    "description": "Default section top padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingBottom": {
                    "type": "number",
                    "description": "Default section bottom padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingLeft": {
                    "type": "number",
                    "description": "Default section left padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingRight": {
                    "type": "number",
                    "description": "Default section right padding in pixels.",
                    "minimum": 0
                  },
                  "sectionMarginTop": {
                    "type": "number",
                    "description": "Default section top margin in pixels."
                  },
                  "sectionMarginBottom": {
                    "type": "number",
                    "description": "Default section bottom margin in pixels."
                  },
                  "sectionMarginLeft": {
                    "type": "number",
                    "description": "Default section left margin in pixels."
                  },
                  "sectionMarginRight": {
                    "type": "number",
                    "description": "Default section right margin in pixels."
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Default heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Default heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Default body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Default body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Default card padding in pixels.",
                    "minimum": 0
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Default layout gap in pixels.",
                    "minimum": 0
                  },
                  "responsive": {
                    "type": "object",
                    "description": "Viewport-specific page-default overrides.",
                    "propertyNames": {
                      "type": "string",
                      "description": "A non-desktop responsive override breakpoint.",
                      "enum": [
                        "4k",
                        "tablet",
                        "mobile"
                      ]
                    },
                    "additionalProperties": {
                      "$ref": "#/$defs/pageStyleDefaultsBase"
                    }
                  }
                },
                "additionalProperties": false
              },
              "theme": {
                "type": "object",
                "description": "Complete TopoloWeb theme and responsive page defaults.",
                "properties": {
                  "primary": {
                    "type": "string",
                    "description": "Primary brand color.",
                    "minLength": 1
                  },
                  "secondary": {
                    "type": "string",
                    "description": "Secondary brand color.",
                    "minLength": 1
                  },
                  "surface": {
                    "type": "string",
                    "description": "Primary surface color.",
                    "minLength": 1
                  },
                  "ink": {
                    "type": "string",
                    "description": "Primary text color.",
                    "minLength": 1
                  },
                  "muted": {
                    "type": "string",
                    "description": "Muted text color.",
                    "minLength": 1
                  },
                  "accent": {
                    "type": "string",
                    "description": "Accent color.",
                    "minLength": 1
                  },
                  "accentSoft": {
                    "type": "string",
                    "description": "Soft accent surface color.",
                    "minLength": 1
                  },
                  "glow": {
                    "type": "string",
                    "description": "Decorative glow color.",
                    "minLength": 1
                  },
                  "headingFont": {
                    "type": "string",
                    "description": "CSS heading font stack.",
                    "minLength": 1
                  },
                  "bodyFont": {
                    "type": "string",
                    "description": "CSS body font stack.",
                    "minLength": 1
                  },
                  "radius": {
                    "type": "string",
                    "description": "Default CSS corner radius.",
                    "minLength": 1
                  },
                  "brandLogoUrl": {
                    "type": "string",
                    "description": "HTTPS brand-logo URL."
                  },
                  "brandLogoAlt": {
                    "type": "string",
                    "description": "Accessible brand-logo description."
                  },
                  "brandLogoWidth": {
                    "type": "string",
                    "description": "CSS brand-logo width."
                  },
                  "brandLogoHeight": {
                    "type": "string",
                    "description": "CSS brand-logo height."
                  },
                  "pageDefaults": {
                    "$ref": "#/$defs/pageStyleDefaults"
                  },
                  "customCss": {
                    "type": "string",
                    "description": "Reviewed site-wide CSS loaded after generated styles."
                  }
                },
                "required": [
                  "primary",
                  "secondary",
                  "surface",
                  "ink",
                  "muted",
                  "accent",
                  "accentSoft",
                  "glow",
                  "headingFont",
                  "bodyFont",
                  "radius"
                ],
                "additionalProperties": false
              },
              "sectionStyleBase": {
                "type": "object",
                "description": "Desktop section style values.",
                "properties": {
                  "backgroundColor": {
                    "type": "string",
                    "description": "CSS background color."
                  },
                  "backgroundImageUrl": {
                    "type": "string",
                    "description": "HTTPS background image URL."
                  },
                  "backgroundMode": {
                    "type": "string",
                    "description": "Background image sizing mode.",
                    "enum": [
                      "cover",
                      "contain",
                      "stretch",
                      "tile"
                    ]
                  },
                  "backgroundPosition": {
                    "type": "string",
                    "description": "Background image position.",
                    "enum": [
                      "center",
                      "top",
                      "bottom",
                      "left",
                      "right",
                      "top left",
                      "top right",
                      "bottom left",
                      "bottom right"
                    ]
                  },
                  "textColor": {
                    "type": "string",
                    "description": "CSS foreground color."
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "imagePlacement": {
                    "type": "string",
                    "description": "Media placement relative to text.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "itemsPlacement": {
                    "type": "string",
                    "description": "Repeated items placement relative to section copy for supported compositions.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "paddingTop": {
                    "type": "number",
                    "description": "Top padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBottom": {
                    "type": "number",
                    "description": "Bottom padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom padding should stay linked."
                  },
                  "paddingLeft": {
                    "type": "number",
                    "description": "Left padding in pixels.",
                    "minimum": 0
                  },
                  "paddingRight": {
                    "type": "number",
                    "description": "Right padding in pixels.",
                    "minimum": 0
                  },
                  "paddingInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right padding should stay linked."
                  },
                  "marginTop": {
                    "type": "number",
                    "description": "Top margin in pixels."
                  },
                  "marginBottom": {
                    "type": "number",
                    "description": "Bottom margin in pixels."
                  },
                  "marginBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom margins should stay linked."
                  },
                  "marginLeft": {
                    "type": "number",
                    "description": "Left margin in pixels."
                  },
                  "marginRight": {
                    "type": "number",
                    "description": "Right margin in pixels."
                  },
                  "marginInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right margins should stay linked."
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Border line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "CSS border color."
                  },
                  "borderRadius": {
                    "type": "number",
                    "description": "Corner radius in pixels.",
                    "minimum": 0
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Heading font size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Body font size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Repeated-card padding in pixels.",
                    "minimum": 0
                  },
                  "columnCount": {
                    "type": "number",
                    "description": "Responsive column count.",
                    "enum": [
                      2,
                      3,
                      4
                    ]
                  },
                  "columnSpans": {
                    "type": "array",
                    "description": "Grid spans for explicit columns.",
                    "items": {
                      "type": "number",
                      "description": "One column span.",
                      "minimum": 1
                    }
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Gap between layout children in pixels.",
                    "minimum": 0
                  },
                  "nestedSectionPadding": {
                    "type": "number",
                    "description": "Padding around nested sections in pixels.",
                    "minimum": 0
                  },
                  "mediaAspectRatio": {
                    "type": "string",
                    "description": "Media aspect ratio.",
                    "enum": [
                      "16 / 9",
                      "4 / 3",
                      "1 / 1",
                      "9 / 16"
                    ]
                  },
                  "mediaFit": {
                    "type": "string",
                    "description": "Media object-fit behavior.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "mediaFocalX": {
                    "type": "number",
                    "description": "Horizontal focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "mediaFocalY": {
                    "type": "number",
                    "description": "Vertical focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerTop": {
                    "type": "boolean",
                    "description": "Whether a top divider is rendered."
                  },
                  "dividerBottom": {
                    "type": "boolean",
                    "description": "Whether a bottom divider is rendered."
                  },
                  "dividerThickness": {
                    "type": "number",
                    "description": "Divider thickness in pixels.",
                    "minimum": 0
                  },
                  "dividerWidth": {
                    "type": "number",
                    "description": "Divider width percentage.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerLineStyle": {
                    "type": "string",
                    "description": "Divider line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "customCss": {
                    "type": "string",
                    "description": "Reviewed CSS declarations scoped to this section."
                  }
                },
                "additionalProperties": false
              },
              "sectionStyle": {
                "type": "object",
                "description": "Section style values with optional responsive overrides.",
                "properties": {
                  "backgroundColor": {
                    "type": "string",
                    "description": "CSS background color."
                  },
                  "backgroundImageUrl": {
                    "type": "string",
                    "description": "HTTPS background image URL."
                  },
                  "backgroundMode": {
                    "type": "string",
                    "description": "Background image sizing mode.",
                    "enum": [
                      "cover",
                      "contain",
                      "stretch",
                      "tile"
                    ]
                  },
                  "backgroundPosition": {
                    "type": "string",
                    "description": "Background image position.",
                    "enum": [
                      "center",
                      "top",
                      "bottom",
                      "left",
                      "right",
                      "top left",
                      "top right",
                      "bottom left",
                      "bottom right"
                    ]
                  },
                  "textColor": {
                    "type": "string",
                    "description": "CSS foreground color."
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "imagePlacement": {
                    "type": "string",
                    "description": "Media placement relative to text.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "itemsPlacement": {
                    "type": "string",
                    "description": "Repeated items placement relative to section copy for supported compositions.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "paddingTop": {
                    "type": "number",
                    "description": "Top padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBottom": {
                    "type": "number",
                    "description": "Bottom padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom padding should stay linked."
                  },
                  "paddingLeft": {
                    "type": "number",
                    "description": "Left padding in pixels.",
                    "minimum": 0
                  },
                  "paddingRight": {
                    "type": "number",
                    "description": "Right padding in pixels.",
                    "minimum": 0
                  },
                  "paddingInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right padding should stay linked."
                  },
                  "marginTop": {
                    "type": "number",
                    "description": "Top margin in pixels."
                  },
                  "marginBottom": {
                    "type": "number",
                    "description": "Bottom margin in pixels."
                  },
                  "marginBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom margins should stay linked."
                  },
                  "marginLeft": {
                    "type": "number",
                    "description": "Left margin in pixels."
                  },
                  "marginRight": {
                    "type": "number",
                    "description": "Right margin in pixels."
                  },
                  "marginInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right margins should stay linked."
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Border line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "CSS border color."
                  },
                  "borderRadius": {
                    "type": "number",
                    "description": "Corner radius in pixels.",
                    "minimum": 0
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Heading font size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Body font size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Repeated-card padding in pixels.",
                    "minimum": 0
                  },
                  "columnCount": {
                    "type": "number",
                    "description": "Responsive column count.",
                    "enum": [
                      2,
                      3,
                      4
                    ]
                  },
                  "columnSpans": {
                    "type": "array",
                    "description": "Grid spans for explicit columns.",
                    "items": {
                      "type": "number",
                      "description": "One column span.",
                      "minimum": 1
                    }
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Gap between layout children in pixels.",
                    "minimum": 0
                  },
                  "nestedSectionPadding": {
                    "type": "number",
                    "description": "Padding around nested sections in pixels.",
                    "minimum": 0
                  },
                  "mediaAspectRatio": {
                    "type": "string",
                    "description": "Media aspect ratio.",
                    "enum": [
                      "16 / 9",
                      "4 / 3",
                      "1 / 1",
                      "9 / 16"
                    ]
                  },
                  "mediaFit": {
                    "type": "string",
                    "description": "Media object-fit behavior.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "mediaFocalX": {
                    "type": "number",
                    "description": "Horizontal focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "mediaFocalY": {
                    "type": "number",
                    "description": "Vertical focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerTop": {
                    "type": "boolean",
                    "description": "Whether a top divider is rendered."
                  },
                  "dividerBottom": {
                    "type": "boolean",
                    "description": "Whether a bottom divider is rendered."
                  },
                  "dividerThickness": {
                    "type": "number",
                    "description": "Divider thickness in pixels.",
                    "minimum": 0
                  },
                  "dividerWidth": {
                    "type": "number",
                    "description": "Divider width percentage.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerLineStyle": {
                    "type": "string",
                    "description": "Divider line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "customCss": {
                    "type": "string",
                    "description": "Reviewed CSS declarations scoped to this section."
                  },
                  "responsive": {
                    "type": "object",
                    "description": "Viewport-specific section-style overrides.",
                    "propertyNames": {
                      "type": "string",
                      "description": "A non-desktop responsive override breakpoint.",
                      "enum": [
                        "4k",
                        "tablet",
                        "mobile"
                      ]
                    },
                    "additionalProperties": {
                      "$ref": "#/$defs/sectionStyleBase"
                    }
                  }
                },
                "additionalProperties": false
              },
              "sectionItemStyleBase": {
                "type": "object",
                "description": "Desktop repeated-item style values.",
                "properties": {
                  "padding": {
                    "type": "number",
                    "description": "Item padding in pixels.",
                    "minimum": 0
                  },
                  "radius": {
                    "type": "number",
                    "description": "Item corner radius in pixels.",
                    "minimum": 0
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Item border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Item border style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "Item border color."
                  },
                  "imageFit": {
                    "type": "string",
                    "description": "Item image fit.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "imageFocalX": {
                    "type": "number",
                    "description": "Horizontal image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "imageFocalY": {
                    "type": "number",
                    "description": "Vertical image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "textPadding": {
                    "type": "number",
                    "description": "Text-panel padding in pixels.",
                    "minimum": 0
                  },
                  "textRadius": {
                    "type": "number",
                    "description": "Text-panel corner radius in pixels.",
                    "minimum": 0
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Item text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Item heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Item heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Item body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Item body line-height multiplier.",
                    "minimum": 0.5
                  }
                },
                "additionalProperties": false
              },
              "sectionItemStyle": {
                "type": "object",
                "description": "Repeated-item style values with optional responsive overrides.",
                "properties": {
                  "padding": {
                    "type": "number",
                    "description": "Item padding in pixels.",
                    "minimum": 0
                  },
                  "radius": {
                    "type": "number",
                    "description": "Item corner radius in pixels.",
                    "minimum": 0
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Item border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Item border style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "Item border color."
                  },
                  "imageFit": {
                    "type": "string",
                    "description": "Item image fit.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "imageFocalX": {
                    "type": "number",
                    "description": "Horizontal image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "imageFocalY": {
                    "type": "number",
                    "description": "Vertical image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "textPadding": {
                    "type": "number",
                    "description": "Text-panel padding in pixels.",
                    "minimum": 0
                  },
                  "textRadius": {
                    "type": "number",
                    "description": "Text-panel corner radius in pixels.",
                    "minimum": 0
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Item text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Item heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Item heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Item body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Item body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "responsive": {
                    "type": "object",
                    "description": "Viewport-specific item-style overrides.",
                    "propertyNames": {
                      "type": "string",
                      "description": "A non-desktop responsive override breakpoint.",
                      "enum": [
                        "4k",
                        "tablet",
                        "mobile"
                      ]
                    },
                    "additionalProperties": {
                      "$ref": "#/$defs/sectionItemStyleBase"
                    }
                  }
                },
                "additionalProperties": false
              },
              "sectionItem": {
                "type": "object",
                "description": "One repeated card, row, quote, metric, question, or media item.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable item identifier.",
                    "minLength": 1
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible item title."
                  },
                  "body": {
                    "type": "string",
                    "description": "Visible supporting copy."
                  },
                  "meta": {
                    "type": "string",
                    "description": "Optional metadata."
                  },
                  "value": {
                    "type": "string",
                    "description": "Optional value or price."
                  },
                  "badge": {
                    "type": "string",
                    "description": "Optional badge label."
                  },
                  "href": {
                    "type": "string",
                    "description": "Optional item link."
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the item link in a new tab."
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Optional item image URL."
                  },
                  "alt": {
                    "type": "string",
                    "description": "Accessible item-image description."
                  },
                  "style": {
                    "$ref": "#/$defs/sectionItemStyle"
                  },
                  "styleClassIds": {
                    "type": "array",
                    "description": "Reusable item style-class identifiers.",
                    "items": {
                      "type": "string",
                      "description": "One style-class identifier.",
                      "minLength": 1
                    }
                  }
                },
                "required": [
                  "id",
                  "title",
                  "body"
                ],
                "additionalProperties": false
              },
              "sectionValue": {
                "type": "object",
                "description": "Renderer-backed block content without persisted child arrays.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable section identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "eyebrow": {
                    "type": "string",
                    "description": "Optional eyebrow copy."
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible section heading."
                  },
                  "body": {
                    "type": "string",
                    "description": "Visible section body copy."
                  },
                  "kicker": {
                    "type": "string",
                    "description": "Optional supporting kicker."
                  },
                  "primaryAction": {
                    "$ref": "#/$defs/actionLink"
                  },
                  "secondaryAction": {
                    "$ref": "#/$defs/actionLink"
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Optional section image URL."
                  },
                  "alt": {
                    "type": "string",
                    "description": "Accessible section-image description."
                  },
                  "presentation": {
                    "type": "string",
                    "description": "A renderer-backed composition designed for the selected block type.",
                    "enum": [
                      "annotated",
                      "cards",
                      "columns",
                      "divided",
                      "editorial",
                      "manifesto",
                      "mosaic",
                      "poster",
                      "ruled",
                      "split",
                      "spotlight",
                      "tiers",
                      "timeline"
                    ]
                  },
                  "styleClassIds": {
                    "type": "array",
                    "description": "Reusable section style-class identifiers.",
                    "items": {
                      "type": "string",
                      "description": "One style-class identifier.",
                      "minLength": 1
                    }
                  },
                  "style": {
                    "$ref": "#/$defs/sectionStyle"
                  },
                  "formId": {
                    "type": "string",
                    "description": "Form identifier for a contact-form block."
                  },
                  "collectionSlug": {
                    "type": "string",
                    "description": "Collection slug bound to this block."
                  },
                  "collectionLimit": {
                    "type": "number",
                    "description": "Maximum collection entries rendered.",
                    "minimum": 1
                  },
                  "collectionSort": {
                    "type": "string",
                    "description": "Collection sorting behavior.",
                    "enum": [
                      "manual",
                      "title_asc",
                      "title_desc",
                      "meta_asc",
                      "meta_desc"
                    ]
                  },
                  "html": {
                    "type": "string",
                    "description": "Reviewed HTML for embed-capable blocks."
                  },
                  "videoUrl": {
                    "type": "string",
                    "description": "Direct, YouTube, or Vimeo video URL."
                  },
                  "videoProvider": {
                    "type": "string",
                    "description": "Video provider.",
                    "enum": [
                      "direct",
                      "youtube",
                      "vimeo"
                    ]
                  },
                  "videoPosterUrl": {
                    "type": "string",
                    "description": "Video poster image URL."
                  },
                  "videoAutoplay": {
                    "type": "boolean",
                    "description": "Autoplay video when allowed."
                  },
                  "videoControls": {
                    "type": "boolean",
                    "description": "Show native video controls."
                  },
                  "videoMuted": {
                    "type": "boolean",
                    "description": "Mute video playback."
                  },
                  "componentName": {
                    "type": "string",
                    "description": "Approved custom component name."
                  },
                  "componentProps": {
                    "type": "object",
                    "description": "Component-specific reviewed JSON properties.",
                    "additionalProperties": {
                      "$ref": "#/$defs/jsonValue"
                    }
                  },
                  "menuId": {
                    "type": "string",
                    "description": "Reusable menu identifier bound to a menu block."
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "title",
                  "body"
                ],
                "additionalProperties": false
              },
              "pageValue": {
                "type": "object",
                "description": "Persisted page metadata.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable page identifier.",
                    "minLength": 1
                  },
                  "slug": {
                    "type": "string",
                    "description": "Root-relative page slug beginning with /.",
                    "pattern": "^/"
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible page heading and title-template input.",
                    "minLength": 1
                  },
                  "description": {
                    "type": "string",
                    "description": "Page search and social description."
                  }
                },
                "required": [
                  "id",
                  "slug",
                  "title",
                  "description"
                ],
                "additionalProperties": false
              },
              "columnValue": {
                "type": "object",
                "description": "Persisted layout-column metadata.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable column identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Optional editor label."
                  },
                  "span": {
                    "type": "number",
                    "description": "Grid span.",
                    "minimum": 1
                  },
                  "style": {
                    "$ref": "#/$defs/sectionStyle"
                  }
                },
                "required": [
                  "id"
                ],
                "additionalProperties": false
              },
              "source": {
                "type": "object",
                "description": "Original product-domain identity for a document node.",
                "properties": {
                  "kind": {
                    "type": "string",
                    "description": "Source record kind.",
                    "enum": [
                      "page",
                      "section",
                      "column",
                      "item"
                    ]
                  },
                  "id": {
                    "type": "string",
                    "description": "Source record identifier.",
                    "minLength": 1
                  }
                },
                "required": [
                  "kind",
                  "id"
                ],
                "additionalProperties": false
              },
              "pageNode": {
                "type": "object",
                "description": "A canonical page node owning exactly one page-body slot.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "page"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Parent node identifier when nested."
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "value": {
                    "$ref": "#/$defs/pageValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Exactly one page-body slot.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "source",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "slotNode": {
                "type": "object",
                "description": "A canonical child slot controlling accepted node kinds.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "slot"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning page, layout, or block node identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "slotKind": {
                    "type": "string",
                    "description": "Child-slot role.",
                    "enum": [
                      "page-body",
                      "layout-column",
                      "block-items"
                    ]
                  },
                  "accepts": {
                    "type": "array",
                    "description": "Document node kinds allowed in this slot.",
                    "items": {
                      "type": "string",
                      "description": "One allowed node kind.",
                      "enum": [
                        "layout",
                        "block",
                        "item"
                      ]
                    }
                  },
                  "parentSectionId": {
                    "type": "string",
                    "description": "Owning section identifier for layout and block slots."
                  },
                  "columnId": {
                    "type": "string",
                    "description": "Column identifier for layout-column slots."
                  },
                  "value": {
                    "$ref": "#/$defs/columnValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Canonical child nodes.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "parentNodeId",
                  "source",
                  "slotKind",
                  "accepts",
                  "children"
                ],
                "additionalProperties": false
              },
              "layoutNode": {
                "type": "object",
                "description": "A canonical layout block owning one or more layout-column slots.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "layout"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning slot identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "layoutKind": {
                    "type": "string",
                    "description": "Layout behavior.",
                    "enum": [
                      "container",
                      "grid",
                      "stack",
                      "flex-row",
                      "columns"
                    ]
                  },
                  "sectionKind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "sectionId": {
                    "type": "string",
                    "description": "Persisted section identifier.",
                    "minLength": 1
                  },
                  "value": {
                    "$ref": "#/$defs/sectionValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Layout-column slots.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "source",
                  "layoutKind",
                  "sectionKind",
                  "sectionId",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "blockNode": {
                "type": "object",
                "description": "A canonical renderer block with optional block-items slot.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "block"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning slot identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "blockKind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "sectionKind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "sectionId": {
                    "type": "string",
                    "description": "Persisted section identifier.",
                    "minLength": 1
                  },
                  "value": {
                    "$ref": "#/$defs/sectionValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Optional block-items slot.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "source",
                  "blockKind",
                  "sectionKind",
                  "sectionId",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "itemNode": {
                "type": "object",
                "description": "A canonical repeated-item leaf node.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "item"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning block-items slot identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "parentSectionId": {
                    "type": "string",
                    "description": "Owning block section identifier.",
                    "minLength": 1
                  },
                  "itemId": {
                    "type": "string",
                    "description": "Persisted item identifier.",
                    "minLength": 1
                  },
                  "value": {
                    "$ref": "#/$defs/sectionItem"
                  },
                  "children": {
                    "type": "array",
                    "description": "Item nodes are leaves and must have no children.",
                    "maxItems": 0
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "parentNodeId",
                  "source",
                  "parentSectionId",
                  "itemId",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "siteDocumentNode": {
                "description": "One canonical TopoloWeb document node.",
                "oneOf": [
                  {
                    "$ref": "#/$defs/pageNode"
                  },
                  {
                    "$ref": "#/$defs/slotNode"
                  },
                  {
                    "$ref": "#/$defs/layoutNode"
                  },
                  {
                    "$ref": "#/$defs/blockNode"
                  },
                  {
                    "$ref": "#/$defs/itemNode"
                  }
                ]
              },
              "siteDocument": {
                "type": "object",
                "description": "Canonical versioned TopoloWeb document tree.",
                "properties": {
                  "version": {
                    "type": "integer",
                    "description": "Document schema version.",
                    "const": 1
                  },
                  "pages": {
                    "type": "array",
                    "description": "Canonical page nodes.",
                    "items": {
                      "$ref": "#/$defs/pageNode"
                    }
                  }
                },
                "required": [
                  "version",
                  "pages"
                ],
                "additionalProperties": false
              },
              "styleClass": {
                "description": "A reusable section or item style class.",
                "oneOf": [
                  {
                    "type": "object",
                    "description": "Reusable section style class.",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Stable style-class identifier.",
                        "minLength": 1
                      },
                      "name": {
                        "type": "string",
                        "description": "Human-readable class name.",
                        "minLength": 1
                      },
                      "targetKind": {
                        "type": "string",
                        "description": "The renderer-backed TopoloWeb block kind.",
                        "enum": [
                          "container",
                          "layout-grid",
                          "stack",
                          "flex-row",
                          "spacer",
                          "hero",
                          "feature-grid",
                          "story",
                          "proof",
                          "header",
                          "announcement",
                          "menu",
                          "columns",
                          "accordion",
                          "faq",
                          "cta",
                          "contact-form",
                          "image",
                          "gallery",
                          "video",
                          "logo-cloud",
                          "stats",
                          "testimonials",
                          "pricing",
                          "comparison-table",
                          "app-grid",
                          "article-list",
                          "legal",
                          "embed",
                          "custom-component",
                          "divider",
                          "footer"
                        ]
                      },
                      "targetScope": {
                        "type": "string",
                        "description": "Style-class target scope.",
                        "const": "section"
                      },
                      "style": {
                        "$ref": "#/$defs/sectionStyle"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "targetKind",
                      "targetScope",
                      "style"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "description": "Reusable repeated-item style class.",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Stable style-class identifier.",
                        "minLength": 1
                      },
                      "name": {
                        "type": "string",
                        "description": "Human-readable class name.",
                        "minLength": 1
                      },
                      "targetKind": {
                        "type": "string",
                        "description": "The renderer-backed TopoloWeb block kind.",
                        "enum": [
                          "container",
                          "layout-grid",
                          "stack",
                          "flex-row",
                          "spacer",
                          "hero",
                          "feature-grid",
                          "story",
                          "proof",
                          "header",
                          "announcement",
                          "menu",
                          "columns",
                          "accordion",
                          "faq",
                          "cta",
                          "contact-form",
                          "image",
                          "gallery",
                          "video",
                          "logo-cloud",
                          "stats",
                          "testimonials",
                          "pricing",
                          "comparison-table",
                          "app-grid",
                          "article-list",
                          "legal",
                          "embed",
                          "custom-component",
                          "divider",
                          "footer"
                        ]
                      },
                      "targetScope": {
                        "type": "string",
                        "description": "Style-class target scope.",
                        "const": "item"
                      },
                      "style": {
                        "$ref": "#/$defs/sectionItemStyle"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "targetKind",
                      "targetScope",
                      "style"
                    ],
                    "additionalProperties": false
                  }
                ]
              },
              "collectionItem": {
                "type": "object",
                "description": "One reusable CMS collection entry.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable collection-item identifier.",
                    "minLength": 1
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible item title.",
                    "minLength": 1
                  },
                  "body": {
                    "type": "string",
                    "description": "Visible item body."
                  },
                  "meta": {
                    "type": "string",
                    "description": "Optional metadata."
                  },
                  "value": {
                    "type": "string",
                    "description": "Optional price or value."
                  },
                  "badge": {
                    "type": "string",
                    "description": "Optional badge label."
                  },
                  "href": {
                    "type": "string",
                    "description": "Optional item link."
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the item link in a new tab."
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Optional item image URL."
                  },
                  "alt": {
                    "type": "string",
                    "description": "Accessible item-image description."
                  }
                },
                "required": [
                  "id",
                  "title",
                  "body"
                ],
                "additionalProperties": false
              },
              "collection": {
                "type": "object",
                "description": "Reusable CMS collection.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable collection identifier.",
                    "minLength": 1
                  },
                  "slug": {
                    "type": "string",
                    "description": "Stable collection slug.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Collection content kind.",
                    "enum": [
                      "apps",
                      "pricing",
                      "articles",
                      "changelog",
                      "legal",
                      "faq",
                      "custom"
                    ]
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable collection label.",
                    "minLength": 1
                  },
                  "items": {
                    "type": "array",
                    "description": "Ordered collection entries.",
                    "items": {
                      "$ref": "#/$defs/collectionItem"
                    }
                  }
                },
                "required": [
                  "id",
                  "slug",
                  "kind",
                  "label",
                  "items"
                ],
                "additionalProperties": false
              },
              "codeSnippet": {
                "type": "object",
                "description": "Reviewed bounded code injection.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable snippet identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable snippet label.",
                    "minLength": 1
                  },
                  "slot": {
                    "type": "string",
                    "description": "Injection slot.",
                    "enum": [
                      "head",
                      "body_start",
                      "body_end"
                    ]
                  },
                  "code": {
                    "type": "string",
                    "description": "Reviewed HTML, CSS, or JavaScript source."
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Whether this snippet is active."
                  }
                },
                "required": [
                  "id",
                  "label",
                  "slot",
                  "code",
                  "enabled"
                ],
                "additionalProperties": false
              },
              "seo": {
                "type": "object",
                "description": "Site-wide search and social metadata defaults.",
                "properties": {
                  "titleTemplate": {
                    "type": "string",
                    "description": "Title template; %s is replaced by the page title."
                  },
                  "metaTitle": {
                    "type": "string",
                    "description": "Default page title override."
                  },
                  "metaDescription": {
                    "type": "string",
                    "description": "Default search and social description."
                  },
                  "faviconUrl": {
                    "type": "string",
                    "description": "Browser and bookmark icon URL."
                  },
                  "openGraphImageUrl": {
                    "type": "string",
                    "description": "Default Open Graph image URL."
                  },
                  "canonicalUrl": {
                    "type": "string",
                    "description": "Canonical site URL."
                  }
                },
                "additionalProperties": false
              },
              "siteContent": {
                "type": "object",
                "description": "Complete canonical TopoloWeb site content.",
                "properties": {
                  "intent": {
                    "type": "string",
                    "description": "The kind of website being created.",
                    "enum": [
                      "business_site",
                      "landing_page",
                      "portfolio",
                      "agency",
                      "product_suite"
                    ]
                  },
                  "siteTitle": {
                    "type": "string",
                    "description": "Public site title.",
                    "minLength": 1
                  },
                  "siteDescription": {
                    "type": "string",
                    "description": "Public site description."
                  },
                  "contactEmail": {
                    "type": "string",
                    "description": "Public contact email.",
                    "minLength": 1
                  },
                  "contactPhone": {
                    "type": "string",
                    "description": "Optional public contact phone number."
                  },
                  "navigation": {
                    "type": "array",
                    "description": "Primary site navigation.",
                    "items": {
                      "$ref": "#/$defs/navigationItem"
                    }
                  },
                  "footerNavigation": {
                    "type": "array",
                    "description": "Footer navigation.",
                    "items": {
                      "$ref": "#/$defs/navigationItem"
                    }
                  },
                  "menus": {
                    "type": "array",
                    "description": "Reusable custom menus.",
                    "items": {
                      "$ref": "#/$defs/navigationMenu"
                    }
                  },
                  "styleClasses": {
                    "type": "array",
                    "description": "Reusable section and item styles.",
                    "items": {
                      "$ref": "#/$defs/styleClass"
                    }
                  },
                  "theme": {
                    "$ref": "#/$defs/theme"
                  },
                  "document": {
                    "$ref": "#/$defs/siteDocument"
                  },
                  "collections": {
                    "type": "array",
                    "description": "Reusable CMS collections.",
                    "items": {
                      "$ref": "#/$defs/collection"
                    }
                  },
                  "codeSnippets": {
                    "type": "array",
                    "description": "Reviewed bounded code snippets.",
                    "items": {
                      "$ref": "#/$defs/codeSnippet"
                    }
                  },
                  "seo": {
                    "$ref": "#/$defs/seo"
                  }
                },
                "required": [
                  "intent",
                  "siteTitle",
                  "siteDescription",
                  "contactEmail",
                  "navigation",
                  "footerNavigation",
                  "menus",
                  "styleClasses",
                  "theme",
                  "document",
                  "collections",
                  "codeSnippets"
                ],
                "additionalProperties": false
              },
              "createSite": {
                "type": "object",
                "description": "Brief used to create a new TopoloWeb site.",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Internal and initial public site name.",
                    "minLength": 1
                  },
                  "intent": {
                    "type": "string",
                    "description": "The kind of website being created.",
                    "enum": [
                      "business_site",
                      "landing_page",
                      "portfolio",
                      "agency",
                      "product_suite"
                    ]
                  },
                  "businessType": {
                    "type": "string",
                    "description": "Business or project category.",
                    "minLength": 1
                  },
                  "audience": {
                    "type": "string",
                    "description": "Primary intended audience.",
                    "minLength": 1
                  },
                  "offer": {
                    "type": "string",
                    "description": "Primary product, service, or proposition.",
                    "minLength": 1
                  },
                  "tone": {
                    "type": "string",
                    "description": "Desired writing and visual tone.",
                    "minLength": 1
                  },
                  "location": {
                    "type": "string",
                    "description": "Optional geographic market."
                  },
                  "differentiators": {
                    "type": "array",
                    "description": "Specific differentiators to communicate.",
                    "items": {
                      "type": "string",
                      "description": "One differentiator."
                    }
                  },
                  "goals": {
                    "type": "array",
                    "description": "Desired user and business outcomes.",
                    "items": {
                      "type": "string",
                      "description": "One goal."
                    }
                  },
                  "prompt": {
                    "type": "string",
                    "description": "Additional generation direction."
                  }
                },
                "required": [
                  "name",
                  "businessType",
                  "audience",
                  "offer",
                  "tone"
                ],
                "additionalProperties": false
              },
              "qualityIssue": {
                "type": "object",
                "description": "One actionable launch-quality finding.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable issue code.",
                    "minLength": 1
                  },
                  "severity": {
                    "type": "string",
                    "description": "Issue severity.",
                    "enum": [
                      "info",
                      "warning",
                      "error"
                    ]
                  },
                  "title": {
                    "type": "string",
                    "description": "Short issue title.",
                    "minLength": 1
                  },
                  "detail": {
                    "type": "string",
                    "description": "Actionable remediation detail.",
                    "minLength": 1
                  }
                },
                "required": [
                  "id",
                  "severity",
                  "title",
                  "detail"
                ],
                "additionalProperties": false
              },
              "qualityReport": {
                "type": "object",
                "description": "Deterministic content and launch-quality report.",
                "properties": {
                  "generatedAt": {
                    "type": "string",
                    "description": "ISO-8601 generation timestamp.",
                    "format": "date-time"
                  },
                  "score": {
                    "type": "number",
                    "description": "Quality score from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "issues": {
                    "type": "array",
                    "description": "Actionable quality findings.",
                    "items": {
                      "$ref": "#/$defs/qualityIssue"
                    }
                  }
                },
                "required": [
                  "generatedAt",
                  "score",
                  "issues"
                ],
                "additionalProperties": false
              },
              "siteRecord": {
                "type": "object",
                "description": "One TopoloWeb site and its current editable content.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable site identifier.",
                    "minLength": 1
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "Owning Topolo organization identifier.",
                    "minLength": 1
                  },
                  "workspaceId": {
                    "type": "string",
                    "description": "Owning Topolo workspace identifier.",
                    "minLength": 1
                  },
                  "slug": {
                    "type": "string",
                    "description": "Platform hostname slug.",
                    "minLength": 1
                  },
                  "name": {
                    "type": "string",
                    "description": "Internal site name.",
                    "minLength": 1
                  },
                  "status": {
                    "type": "string",
                    "description": "Current lifecycle status.",
                    "enum": [
                      "draft",
                      "published",
                      "archived"
                    ]
                  },
                  "brief": {
                    "type": "object",
                    "description": "Generation brief retained for iterative edits.",
                    "additionalProperties": true
                  },
                  "draftContent": {
                    "$ref": "#/$defs/siteContent"
                  },
                  "currentVersionId": {
                    "type": "string",
                    "description": "Currently published immutable version identifier."
                  },
                  "draftPreviewToken": {
                    "type": "string",
                    "description": "Opaque token used by the draft preview URL.",
                    "minLength": 1
                  },
                  "createdAt": {
                    "type": "string",
                    "description": "ISO-8601 creation timestamp.",
                    "format": "date-time"
                  },
                  "updatedAt": {
                    "type": "string",
                    "description": "ISO-8601 last-update timestamp.",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "workspaceId",
                  "slug",
                  "name",
                  "status",
                  "brief",
                  "draftContent",
                  "draftPreviewToken",
                  "createdAt",
                  "updatedAt"
                ],
                "additionalProperties": false
              },
              "siteVersion": {
                "type": "object",
                "description": "One immutable published site version.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable version identifier.",
                    "minLength": 1
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "Owning Topolo organization identifier.",
                    "minLength": 1
                  },
                  "workspaceId": {
                    "type": "string",
                    "description": "Owning Topolo workspace identifier.",
                    "minLength": 1
                  },
                  "siteId": {
                    "type": "string",
                    "description": "Parent site identifier.",
                    "minLength": 1
                  },
                  "versionNumber": {
                    "type": "integer",
                    "description": "Monotonic site version number.",
                    "minimum": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable version label.",
                    "minLength": 1
                  },
                  "snapshot": {
                    "$ref": "#/$defs/siteContent"
                  },
                  "previewToken": {
                    "type": "string",
                    "description": "Opaque immutable-version preview token.",
                    "minLength": 1
                  },
                  "publishedAt": {
                    "type": "string",
                    "description": "ISO-8601 publication timestamp.",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "workspaceId",
                  "siteId",
                  "versionNumber",
                  "label",
                  "snapshot",
                  "previewToken",
                  "publishedAt"
                ],
                "additionalProperties": false
              },
              "siteDomain": {
                "type": "object",
                "description": "One platform or custom site domain.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable domain identifier.",
                    "minLength": 1
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "Owning Topolo organization identifier.",
                    "minLength": 1
                  },
                  "workspaceId": {
                    "type": "string",
                    "description": "Owning Topolo workspace identifier.",
                    "minLength": 1
                  },
                  "siteId": {
                    "type": "string",
                    "description": "Parent site identifier.",
                    "minLength": 1
                  },
                  "hostname": {
                    "type": "string",
                    "description": "Domain hostname without scheme.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Domain ownership kind.",
                    "enum": [
                      "platform",
                      "custom"
                    ]
                  },
                  "status": {
                    "type": "string",
                    "description": "DNS and TLS activation status.",
                    "enum": [
                      "pending_dns",
                      "pending_ssl",
                      "active",
                      "failed"
                    ]
                  },
                  "dnsTarget": {
                    "type": "string",
                    "description": "DNS target required for this domain.",
                    "minLength": 1
                  },
                  "verificationToken": {
                    "type": "string",
                    "description": "Opaque DNS ownership verification token.",
                    "minLength": 1
                  },
                  "isPrimary": {
                    "type": "boolean",
                    "description": "Whether this is the primary public hostname."
                  },
                  "createdAt": {
                    "type": "string",
                    "description": "ISO-8601 creation timestamp.",
                    "format": "date-time"
                  },
                  "updatedAt": {
                    "type": "string",
                    "description": "ISO-8601 last-update timestamp.",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "workspaceId",
                  "siteId",
                  "hostname",
                  "kind",
                  "status",
                  "dnsTarget",
                  "verificationToken",
                  "isPrimary",
                  "createdAt",
                  "updatedAt"
                ],
                "additionalProperties": false
              },
              "siteUrls": {
                "type": "object",
                "description": "Stable URLs used to preview and verify the site.",
                "properties": {
                  "previewUrl": {
                    "type": "string",
                    "description": "Authenticated draft-preview URL.",
                    "format": "uri"
                  },
                  "publicUrl": {
                    "type": "string",
                    "description": "Primary public site URL.",
                    "format": "uri"
                  }
                },
                "required": [
                  "previewUrl",
                  "publicUrl"
                ],
                "additionalProperties": false
              },
              "siteDetails": {
                "type": "object",
                "description": "Complete editable site state returned after a build.",
                "properties": {
                  "site": {
                    "$ref": "#/$defs/siteRecord"
                  },
                  "versions": {
                    "type": "array",
                    "description": "Published immutable versions, newest first.",
                    "items": {
                      "$ref": "#/$defs/siteVersion"
                    }
                  },
                  "domains": {
                    "type": "array",
                    "description": "Platform and custom domains.",
                    "items": {
                      "$ref": "#/$defs/siteDomain"
                    }
                  },
                  "assets": {
                    "type": "array",
                    "description": "Uploaded or linked site assets.",
                    "items": {
                      "type": "object",
                      "description": "One site asset record.",
                      "additionalProperties": true
                    }
                  },
                  "submissions": {
                    "type": "array",
                    "description": "Recent form submissions.",
                    "items": {
                      "type": "object",
                      "description": "One site form submission.",
                      "additionalProperties": true
                    }
                  },
                  "events": {
                    "type": "array",
                    "description": "Recent site lifecycle events.",
                    "items": {
                      "type": "object",
                      "description": "One site event.",
                      "additionalProperties": true
                    }
                  },
                  "insights": {
                    "type": "object",
                    "description": "Derived site activity counters.",
                    "additionalProperties": true
                  },
                  "qualityReport": {
                    "$ref": "#/$defs/qualityReport"
                  },
                  "agentSessions": {
                    "type": "array",
                    "description": "Agent editing sessions.",
                    "items": {
                      "type": "object",
                      "description": "One agent session summary.",
                      "additionalProperties": true
                    }
                  }
                },
                "required": [
                  "site",
                  "versions",
                  "domains",
                  "assets",
                  "submissions",
                  "events",
                  "insights",
                  "qualityReport",
                  "agentSessions"
                ],
                "additionalProperties": false
              }
            }
          },
          "target": "api",
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "siteId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/studio/sites/example/publish-preflight",
              "body": null
            },
            "effects": "Reads state through GET /api/studio/sites/{siteId}/publish-preflight without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/studio/sites/*/publish-preflight",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.collections.list",
          "title": "Sites Collections List",
          "description": "Call GET /studio/sites/{siteId}/collections.",
          "method": "GET",
          "path": "/api/studio/sites/{siteId}/collections",
          "permission": "studio:read",
          "readOnly": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "siteId"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Sites Collections List.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "siteId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/studio/sites/example/collections",
              "body": null
            },
            "effects": "Reads state through GET /api/studio/sites/{siteId}/collections without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/studio/sites/*/collections",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.code_snippets.list",
          "title": "Sites Code Snippets List",
          "description": "Call GET /studio/sites/{siteId}/code-snippets.",
          "method": "GET",
          "path": "/api/studio/sites/{siteId}/code-snippets",
          "permission": "settings:read",
          "readOnly": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "siteId"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Sites Code Snippets List.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "siteId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/studio/sites/example/code-snippets",
              "body": null
            },
            "effects": "Reads state through GET /api/studio/sites/{siteId}/code-snippets without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/studio/sites/*/code-snippets",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.agent_sessions.list",
          "title": "Sites Agent Sessions List",
          "description": "Call GET /studio/sites/{siteId}/agent/sessions.",
          "method": "GET",
          "path": "/api/studio/sites/{siteId}/agent/sessions",
          "permission": "studio:read",
          "readOnly": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "siteId"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Sites Agent Sessions List.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "siteId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/studio/sites/example/agent/sessions",
              "body": null
            },
            "effects": "Reads state through GET /api/studio/sites/{siteId}/agent/sessions without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/studio/sites/*/agent/sessions",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.agent_sessions.get",
          "title": "Sites Agent Sessions Get",
          "description": "Call GET /studio/sites/{siteId}/agent/sessions/{sessionId}.",
          "method": "GET",
          "path": "/api/studio/sites/{siteId}/agent/sessions/{sessionId}",
          "permission": "studio:read",
          "readOnly": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "minLength": 1
              },
              "sessionId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "siteId",
              "sessionId"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Sites Agent Sessions Get.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "siteId": "example",
              "sessionId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/studio/sites/example/agent/sessions/example",
              "body": null
            },
            "effects": "Reads state through GET /api/studio/sites/{siteId}/agent/sessions/{sessionId} without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/studio/sites/*/agent/sessions/*",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.versions.list",
          "title": "Sites Versions List",
          "description": "Call GET /studio/sites/{siteId}/versions.",
          "method": "GET",
          "path": "/api/studio/sites/{siteId}/versions",
          "permission": "studio:read",
          "readOnly": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "siteId"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Sites Versions List.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "siteId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/studio/sites/example/versions",
              "body": null
            },
            "effects": "Reads state through GET /api/studio/sites/{siteId}/versions without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/studio/sites/*/versions",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.versions.restore",
          "title": "Restore site version",
          "description": "Restore and publish one saved site version.",
          "permission": "publish:write",
          "method": "POST",
          "path": "/api/studio/sites/{siteId}/versions/{versionId}/restore",
          "readOnly": false,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "title": "Restore TopoloWeb site version",
            "type": "object",
            "description": "Restore one immutable version belonging to the selected site and activate it as a new version.",
            "properties": {
              "siteId": {
                "type": "string",
                "description": "Site identifier returned by site discovery.",
                "minLength": 1
              },
              "versionId": {
                "type": "string",
                "description": "Version identifier returned by sites.versions.list for the same site.",
                "minLength": 1
              }
            },
            "required": [
              "siteId",
              "versionId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "description": "Published site, immutable version, quality evidence, and verification URLs.",
            "properties": {
              "site": {
                "$ref": "#/$defs/siteRecord"
              },
              "version": {
                "$ref": "#/$defs/siteVersion"
              },
              "qualityReport": {
                "$ref": "#/$defs/qualityReport"
              },
              "urls": {
                "$ref": "#/$defs/siteUrls"
              }
            },
            "required": [
              "site",
              "version",
              "qualityReport",
              "urls"
            ],
            "additionalProperties": false,
            "$defs": {
              "jsonValue": {
                "description": "A JSON-compatible component property value.",
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "null"
                  },
                  {
                    "type": "array",
                    "items": {
                      "$ref": "#/$defs/jsonValue"
                    }
                  },
                  {
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/$defs/jsonValue"
                    }
                  }
                ]
              },
              "actionLink": {
                "type": "object",
                "description": "A rendered call-to-action link.",
                "properties": {
                  "label": {
                    "type": "string",
                    "description": "Visible link label.",
                    "minLength": 1
                  },
                  "href": {
                    "type": "string",
                    "description": "Root-relative path, anchor, mailto, tel, or HTTPS URL.",
                    "minLength": 1
                  },
                  "linkKind": {
                    "type": "string",
                    "description": "Whether the link targets a TopoloWeb page or a custom URL.",
                    "enum": [
                      "custom",
                      "page"
                    ]
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the link in a new browser tab."
                  }
                },
                "required": [
                  "label",
                  "href"
                ],
                "additionalProperties": false
              },
              "navigationItem": {
                "type": "object",
                "description": "One site navigation entry.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable navigation item identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Visible navigation label.",
                    "minLength": 1
                  },
                  "href": {
                    "type": "string",
                    "description": "Root-relative path, anchor, or external URL.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Navigation emphasis.",
                    "enum": [
                      "primary",
                      "secondary",
                      "cta"
                    ]
                  },
                  "parentId": {
                    "type": "string",
                    "description": "Optional parent item identifier for one-level menus."
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the link in a new browser tab."
                  }
                },
                "required": [
                  "id",
                  "label",
                  "href",
                  "kind"
                ],
                "additionalProperties": false
              },
              "navigationMenu": {
                "type": "object",
                "description": "A named reusable navigation menu.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable menu identifier.",
                    "minLength": 1
                  },
                  "name": {
                    "type": "string",
                    "description": "Human-readable menu name.",
                    "minLength": 1
                  },
                  "placement": {
                    "type": "string",
                    "description": "Custom menu placement marker.",
                    "const": "custom"
                  },
                  "items": {
                    "type": "array",
                    "description": "Ordered menu entries.",
                    "items": {
                      "$ref": "#/$defs/navigationItem"
                    }
                  }
                },
                "required": [
                  "id",
                  "name",
                  "placement",
                  "items"
                ],
                "additionalProperties": false
              },
              "pageStyleDefaultsBase": {
                "type": "object",
                "description": "Site-wide default layout and typography values.",
                "properties": {
                  "sectionPaddingTop": {
                    "type": "number",
                    "description": "Default section top padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingBottom": {
                    "type": "number",
                    "description": "Default section bottom padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingLeft": {
                    "type": "number",
                    "description": "Default section left padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingRight": {
                    "type": "number",
                    "description": "Default section right padding in pixels.",
                    "minimum": 0
                  },
                  "sectionMarginTop": {
                    "type": "number",
                    "description": "Default section top margin in pixels."
                  },
                  "sectionMarginBottom": {
                    "type": "number",
                    "description": "Default section bottom margin in pixels."
                  },
                  "sectionMarginLeft": {
                    "type": "number",
                    "description": "Default section left margin in pixels."
                  },
                  "sectionMarginRight": {
                    "type": "number",
                    "description": "Default section right margin in pixels."
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Default heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Default heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Default body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Default body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Default card padding in pixels.",
                    "minimum": 0
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Default layout gap in pixels.",
                    "minimum": 0
                  }
                },
                "additionalProperties": false
              },
              "pageStyleDefaults": {
                "type": "object",
                "description": "Desktop page defaults with optional viewport overrides.",
                "properties": {
                  "sectionPaddingTop": {
                    "type": "number",
                    "description": "Default section top padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingBottom": {
                    "type": "number",
                    "description": "Default section bottom padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingLeft": {
                    "type": "number",
                    "description": "Default section left padding in pixels.",
                    "minimum": 0
                  },
                  "sectionPaddingRight": {
                    "type": "number",
                    "description": "Default section right padding in pixels.",
                    "minimum": 0
                  },
                  "sectionMarginTop": {
                    "type": "number",
                    "description": "Default section top margin in pixels."
                  },
                  "sectionMarginBottom": {
                    "type": "number",
                    "description": "Default section bottom margin in pixels."
                  },
                  "sectionMarginLeft": {
                    "type": "number",
                    "description": "Default section left margin in pixels."
                  },
                  "sectionMarginRight": {
                    "type": "number",
                    "description": "Default section right margin in pixels."
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Default heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Default heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Default body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Default body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Default card padding in pixels.",
                    "minimum": 0
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Default layout gap in pixels.",
                    "minimum": 0
                  },
                  "responsive": {
                    "type": "object",
                    "description": "Viewport-specific page-default overrides.",
                    "propertyNames": {
                      "type": "string",
                      "description": "A non-desktop responsive override breakpoint.",
                      "enum": [
                        "4k",
                        "tablet",
                        "mobile"
                      ]
                    },
                    "additionalProperties": {
                      "$ref": "#/$defs/pageStyleDefaultsBase"
                    }
                  }
                },
                "additionalProperties": false
              },
              "theme": {
                "type": "object",
                "description": "Complete TopoloWeb theme and responsive page defaults.",
                "properties": {
                  "primary": {
                    "type": "string",
                    "description": "Primary brand color.",
                    "minLength": 1
                  },
                  "secondary": {
                    "type": "string",
                    "description": "Secondary brand color.",
                    "minLength": 1
                  },
                  "surface": {
                    "type": "string",
                    "description": "Primary surface color.",
                    "minLength": 1
                  },
                  "ink": {
                    "type": "string",
                    "description": "Primary text color.",
                    "minLength": 1
                  },
                  "muted": {
                    "type": "string",
                    "description": "Muted text color.",
                    "minLength": 1
                  },
                  "accent": {
                    "type": "string",
                    "description": "Accent color.",
                    "minLength": 1
                  },
                  "accentSoft": {
                    "type": "string",
                    "description": "Soft accent surface color.",
                    "minLength": 1
                  },
                  "glow": {
                    "type": "string",
                    "description": "Decorative glow color.",
                    "minLength": 1
                  },
                  "headingFont": {
                    "type": "string",
                    "description": "CSS heading font stack.",
                    "minLength": 1
                  },
                  "bodyFont": {
                    "type": "string",
                    "description": "CSS body font stack.",
                    "minLength": 1
                  },
                  "radius": {
                    "type": "string",
                    "description": "Default CSS corner radius.",
                    "minLength": 1
                  },
                  "brandLogoUrl": {
                    "type": "string",
                    "description": "HTTPS brand-logo URL."
                  },
                  "brandLogoAlt": {
                    "type": "string",
                    "description": "Accessible brand-logo description."
                  },
                  "brandLogoWidth": {
                    "type": "string",
                    "description": "CSS brand-logo width."
                  },
                  "brandLogoHeight": {
                    "type": "string",
                    "description": "CSS brand-logo height."
                  },
                  "pageDefaults": {
                    "$ref": "#/$defs/pageStyleDefaults"
                  },
                  "customCss": {
                    "type": "string",
                    "description": "Reviewed site-wide CSS loaded after generated styles."
                  }
                },
                "required": [
                  "primary",
                  "secondary",
                  "surface",
                  "ink",
                  "muted",
                  "accent",
                  "accentSoft",
                  "glow",
                  "headingFont",
                  "bodyFont",
                  "radius"
                ],
                "additionalProperties": false
              },
              "sectionStyleBase": {
                "type": "object",
                "description": "Desktop section style values.",
                "properties": {
                  "backgroundColor": {
                    "type": "string",
                    "description": "CSS background color."
                  },
                  "backgroundImageUrl": {
                    "type": "string",
                    "description": "HTTPS background image URL."
                  },
                  "backgroundMode": {
                    "type": "string",
                    "description": "Background image sizing mode.",
                    "enum": [
                      "cover",
                      "contain",
                      "stretch",
                      "tile"
                    ]
                  },
                  "backgroundPosition": {
                    "type": "string",
                    "description": "Background image position.",
                    "enum": [
                      "center",
                      "top",
                      "bottom",
                      "left",
                      "right",
                      "top left",
                      "top right",
                      "bottom left",
                      "bottom right"
                    ]
                  },
                  "textColor": {
                    "type": "string",
                    "description": "CSS foreground color."
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "imagePlacement": {
                    "type": "string",
                    "description": "Media placement relative to text.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "itemsPlacement": {
                    "type": "string",
                    "description": "Repeated items placement relative to section copy for supported compositions.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "paddingTop": {
                    "type": "number",
                    "description": "Top padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBottom": {
                    "type": "number",
                    "description": "Bottom padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom padding should stay linked."
                  },
                  "paddingLeft": {
                    "type": "number",
                    "description": "Left padding in pixels.",
                    "minimum": 0
                  },
                  "paddingRight": {
                    "type": "number",
                    "description": "Right padding in pixels.",
                    "minimum": 0
                  },
                  "paddingInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right padding should stay linked."
                  },
                  "marginTop": {
                    "type": "number",
                    "description": "Top margin in pixels."
                  },
                  "marginBottom": {
                    "type": "number",
                    "description": "Bottom margin in pixels."
                  },
                  "marginBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom margins should stay linked."
                  },
                  "marginLeft": {
                    "type": "number",
                    "description": "Left margin in pixels."
                  },
                  "marginRight": {
                    "type": "number",
                    "description": "Right margin in pixels."
                  },
                  "marginInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right margins should stay linked."
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Border line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "CSS border color."
                  },
                  "borderRadius": {
                    "type": "number",
                    "description": "Corner radius in pixels.",
                    "minimum": 0
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Heading font size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Body font size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Repeated-card padding in pixels.",
                    "minimum": 0
                  },
                  "columnCount": {
                    "type": "number",
                    "description": "Responsive column count.",
                    "enum": [
                      2,
                      3,
                      4
                    ]
                  },
                  "columnSpans": {
                    "type": "array",
                    "description": "Grid spans for explicit columns.",
                    "items": {
                      "type": "number",
                      "description": "One column span.",
                      "minimum": 1
                    }
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Gap between layout children in pixels.",
                    "minimum": 0
                  },
                  "nestedSectionPadding": {
                    "type": "number",
                    "description": "Padding around nested sections in pixels.",
                    "minimum": 0
                  },
                  "mediaAspectRatio": {
                    "type": "string",
                    "description": "Media aspect ratio.",
                    "enum": [
                      "16 / 9",
                      "4 / 3",
                      "1 / 1",
                      "9 / 16"
                    ]
                  },
                  "mediaFit": {
                    "type": "string",
                    "description": "Media object-fit behavior.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "mediaFocalX": {
                    "type": "number",
                    "description": "Horizontal focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "mediaFocalY": {
                    "type": "number",
                    "description": "Vertical focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerTop": {
                    "type": "boolean",
                    "description": "Whether a top divider is rendered."
                  },
                  "dividerBottom": {
                    "type": "boolean",
                    "description": "Whether a bottom divider is rendered."
                  },
                  "dividerThickness": {
                    "type": "number",
                    "description": "Divider thickness in pixels.",
                    "minimum": 0
                  },
                  "dividerWidth": {
                    "type": "number",
                    "description": "Divider width percentage.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerLineStyle": {
                    "type": "string",
                    "description": "Divider line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "customCss": {
                    "type": "string",
                    "description": "Reviewed CSS declarations scoped to this section."
                  }
                },
                "additionalProperties": false
              },
              "sectionStyle": {
                "type": "object",
                "description": "Section style values with optional responsive overrides.",
                "properties": {
                  "backgroundColor": {
                    "type": "string",
                    "description": "CSS background color."
                  },
                  "backgroundImageUrl": {
                    "type": "string",
                    "description": "HTTPS background image URL."
                  },
                  "backgroundMode": {
                    "type": "string",
                    "description": "Background image sizing mode.",
                    "enum": [
                      "cover",
                      "contain",
                      "stretch",
                      "tile"
                    ]
                  },
                  "backgroundPosition": {
                    "type": "string",
                    "description": "Background image position.",
                    "enum": [
                      "center",
                      "top",
                      "bottom",
                      "left",
                      "right",
                      "top left",
                      "top right",
                      "bottom left",
                      "bottom right"
                    ]
                  },
                  "textColor": {
                    "type": "string",
                    "description": "CSS foreground color."
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "imagePlacement": {
                    "type": "string",
                    "description": "Media placement relative to text.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "itemsPlacement": {
                    "type": "string",
                    "description": "Repeated items placement relative to section copy for supported compositions.",
                    "enum": [
                      "left",
                      "right"
                    ]
                  },
                  "paddingTop": {
                    "type": "number",
                    "description": "Top padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBottom": {
                    "type": "number",
                    "description": "Bottom padding in pixels.",
                    "minimum": 0
                  },
                  "paddingBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom padding should stay linked."
                  },
                  "paddingLeft": {
                    "type": "number",
                    "description": "Left padding in pixels.",
                    "minimum": 0
                  },
                  "paddingRight": {
                    "type": "number",
                    "description": "Right padding in pixels.",
                    "minimum": 0
                  },
                  "paddingInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right padding should stay linked."
                  },
                  "marginTop": {
                    "type": "number",
                    "description": "Top margin in pixels."
                  },
                  "marginBottom": {
                    "type": "number",
                    "description": "Bottom margin in pixels."
                  },
                  "marginBlockLinked": {
                    "type": "boolean",
                    "description": "Whether top and bottom margins should stay linked."
                  },
                  "marginLeft": {
                    "type": "number",
                    "description": "Left margin in pixels."
                  },
                  "marginRight": {
                    "type": "number",
                    "description": "Right margin in pixels."
                  },
                  "marginInlineLinked": {
                    "type": "boolean",
                    "description": "Whether left and right margins should stay linked."
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Border line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "CSS border color."
                  },
                  "borderRadius": {
                    "type": "number",
                    "description": "Corner radius in pixels.",
                    "minimum": 0
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Heading font size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Body font size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "cardPadding": {
                    "type": "number",
                    "description": "Repeated-card padding in pixels.",
                    "minimum": 0
                  },
                  "columnCount": {
                    "type": "number",
                    "description": "Responsive column count.",
                    "enum": [
                      2,
                      3,
                      4
                    ]
                  },
                  "columnSpans": {
                    "type": "array",
                    "description": "Grid spans for explicit columns.",
                    "items": {
                      "type": "number",
                      "description": "One column span.",
                      "minimum": 1
                    }
                  },
                  "layoutGap": {
                    "type": "number",
                    "description": "Gap between layout children in pixels.",
                    "minimum": 0
                  },
                  "nestedSectionPadding": {
                    "type": "number",
                    "description": "Padding around nested sections in pixels.",
                    "minimum": 0
                  },
                  "mediaAspectRatio": {
                    "type": "string",
                    "description": "Media aspect ratio.",
                    "enum": [
                      "16 / 9",
                      "4 / 3",
                      "1 / 1",
                      "9 / 16"
                    ]
                  },
                  "mediaFit": {
                    "type": "string",
                    "description": "Media object-fit behavior.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "mediaFocalX": {
                    "type": "number",
                    "description": "Horizontal focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "mediaFocalY": {
                    "type": "number",
                    "description": "Vertical focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerTop": {
                    "type": "boolean",
                    "description": "Whether a top divider is rendered."
                  },
                  "dividerBottom": {
                    "type": "boolean",
                    "description": "Whether a bottom divider is rendered."
                  },
                  "dividerThickness": {
                    "type": "number",
                    "description": "Divider thickness in pixels.",
                    "minimum": 0
                  },
                  "dividerWidth": {
                    "type": "number",
                    "description": "Divider width percentage.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "dividerLineStyle": {
                    "type": "string",
                    "description": "Divider line style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "customCss": {
                    "type": "string",
                    "description": "Reviewed CSS declarations scoped to this section."
                  },
                  "responsive": {
                    "type": "object",
                    "description": "Viewport-specific section-style overrides.",
                    "propertyNames": {
                      "type": "string",
                      "description": "A non-desktop responsive override breakpoint.",
                      "enum": [
                        "4k",
                        "tablet",
                        "mobile"
                      ]
                    },
                    "additionalProperties": {
                      "$ref": "#/$defs/sectionStyleBase"
                    }
                  }
                },
                "additionalProperties": false
              },
              "sectionItemStyleBase": {
                "type": "object",
                "description": "Desktop repeated-item style values.",
                "properties": {
                  "padding": {
                    "type": "number",
                    "description": "Item padding in pixels.",
                    "minimum": 0
                  },
                  "radius": {
                    "type": "number",
                    "description": "Item corner radius in pixels.",
                    "minimum": 0
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Item border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Item border style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "Item border color."
                  },
                  "imageFit": {
                    "type": "string",
                    "description": "Item image fit.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "imageFocalX": {
                    "type": "number",
                    "description": "Horizontal image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "imageFocalY": {
                    "type": "number",
                    "description": "Vertical image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "textPadding": {
                    "type": "number",
                    "description": "Text-panel padding in pixels.",
                    "minimum": 0
                  },
                  "textRadius": {
                    "type": "number",
                    "description": "Text-panel corner radius in pixels.",
                    "minimum": 0
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Item text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Item heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Item heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Item body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Item body line-height multiplier.",
                    "minimum": 0.5
                  }
                },
                "additionalProperties": false
              },
              "sectionItemStyle": {
                "type": "object",
                "description": "Repeated-item style values with optional responsive overrides.",
                "properties": {
                  "padding": {
                    "type": "number",
                    "description": "Item padding in pixels.",
                    "minimum": 0
                  },
                  "radius": {
                    "type": "number",
                    "description": "Item corner radius in pixels.",
                    "minimum": 0
                  },
                  "borderWidth": {
                    "type": "number",
                    "description": "Item border width in pixels.",
                    "minimum": 0
                  },
                  "borderStyle": {
                    "type": "string",
                    "description": "Item border style.",
                    "enum": [
                      "solid",
                      "dashed",
                      "dotted"
                    ]
                  },
                  "borderColor": {
                    "type": "string",
                    "description": "Item border color."
                  },
                  "imageFit": {
                    "type": "string",
                    "description": "Item image fit.",
                    "enum": [
                      "cover",
                      "contain",
                      "fill",
                      "none"
                    ]
                  },
                  "imageFocalX": {
                    "type": "number",
                    "description": "Horizontal image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "imageFocalY": {
                    "type": "number",
                    "description": "Vertical image focal point from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "textPadding": {
                    "type": "number",
                    "description": "Text-panel padding in pixels.",
                    "minimum": 0
                  },
                  "textRadius": {
                    "type": "number",
                    "description": "Text-panel corner radius in pixels.",
                    "minimum": 0
                  },
                  "textAlign": {
                    "type": "string",
                    "description": "Item text alignment.",
                    "enum": [
                      "left",
                      "center",
                      "right"
                    ]
                  },
                  "headingSize": {
                    "type": "number",
                    "description": "Item heading size in pixels.",
                    "minimum": 1
                  },
                  "headingLineHeight": {
                    "type": "number",
                    "description": "Item heading line-height multiplier.",
                    "minimum": 0.5
                  },
                  "bodySize": {
                    "type": "number",
                    "description": "Item body size in pixels.",
                    "minimum": 1
                  },
                  "bodyLineHeight": {
                    "type": "number",
                    "description": "Item body line-height multiplier.",
                    "minimum": 0.5
                  },
                  "responsive": {
                    "type": "object",
                    "description": "Viewport-specific item-style overrides.",
                    "propertyNames": {
                      "type": "string",
                      "description": "A non-desktop responsive override breakpoint.",
                      "enum": [
                        "4k",
                        "tablet",
                        "mobile"
                      ]
                    },
                    "additionalProperties": {
                      "$ref": "#/$defs/sectionItemStyleBase"
                    }
                  }
                },
                "additionalProperties": false
              },
              "sectionItem": {
                "type": "object",
                "description": "One repeated card, row, quote, metric, question, or media item.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable item identifier.",
                    "minLength": 1
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible item title."
                  },
                  "body": {
                    "type": "string",
                    "description": "Visible supporting copy."
                  },
                  "meta": {
                    "type": "string",
                    "description": "Optional metadata."
                  },
                  "value": {
                    "type": "string",
                    "description": "Optional value or price."
                  },
                  "badge": {
                    "type": "string",
                    "description": "Optional badge label."
                  },
                  "href": {
                    "type": "string",
                    "description": "Optional item link."
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the item link in a new tab."
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Optional item image URL."
                  },
                  "alt": {
                    "type": "string",
                    "description": "Accessible item-image description."
                  },
                  "style": {
                    "$ref": "#/$defs/sectionItemStyle"
                  },
                  "styleClassIds": {
                    "type": "array",
                    "description": "Reusable item style-class identifiers.",
                    "items": {
                      "type": "string",
                      "description": "One style-class identifier.",
                      "minLength": 1
                    }
                  }
                },
                "required": [
                  "id",
                  "title",
                  "body"
                ],
                "additionalProperties": false
              },
              "sectionValue": {
                "type": "object",
                "description": "Renderer-backed block content without persisted child arrays.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable section identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "eyebrow": {
                    "type": "string",
                    "description": "Optional eyebrow copy."
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible section heading."
                  },
                  "body": {
                    "type": "string",
                    "description": "Visible section body copy."
                  },
                  "kicker": {
                    "type": "string",
                    "description": "Optional supporting kicker."
                  },
                  "primaryAction": {
                    "$ref": "#/$defs/actionLink"
                  },
                  "secondaryAction": {
                    "$ref": "#/$defs/actionLink"
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Optional section image URL."
                  },
                  "alt": {
                    "type": "string",
                    "description": "Accessible section-image description."
                  },
                  "presentation": {
                    "type": "string",
                    "description": "A renderer-backed composition designed for the selected block type.",
                    "enum": [
                      "annotated",
                      "cards",
                      "columns",
                      "divided",
                      "editorial",
                      "manifesto",
                      "mosaic",
                      "poster",
                      "ruled",
                      "split",
                      "spotlight",
                      "tiers",
                      "timeline"
                    ]
                  },
                  "styleClassIds": {
                    "type": "array",
                    "description": "Reusable section style-class identifiers.",
                    "items": {
                      "type": "string",
                      "description": "One style-class identifier.",
                      "minLength": 1
                    }
                  },
                  "style": {
                    "$ref": "#/$defs/sectionStyle"
                  },
                  "formId": {
                    "type": "string",
                    "description": "Form identifier for a contact-form block."
                  },
                  "collectionSlug": {
                    "type": "string",
                    "description": "Collection slug bound to this block."
                  },
                  "collectionLimit": {
                    "type": "number",
                    "description": "Maximum collection entries rendered.",
                    "minimum": 1
                  },
                  "collectionSort": {
                    "type": "string",
                    "description": "Collection sorting behavior.",
                    "enum": [
                      "manual",
                      "title_asc",
                      "title_desc",
                      "meta_asc",
                      "meta_desc"
                    ]
                  },
                  "html": {
                    "type": "string",
                    "description": "Reviewed HTML for embed-capable blocks."
                  },
                  "videoUrl": {
                    "type": "string",
                    "description": "Direct, YouTube, or Vimeo video URL."
                  },
                  "videoProvider": {
                    "type": "string",
                    "description": "Video provider.",
                    "enum": [
                      "direct",
                      "youtube",
                      "vimeo"
                    ]
                  },
                  "videoPosterUrl": {
                    "type": "string",
                    "description": "Video poster image URL."
                  },
                  "videoAutoplay": {
                    "type": "boolean",
                    "description": "Autoplay video when allowed."
                  },
                  "videoControls": {
                    "type": "boolean",
                    "description": "Show native video controls."
                  },
                  "videoMuted": {
                    "type": "boolean",
                    "description": "Mute video playback."
                  },
                  "componentName": {
                    "type": "string",
                    "description": "Approved custom component name."
                  },
                  "componentProps": {
                    "type": "object",
                    "description": "Component-specific reviewed JSON properties.",
                    "additionalProperties": {
                      "$ref": "#/$defs/jsonValue"
                    }
                  },
                  "menuId": {
                    "type": "string",
                    "description": "Reusable menu identifier bound to a menu block."
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "title",
                  "body"
                ],
                "additionalProperties": false
              },
              "pageValue": {
                "type": "object",
                "description": "Persisted page metadata.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable page identifier.",
                    "minLength": 1
                  },
                  "slug": {
                    "type": "string",
                    "description": "Root-relative page slug beginning with /.",
                    "pattern": "^/"
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible page heading and title-template input.",
                    "minLength": 1
                  },
                  "description": {
                    "type": "string",
                    "description": "Page search and social description."
                  }
                },
                "required": [
                  "id",
                  "slug",
                  "title",
                  "description"
                ],
                "additionalProperties": false
              },
              "columnValue": {
                "type": "object",
                "description": "Persisted layout-column metadata.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable column identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Optional editor label."
                  },
                  "span": {
                    "type": "number",
                    "description": "Grid span.",
                    "minimum": 1
                  },
                  "style": {
                    "$ref": "#/$defs/sectionStyle"
                  }
                },
                "required": [
                  "id"
                ],
                "additionalProperties": false
              },
              "source": {
                "type": "object",
                "description": "Original product-domain identity for a document node.",
                "properties": {
                  "kind": {
                    "type": "string",
                    "description": "Source record kind.",
                    "enum": [
                      "page",
                      "section",
                      "column",
                      "item"
                    ]
                  },
                  "id": {
                    "type": "string",
                    "description": "Source record identifier.",
                    "minLength": 1
                  }
                },
                "required": [
                  "kind",
                  "id"
                ],
                "additionalProperties": false
              },
              "pageNode": {
                "type": "object",
                "description": "A canonical page node owning exactly one page-body slot.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "page"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Parent node identifier when nested."
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "value": {
                    "$ref": "#/$defs/pageValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Exactly one page-body slot.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "source",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "slotNode": {
                "type": "object",
                "description": "A canonical child slot controlling accepted node kinds.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "slot"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning page, layout, or block node identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "slotKind": {
                    "type": "string",
                    "description": "Child-slot role.",
                    "enum": [
                      "page-body",
                      "layout-column",
                      "block-items"
                    ]
                  },
                  "accepts": {
                    "type": "array",
                    "description": "Document node kinds allowed in this slot.",
                    "items": {
                      "type": "string",
                      "description": "One allowed node kind.",
                      "enum": [
                        "layout",
                        "block",
                        "item"
                      ]
                    }
                  },
                  "parentSectionId": {
                    "type": "string",
                    "description": "Owning section identifier for layout and block slots."
                  },
                  "columnId": {
                    "type": "string",
                    "description": "Column identifier for layout-column slots."
                  },
                  "value": {
                    "$ref": "#/$defs/columnValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Canonical child nodes.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "parentNodeId",
                  "source",
                  "slotKind",
                  "accepts",
                  "children"
                ],
                "additionalProperties": false
              },
              "layoutNode": {
                "type": "object",
                "description": "A canonical layout block owning one or more layout-column slots.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "layout"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning slot identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "layoutKind": {
                    "type": "string",
                    "description": "Layout behavior.",
                    "enum": [
                      "container",
                      "grid",
                      "stack",
                      "flex-row",
                      "columns"
                    ]
                  },
                  "sectionKind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "sectionId": {
                    "type": "string",
                    "description": "Persisted section identifier.",
                    "minLength": 1
                  },
                  "value": {
                    "$ref": "#/$defs/sectionValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Layout-column slots.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "source",
                  "layoutKind",
                  "sectionKind",
                  "sectionId",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "blockNode": {
                "type": "object",
                "description": "A canonical renderer block with optional block-items slot.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "block"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning slot identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "blockKind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "sectionKind": {
                    "type": "string",
                    "description": "The renderer-backed TopoloWeb block kind.",
                    "enum": [
                      "container",
                      "layout-grid",
                      "stack",
                      "flex-row",
                      "spacer",
                      "hero",
                      "feature-grid",
                      "story",
                      "proof",
                      "header",
                      "announcement",
                      "menu",
                      "columns",
                      "accordion",
                      "faq",
                      "cta",
                      "contact-form",
                      "image",
                      "gallery",
                      "video",
                      "logo-cloud",
                      "stats",
                      "testimonials",
                      "pricing",
                      "comparison-table",
                      "app-grid",
                      "article-list",
                      "legal",
                      "embed",
                      "custom-component",
                      "divider",
                      "footer"
                    ]
                  },
                  "sectionId": {
                    "type": "string",
                    "description": "Persisted section identifier.",
                    "minLength": 1
                  },
                  "value": {
                    "$ref": "#/$defs/sectionValue"
                  },
                  "children": {
                    "type": "array",
                    "description": "Optional block-items slot.",
                    "items": {
                      "$ref": "#/$defs/siteDocumentNode"
                    }
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "source",
                  "blockKind",
                  "sectionKind",
                  "sectionId",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "itemNode": {
                "type": "object",
                "description": "A canonical repeated-item leaf node.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable document node identifier.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Document node kind.",
                    "const": "item"
                  },
                  "pageId": {
                    "type": "string",
                    "description": "Owning page identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable editor label.",
                    "minLength": 1
                  },
                  "path": {
                    "type": "array",
                    "description": "Stable document-tree path segments.",
                    "items": {
                      "type": "string",
                      "description": "One path segment.",
                      "minLength": 1
                    }
                  },
                  "parentNodeId": {
                    "type": "string",
                    "description": "Owning block-items slot identifier.",
                    "minLength": 1
                  },
                  "source": {
                    "$ref": "#/$defs/source"
                  },
                  "parentSectionId": {
                    "type": "string",
                    "description": "Owning block section identifier.",
                    "minLength": 1
                  },
                  "itemId": {
                    "type": "string",
                    "description": "Persisted item identifier.",
                    "minLength": 1
                  },
                  "value": {
                    "$ref": "#/$defs/sectionItem"
                  },
                  "children": {
                    "type": "array",
                    "description": "Item nodes are leaves and must have no children.",
                    "maxItems": 0
                  }
                },
                "required": [
                  "id",
                  "kind",
                  "pageId",
                  "label",
                  "path",
                  "parentNodeId",
                  "source",
                  "parentSectionId",
                  "itemId",
                  "value",
                  "children"
                ],
                "additionalProperties": false
              },
              "siteDocumentNode": {
                "description": "One canonical TopoloWeb document node.",
                "oneOf": [
                  {
                    "$ref": "#/$defs/pageNode"
                  },
                  {
                    "$ref": "#/$defs/slotNode"
                  },
                  {
                    "$ref": "#/$defs/layoutNode"
                  },
                  {
                    "$ref": "#/$defs/blockNode"
                  },
                  {
                    "$ref": "#/$defs/itemNode"
                  }
                ]
              },
              "siteDocument": {
                "type": "object",
                "description": "Canonical versioned TopoloWeb document tree.",
                "properties": {
                  "version": {
                    "type": "integer",
                    "description": "Document schema version.",
                    "const": 1
                  },
                  "pages": {
                    "type": "array",
                    "description": "Canonical page nodes.",
                    "items": {
                      "$ref": "#/$defs/pageNode"
                    }
                  }
                },
                "required": [
                  "version",
                  "pages"
                ],
                "additionalProperties": false
              },
              "styleClass": {
                "description": "A reusable section or item style class.",
                "oneOf": [
                  {
                    "type": "object",
                    "description": "Reusable section style class.",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Stable style-class identifier.",
                        "minLength": 1
                      },
                      "name": {
                        "type": "string",
                        "description": "Human-readable class name.",
                        "minLength": 1
                      },
                      "targetKind": {
                        "type": "string",
                        "description": "The renderer-backed TopoloWeb block kind.",
                        "enum": [
                          "container",
                          "layout-grid",
                          "stack",
                          "flex-row",
                          "spacer",
                          "hero",
                          "feature-grid",
                          "story",
                          "proof",
                          "header",
                          "announcement",
                          "menu",
                          "columns",
                          "accordion",
                          "faq",
                          "cta",
                          "contact-form",
                          "image",
                          "gallery",
                          "video",
                          "logo-cloud",
                          "stats",
                          "testimonials",
                          "pricing",
                          "comparison-table",
                          "app-grid",
                          "article-list",
                          "legal",
                          "embed",
                          "custom-component",
                          "divider",
                          "footer"
                        ]
                      },
                      "targetScope": {
                        "type": "string",
                        "description": "Style-class target scope.",
                        "const": "section"
                      },
                      "style": {
                        "$ref": "#/$defs/sectionStyle"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "targetKind",
                      "targetScope",
                      "style"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "description": "Reusable repeated-item style class.",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Stable style-class identifier.",
                        "minLength": 1
                      },
                      "name": {
                        "type": "string",
                        "description": "Human-readable class name.",
                        "minLength": 1
                      },
                      "targetKind": {
                        "type": "string",
                        "description": "The renderer-backed TopoloWeb block kind.",
                        "enum": [
                          "container",
                          "layout-grid",
                          "stack",
                          "flex-row",
                          "spacer",
                          "hero",
                          "feature-grid",
                          "story",
                          "proof",
                          "header",
                          "announcement",
                          "menu",
                          "columns",
                          "accordion",
                          "faq",
                          "cta",
                          "contact-form",
                          "image",
                          "gallery",
                          "video",
                          "logo-cloud",
                          "stats",
                          "testimonials",
                          "pricing",
                          "comparison-table",
                          "app-grid",
                          "article-list",
                          "legal",
                          "embed",
                          "custom-component",
                          "divider",
                          "footer"
                        ]
                      },
                      "targetScope": {
                        "type": "string",
                        "description": "Style-class target scope.",
                        "const": "item"
                      },
                      "style": {
                        "$ref": "#/$defs/sectionItemStyle"
                      }
                    },
                    "required": [
                      "id",
                      "name",
                      "targetKind",
                      "targetScope",
                      "style"
                    ],
                    "additionalProperties": false
                  }
                ]
              },
              "collectionItem": {
                "type": "object",
                "description": "One reusable CMS collection entry.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable collection-item identifier.",
                    "minLength": 1
                  },
                  "title": {
                    "type": "string",
                    "description": "Visible item title.",
                    "minLength": 1
                  },
                  "body": {
                    "type": "string",
                    "description": "Visible item body."
                  },
                  "meta": {
                    "type": "string",
                    "description": "Optional metadata."
                  },
                  "value": {
                    "type": "string",
                    "description": "Optional price or value."
                  },
                  "badge": {
                    "type": "string",
                    "description": "Optional badge label."
                  },
                  "href": {
                    "type": "string",
                    "description": "Optional item link."
                  },
                  "targetBlank": {
                    "type": "boolean",
                    "description": "Open the item link in a new tab."
                  },
                  "imageUrl": {
                    "type": "string",
                    "description": "Optional item image URL."
                  },
                  "alt": {
                    "type": "string",
                    "description": "Accessible item-image description."
                  }
                },
                "required": [
                  "id",
                  "title",
                  "body"
                ],
                "additionalProperties": false
              },
              "collection": {
                "type": "object",
                "description": "Reusable CMS collection.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable collection identifier.",
                    "minLength": 1
                  },
                  "slug": {
                    "type": "string",
                    "description": "Stable collection slug.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Collection content kind.",
                    "enum": [
                      "apps",
                      "pricing",
                      "articles",
                      "changelog",
                      "legal",
                      "faq",
                      "custom"
                    ]
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable collection label.",
                    "minLength": 1
                  },
                  "items": {
                    "type": "array",
                    "description": "Ordered collection entries.",
                    "items": {
                      "$ref": "#/$defs/collectionItem"
                    }
                  }
                },
                "required": [
                  "id",
                  "slug",
                  "kind",
                  "label",
                  "items"
                ],
                "additionalProperties": false
              },
              "codeSnippet": {
                "type": "object",
                "description": "Reviewed bounded code injection.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable snippet identifier.",
                    "minLength": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable snippet label.",
                    "minLength": 1
                  },
                  "slot": {
                    "type": "string",
                    "description": "Injection slot.",
                    "enum": [
                      "head",
                      "body_start",
                      "body_end"
                    ]
                  },
                  "code": {
                    "type": "string",
                    "description": "Reviewed HTML, CSS, or JavaScript source."
                  },
                  "enabled": {
                    "type": "boolean",
                    "description": "Whether this snippet is active."
                  }
                },
                "required": [
                  "id",
                  "label",
                  "slot",
                  "code",
                  "enabled"
                ],
                "additionalProperties": false
              },
              "seo": {
                "type": "object",
                "description": "Site-wide search and social metadata defaults.",
                "properties": {
                  "titleTemplate": {
                    "type": "string",
                    "description": "Title template; %s is replaced by the page title."
                  },
                  "metaTitle": {
                    "type": "string",
                    "description": "Default page title override."
                  },
                  "metaDescription": {
                    "type": "string",
                    "description": "Default search and social description."
                  },
                  "faviconUrl": {
                    "type": "string",
                    "description": "Browser and bookmark icon URL."
                  },
                  "openGraphImageUrl": {
                    "type": "string",
                    "description": "Default Open Graph image URL."
                  },
                  "canonicalUrl": {
                    "type": "string",
                    "description": "Canonical site URL."
                  }
                },
                "additionalProperties": false
              },
              "siteContent": {
                "type": "object",
                "description": "Complete canonical TopoloWeb site content.",
                "properties": {
                  "intent": {
                    "type": "string",
                    "description": "The kind of website being created.",
                    "enum": [
                      "business_site",
                      "landing_page",
                      "portfolio",
                      "agency",
                      "product_suite"
                    ]
                  },
                  "siteTitle": {
                    "type": "string",
                    "description": "Public site title.",
                    "minLength": 1
                  },
                  "siteDescription": {
                    "type": "string",
                    "description": "Public site description."
                  },
                  "contactEmail": {
                    "type": "string",
                    "description": "Public contact email.",
                    "minLength": 1
                  },
                  "contactPhone": {
                    "type": "string",
                    "description": "Optional public contact phone number."
                  },
                  "navigation": {
                    "type": "array",
                    "description": "Primary site navigation.",
                    "items": {
                      "$ref": "#/$defs/navigationItem"
                    }
                  },
                  "footerNavigation": {
                    "type": "array",
                    "description": "Footer navigation.",
                    "items": {
                      "$ref": "#/$defs/navigationItem"
                    }
                  },
                  "menus": {
                    "type": "array",
                    "description": "Reusable custom menus.",
                    "items": {
                      "$ref": "#/$defs/navigationMenu"
                    }
                  },
                  "styleClasses": {
                    "type": "array",
                    "description": "Reusable section and item styles.",
                    "items": {
                      "$ref": "#/$defs/styleClass"
                    }
                  },
                  "theme": {
                    "$ref": "#/$defs/theme"
                  },
                  "document": {
                    "$ref": "#/$defs/siteDocument"
                  },
                  "collections": {
                    "type": "array",
                    "description": "Reusable CMS collections.",
                    "items": {
                      "$ref": "#/$defs/collection"
                    }
                  },
                  "codeSnippets": {
                    "type": "array",
                    "description": "Reviewed bounded code snippets.",
                    "items": {
                      "$ref": "#/$defs/codeSnippet"
                    }
                  },
                  "seo": {
                    "$ref": "#/$defs/seo"
                  }
                },
                "required": [
                  "intent",
                  "siteTitle",
                  "siteDescription",
                  "contactEmail",
                  "navigation",
                  "footerNavigation",
                  "menus",
                  "styleClasses",
                  "theme",
                  "document",
                  "collections",
                  "codeSnippets"
                ],
                "additionalProperties": false
              },
              "createSite": {
                "type": "object",
                "description": "Brief used to create a new TopoloWeb site.",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Internal and initial public site name.",
                    "minLength": 1
                  },
                  "intent": {
                    "type": "string",
                    "description": "The kind of website being created.",
                    "enum": [
                      "business_site",
                      "landing_page",
                      "portfolio",
                      "agency",
                      "product_suite"
                    ]
                  },
                  "businessType": {
                    "type": "string",
                    "description": "Business or project category.",
                    "minLength": 1
                  },
                  "audience": {
                    "type": "string",
                    "description": "Primary intended audience.",
                    "minLength": 1
                  },
                  "offer": {
                    "type": "string",
                    "description": "Primary product, service, or proposition.",
                    "minLength": 1
                  },
                  "tone": {
                    "type": "string",
                    "description": "Desired writing and visual tone.",
                    "minLength": 1
                  },
                  "location": {
                    "type": "string",
                    "description": "Optional geographic market."
                  },
                  "differentiators": {
                    "type": "array",
                    "description": "Specific differentiators to communicate.",
                    "items": {
                      "type": "string",
                      "description": "One differentiator."
                    }
                  },
                  "goals": {
                    "type": "array",
                    "description": "Desired user and business outcomes.",
                    "items": {
                      "type": "string",
                      "description": "One goal."
                    }
                  },
                  "prompt": {
                    "type": "string",
                    "description": "Additional generation direction."
                  }
                },
                "required": [
                  "name",
                  "businessType",
                  "audience",
                  "offer",
                  "tone"
                ],
                "additionalProperties": false
              },
              "qualityIssue": {
                "type": "object",
                "description": "One actionable launch-quality finding.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable issue code.",
                    "minLength": 1
                  },
                  "severity": {
                    "type": "string",
                    "description": "Issue severity.",
                    "enum": [
                      "info",
                      "warning",
                      "error"
                    ]
                  },
                  "title": {
                    "type": "string",
                    "description": "Short issue title.",
                    "minLength": 1
                  },
                  "detail": {
                    "type": "string",
                    "description": "Actionable remediation detail.",
                    "minLength": 1
                  }
                },
                "required": [
                  "id",
                  "severity",
                  "title",
                  "detail"
                ],
                "additionalProperties": false
              },
              "qualityReport": {
                "type": "object",
                "description": "Deterministic content and launch-quality report.",
                "properties": {
                  "generatedAt": {
                    "type": "string",
                    "description": "ISO-8601 generation timestamp.",
                    "format": "date-time"
                  },
                  "score": {
                    "type": "number",
                    "description": "Quality score from 0 to 100.",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "issues": {
                    "type": "array",
                    "description": "Actionable quality findings.",
                    "items": {
                      "$ref": "#/$defs/qualityIssue"
                    }
                  }
                },
                "required": [
                  "generatedAt",
                  "score",
                  "issues"
                ],
                "additionalProperties": false
              },
              "siteRecord": {
                "type": "object",
                "description": "One TopoloWeb site and its current editable content.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable site identifier.",
                    "minLength": 1
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "Owning Topolo organization identifier.",
                    "minLength": 1
                  },
                  "workspaceId": {
                    "type": "string",
                    "description": "Owning Topolo workspace identifier.",
                    "minLength": 1
                  },
                  "slug": {
                    "type": "string",
                    "description": "Platform hostname slug.",
                    "minLength": 1
                  },
                  "name": {
                    "type": "string",
                    "description": "Internal site name.",
                    "minLength": 1
                  },
                  "status": {
                    "type": "string",
                    "description": "Current lifecycle status.",
                    "enum": [
                      "draft",
                      "published",
                      "archived"
                    ]
                  },
                  "brief": {
                    "type": "object",
                    "description": "Generation brief retained for iterative edits.",
                    "additionalProperties": true
                  },
                  "draftContent": {
                    "$ref": "#/$defs/siteContent"
                  },
                  "currentVersionId": {
                    "type": "string",
                    "description": "Currently published immutable version identifier."
                  },
                  "draftPreviewToken": {
                    "type": "string",
                    "description": "Opaque token used by the draft preview URL.",
                    "minLength": 1
                  },
                  "createdAt": {
                    "type": "string",
                    "description": "ISO-8601 creation timestamp.",
                    "format": "date-time"
                  },
                  "updatedAt": {
                    "type": "string",
                    "description": "ISO-8601 last-update timestamp.",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "workspaceId",
                  "slug",
                  "name",
                  "status",
                  "brief",
                  "draftContent",
                  "draftPreviewToken",
                  "createdAt",
                  "updatedAt"
                ],
                "additionalProperties": false
              },
              "siteVersion": {
                "type": "object",
                "description": "One immutable published site version.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable version identifier.",
                    "minLength": 1
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "Owning Topolo organization identifier.",
                    "minLength": 1
                  },
                  "workspaceId": {
                    "type": "string",
                    "description": "Owning Topolo workspace identifier.",
                    "minLength": 1
                  },
                  "siteId": {
                    "type": "string",
                    "description": "Parent site identifier.",
                    "minLength": 1
                  },
                  "versionNumber": {
                    "type": "integer",
                    "description": "Monotonic site version number.",
                    "minimum": 1
                  },
                  "label": {
                    "type": "string",
                    "description": "Human-readable version label.",
                    "minLength": 1
                  },
                  "snapshot": {
                    "$ref": "#/$defs/siteContent"
                  },
                  "previewToken": {
                    "type": "string",
                    "description": "Opaque immutable-version preview token.",
                    "minLength": 1
                  },
                  "publishedAt": {
                    "type": "string",
                    "description": "ISO-8601 publication timestamp.",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "workspaceId",
                  "siteId",
                  "versionNumber",
                  "label",
                  "snapshot",
                  "previewToken",
                  "publishedAt"
                ],
                "additionalProperties": false
              },
              "siteDomain": {
                "type": "object",
                "description": "One platform or custom site domain.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Stable domain identifier.",
                    "minLength": 1
                  },
                  "organizationId": {
                    "type": "string",
                    "description": "Owning Topolo organization identifier.",
                    "minLength": 1
                  },
                  "workspaceId": {
                    "type": "string",
                    "description": "Owning Topolo workspace identifier.",
                    "minLength": 1
                  },
                  "siteId": {
                    "type": "string",
                    "description": "Parent site identifier.",
                    "minLength": 1
                  },
                  "hostname": {
                    "type": "string",
                    "description": "Domain hostname without scheme.",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "description": "Domain ownership kind.",
                    "enum": [
                      "platform",
                      "custom"
                    ]
                  },
                  "status": {
                    "type": "string",
                    "description": "DNS and TLS activation status.",
                    "enum": [
                      "pending_dns",
                      "pending_ssl",
                      "active",
                      "failed"
                    ]
                  },
                  "dnsTarget": {
                    "type": "string",
                    "description": "DNS target required for this domain.",
                    "minLength": 1
                  },
                  "verificationToken": {
                    "type": "string",
                    "description": "Opaque DNS ownership verification token.",
                    "minLength": 1
                  },
                  "isPrimary": {
                    "type": "boolean",
                    "description": "Whether this is the primary public hostname."
                  },
                  "createdAt": {
                    "type": "string",
                    "description": "ISO-8601 creation timestamp.",
                    "format": "date-time"
                  },
                  "updatedAt": {
                    "type": "string",
                    "description": "ISO-8601 last-update timestamp.",
                    "format": "date-time"
                  }
                },
                "required": [
                  "id",
                  "organizationId",
                  "workspaceId",
                  "siteId",
                  "hostname",
                  "kind",
                  "status",
                  "dnsTarget",
                  "verificationToken",
                  "isPrimary",
                  "createdAt",
                  "updatedAt"
                ],
                "additionalProperties": false
              },
              "siteUrls": {
                "type": "object",
                "description": "Stable URLs used to preview and verify the site.",
                "properties": {
                  "previewUrl": {
                    "type": "string",
                    "description": "Authenticated draft-preview URL.",
                    "format": "uri"
                  },
                  "publicUrl": {
                    "type": "string",
                    "description": "Primary public site URL.",
                    "format": "uri"
                  }
                },
                "required": [
                  "previewUrl",
                  "publicUrl"
                ],
                "additionalProperties": false
              },
              "siteDetails": {
                "type": "object",
                "description": "Complete editable site state returned after a build.",
                "properties": {
                  "site": {
                    "$ref": "#/$defs/siteRecord"
                  },
                  "versions": {
                    "type": "array",
                    "description": "Published immutable versions, newest first.",
                    "items": {
                      "$ref": "#/$defs/siteVersion"
                    }
                  },
                  "domains": {
                    "type": "array",
                    "description": "Platform and custom domains.",
                    "items": {
                      "$ref": "#/$defs/siteDomain"
                    }
                  },
                  "assets": {
                    "type": "array",
                    "description": "Uploaded or linked site assets.",
                    "items": {
                      "type": "object",
                      "description": "One site asset record.",
                      "additionalProperties": true
                    }
                  },
                  "submissions": {
                    "type": "array",
                    "description": "Recent form submissions.",
                    "items": {
                      "type": "object",
                      "description": "One site form submission.",
                      "additionalProperties": true
                    }
                  },
                  "events": {
                    "type": "array",
                    "description": "Recent site lifecycle events.",
                    "items": {
                      "type": "object",
                      "description": "One site event.",
                      "additionalProperties": true
                    }
                  },
                  "insights": {
                    "type": "object",
                    "description": "Derived site activity counters.",
                    "additionalProperties": true
                  },
                  "qualityReport": {
                    "$ref": "#/$defs/qualityReport"
                  },
                  "agentSessions": {
                    "type": "array",
                    "description": "Agent editing sessions.",
                    "items": {
                      "type": "object",
                      "description": "One agent session summary.",
                      "additionalProperties": true
                    }
                  }
                },
                "required": [
                  "site",
                  "versions",
                  "domains",
                  "assets",
                  "submissions",
                  "events",
                  "insights",
                  "qualityReport",
                  "agentSessions"
                ],
                "additionalProperties": false
              }
            }
          },
          "target": "api",
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "agentContract": {
            "docsUrl": "https://docs.topolo.app/applications/web#publish-and-recover",
            "resource": {
              "kind": "site",
              "idPath": "site.id",
              "versionPath": "version.id"
            },
            "effects": [
              "Creates and activates a new immutable version from the selected snapshot."
            ],
            "errors": [
              {
                "status": 404,
                "code": "version_not_found",
                "recovery": "Call sites.versions.list and select a version belonging to the same site."
              }
            ],
            "verify": [
              "Open urls.publicUrl and confirm version.id is the new active version."
            ],
            "nextActionIds": [
              "app_topolo_web.sites.versions.list"
            ],
            "examples": [
              {
                "title": "Restore a version from the same site",
                "description": "Resolve versionId through sites.versions.list before planning this action.",
                "input": {
                  "siteId": "site_example",
                  "versionId": "version_example"
                }
              }
            ]
          },
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "siteId": "site_example",
              "versionId": "version_example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --confirm --json"
            ],
            "http_example": {
              "method": "POST",
              "path": "/api/studio/sites/site_example/versions/version_example/restore",
              "body": {
                "siteId": "site_example",
                "versionId": "version_example"
              }
            },
            "effects": "Creates and activates a new immutable version from the selected snapshot.",
            "verification": [
              "Open urls.publicUrl and confirm version.id is the new active version."
            ],
            "recovery": [
              "404 version_not_found: Call sites.versions.list and select a version belonging to the same site."
            ],
            "docs_url": "https://docs.topolo.app/applications/web#publish-and-recover",
            "resource": {
              "kind": "site",
              "idPath": "site.id",
              "versionPath": "version.id"
            },
            "next_action_ids": [
              "app_topolo_web.sites.versions.list"
            ],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "POST /api/studio/sites/*/versions/*/restore",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.domains.list",
          "title": "Sites Domains List",
          "description": "Call GET /studio/sites/{siteId}/domains.",
          "method": "GET",
          "path": "/api/studio/sites/{siteId}/domains",
          "permission": "settings:read",
          "readOnly": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "siteId"
            ],
            "additionalProperties": false
          },
          "target": "api",
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Sites Domains List.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "siteId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/studio/sites/example/domains",
              "body": null
            },
            "effects": "Reads state through GET /api/studio/sites/{siteId}/domains without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/studio/sites/*/domains",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "sites.submissions.list",
          "title": "List site submissions",
          "description": "List form submissions captured by one site.",
          "permission": "studio:read",
          "method": "GET",
          "path": "/api/studio/sites/{siteId}/submissions",
          "readOnly": true,
          "inputSchema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "siteId": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "siteId"
            ],
            "additionalProperties": false
          },
          "outputSchema": {
            "type": "object",
            "additionalProperties": true
          },
          "target": "api",
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "authorizationMode": "static",
          "documentation": {
            "example_input": {
              "siteId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-web --json",
              "topolo actions get <action-id> --json",
              "topolo actions validate <action-id> --data @payload.json --json",
              "topolo actions plan <action-id> --data @payload.json --json",
              "topolo actions call <action-id> --data @payload.json --json"
            ],
            "http_example": {
              "method": "GET",
              "path": "/api/studio/sites/example/submissions",
              "body": null
            },
            "effects": "Reads state through GET /api/studio/sites/{siteId}/submissions without a declared mutation.",
            "verification": [
              "Check the structured action result and pagination or resource identifiers before using it downstream."
            ],
            "recovery": [
              "Correct identity, resource context, permission, or input validation failures, then retry the read."
            ],
            "docs_url": null,
            "resource": null,
            "next_action_ids": [],
            "rollback_action_id": null
          },
          "implementation": {
            "status": "implemented",
            "route_key": "GET /api/studio/sites/*/submissions",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        }
      ],
      "action_coverage": {
        "status": "ok",
        "served_routes": 48,
        "matched_actions": 44,
        "declared_unserved_actions": [],
        "coverage_excluded_actions": [],
        "uncatalogued_routes": [],
        "ignored_routes": 4,
        "configured_exclusions": 2,
        "configuration_findings": [],
        "notes": [
          "missing/compiled target runtime — no source found"
        ]
      },
      "runtime_contract_audit": {
        "status": "verified",
        "actions": 44,
        "contracts": 44,
        "contract_module": "topolo.action-contracts.mjs",
        "validator_sources": [
          "apps/api/src/index.ts"
        ],
        "authorization_sources": [
          "apps/api/src/index.ts"
        ],
        "findings": []
      }
    }
  ],
  "mobile_contracts": [
    {
      "source_path": "apps/TopoloWeb/topolo.mobile-experience.json",
      "contract": {
        "version": "2026-06-29",
        "status": "approved",
        "mode": "native_capability",
        "appId": "app_topolo_web",
        "localizationNamespace": "web",
        "permissions": [
          "studio:read",
          "studio:write"
        ],
        "offlinePolicy": "read_through_cache",
        "fallbackPath": "/sites",
        "auth": {
          "audience": "topoloweb",
          "scopes": [
            "studio:read",
            "studio:write"
          ]
        },
        "routes": [
          {
            "path": "/sites",
            "apiPath": "/api/studio/sites",
            "title": "Sites",
            "titleKey": "web.mobile.routes.sites.title",
            "template": "record.list",
            "dataSource": "web.sites.list",
            "detailRoute": "/sites/:id",
            "actions": [
              {
                "id": "web.sites.create",
                "title": "Create site",
                "type": "record.create",
                "permission": "studio:write",
                "method": "POST",
                "path": "/api/studio/sites",
                "fields": [
                  {
                    "key": "name",
                    "label": "Name",
                    "type": "text",
                    "required": true
                  },
                  {
                    "key": "slug",
                    "label": "Slug",
                    "type": "text",
                    "required": true
                  },
                  {
                    "key": "description",
                    "label": "Description",
                    "type": "textarea"
                  }
                ],
                "titleKey": "web.mobile.actions.sites.create.title"
              },
              {
                "id": "web.sites.update",
                "title": "Update site",
                "type": "record.update",
                "permission": "studio:write",
                "method": "PUT",
                "path": "/api/studio/sites/:id",
                "fields": [
                  {
                    "key": "name",
                    "label": "Name",
                    "type": "text"
                  },
                  {
                    "key": "slug",
                    "label": "Slug",
                    "type": "text"
                  },
                  {
                    "key": "description",
                    "label": "Description",
                    "type": "textarea"
                  }
                ],
                "titleKey": "web.mobile.actions.sites.update.title"
              },
              {
                "id": "web.sites.delete",
                "title": "Delete site",
                "type": "record.delete",
                "permission": "studio:write",
                "method": "DELETE",
                "path": "/api/studio/sites/:id",
                "titleKey": "web.mobile.actions.sites.delete.title"
              }
            ]
          },
          {
            "path": "/sites/:id",
            "apiPath": "/api/studio/sites/:id",
            "title": "Site",
            "titleKey": "web.mobile.routes.sites.title",
            "template": "record.detail",
            "dataSource": "web.sites.detail"
          }
        ]
      }
    }
  ],
  "package_manifests": [],
  "deployment_configs": [
    {
      "source_path": "apps/TopoloWeb/apps/runtime/wrangler.jsonc",
      "name": "topolo-web-runtime",
      "main": "@astrojs/cloudflare/entrypoints/server",
      "compatibility_date": "2026-04-10",
      "observability_enabled": true,
      "environments": [
        "development",
        "production",
        "staging"
      ],
      "variable_names": [
        "PUBLIC_TOPOLOWEB_API_URL",
        "PUBLIC_TOPOLOWEB_TURNSTILE_SITE_KEY"
      ],
      "routes": [],
      "cron_triggers": [],
      "bindings": [
        {
          "kind": "kv",
          "binding": "SESSION",
          "target": null
        },
        {
          "kind": "service",
          "binding": "API",
          "target": null
        }
      ]
    }
  ],
  "source_signals": {
    "api_routes": [
      {
        "method": "ALL",
        "path": "/__seed/*",
        "source_path": "apps/TopoloWeb/apps/api/src/index.ts"
      },
      {
        "method": "GET",
        "path": "/health",
        "source_path": "apps/TopoloWeb/apps/api/src/index.ts"
      },
      {
        "method": "GET",
        "path": "/api/assets/:assetId",
        "source_path": "apps/TopoloWeb/apps/api/src/index.ts"
      },
      {
        "method": "GET",
        "path": "/api/widget",
        "source_path": "apps/TopoloWeb/apps/api/src/index.ts"
      },
      {
        "method": "ALL",
        "path": "/",
        "source_path": "apps/TopoloWeb/apps/api/src/index.ts"
      }
    ],
    "ui_routes": [],
    "test_cases": [],
    "database_tables": []
  },
  "documentation": {
    "declared_paths": [
      "applications/web",
      "internal/apps/topolo-web",
      "internal/platform/application-entry-and-admission"
    ],
    "present_paths": [
      "applications/web",
      "internal/apps/topolo-web",
      "internal/platform/application-entry-and-admission"
    ],
    "missing_paths": [],
    "human_reference": "/systems/topolo-web",
    "machine_reference": "/machine/systems/topolo-web.json",
    "action_examples": 44,
    "action_schemas": 44
  },
  "source_findings": []
}