{
  "schema_version": "ConstitutionalSiteManifestV1",
  "canonical_origin": "https://constitutionalcms.com",
  "route_sources": [
    {
      "type": "sitemap",
      "url": "https://constitutionalcms.com/sitemap-index.xml",
      "authority_id": "public-sitemap"
    },
    {
      "type": "static_manifest",
      "path": "src/pages",
      "authority_id": "astro-generated-routes"
    }
  ],
  "page_families": [
    { "id": "framework", "path_patterns": ["/", "/docs", "/contracts", "/protocol-map", "/invariants"] },
    { "id": "evidence", "path_patterns": ["/check", "/audits", "/compliance-check"] },
    { "id": "articles", "path_patterns": ["/articles/*"] }
  ],
  "crawler_policy": {
    "search": "allow",
    "user_retrieval": "allow",
    "training": "mixed"
  },
  "schema_expectations": {
    "all_pages": ["WebSite", "Organization"]
  },
  "agent_actions": [
    {
      "id": "check_public_page",
      "method": "POST",
      "path": "/check",
      "mutation_class": "read_with_side_effect",
      "input_schema": {
        "type": "object",
        "required": ["url"],
        "properties": {
          "url": { "type": "string", "format": "uri" },
          "mode": { "enum": ["quick", "deep"] },
          "manifest": { "type": "object" }
        }
      },
      "output_schema": {
        "type": "object",
        "required": ["schema_version", "certified", "tier"],
        "properties": {
          "schema_version": { "const": "PageCheckReceiptV1" },
          "certified": { "const": false },
          "tier": { "type": "string" }
        }
      }
    },
    {
      "id": "join_waitlist",
      "method": "POST",
      "path": "/waitlist",
      "mutation_class": "active_perturbation",
      "input_schema": {
        "type": "object",
        "required": ["email"],
        "properties": {
          "email": { "type": "string" },
          "name": { "type": "string" },
          "company": { "type": "string" },
          "interests": { "type": "array", "items": { "type": "string" } }
        }
      },
      "output_schema": {
        "type": "object",
        "properties": {
          "ok": { "type": "boolean" },
          "stored": { "type": "boolean" },
          "expires_days": { "type": "integer" }
        }
      }
    }
  ]
}
