{
  "automatic_evidence_credit": false,
  "captures": [],
  "change_log": [
    {
      "after_hash": "29c0cf5190ff2f1602edf4f41b642fd34fb64239b69a3db8f41f9322cc32ad39",
      "before_hash": "e0dfe9b738d31b0f438d6b31f6a4cec290825695265ed00b2ea61b59f62897a2",
      "diff": {
        "changes": [
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[email_me_the_kit]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[get_seat_quote]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "tool added",
            "kind": "TOOL_ADDED",
            "path": "tools[get_starter_kit]",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[assess_ai_readiness].description",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[get_ai_at_work_course].description",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[get_faq].description",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[get_framework_overview].description",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[get_pricing].description",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "INFO",
            "fact": "tool description changed",
            "kind": "TOOL_DESCRIPTION_CHANGED",
            "path": "tools[search_knowledge_base].description",
            "security_relevant_field": false
          },
          {
            "compatibility_class": "NON_BREAKING",
            "fact": "version minor",
            "kind": "VERSION_MINOR",
            "path": "version",
            "security_relevant_field": false
          }
        ],
        "classified": true,
        "counts_by_class": {
          "BREAKING": 0,
          "INFO": 6,
          "NON_BREAKING": 4
        },
        "taxonomy_version": "1.0.0",
        "total": 10,
        "truncated": false
      },
      "entry_sha256": "0c96f60abc8b20e383177ddd7dad9bcd2f4ea8be5d20bd21c3cb3f25c81c8bf2",
      "evidence_class": "MANIFEST_CHANGE",
      "labels": [
        "MANIFEST_CHANGED",
        "TOOL_LIST_OR_TOOL_TEXT_CHANGED"
      ],
      "observed_at_utc": "2026-10-12T01:27:50Z",
      "previous_entry_sha256": "825b67411bf3975ce883259c4a219d210148ec300be6d4be9fd2f6f449677410",
      "receipt_id": "cd7978b4-31bf-5ab8-915d-7fa2afb57fda",
      "receipt_url": "https://www.gaipagents.com/v1/free/receipts/cd7978b4-31bf-5ab8-915d-7fa2afb57fda",
      "sequence": 25638,
      "target_id": "obs_138c3f76f694f67e2ae7f45e",
      "target_kind": "MCP_REMOTE",
      "target_locator": "https://airolloutframework.com/mcp"
    }
  ],
  "check_outcomes": {
    "ask": {
      "changed_since": "https://www.gaipagents.com/v1/free/observatory/changed-since?url=<endpoint>",
      "changes_and_reachability": "https://www.gaipagents.com/v1/free/changes/subscribe?url=<endpoint>",
      "conformance": "https://www.gaipagents.com/v1/free/conformance/check?url=<endpoint>"
    },
    "published": false,
    "why": "Outcomes of GAIP's own checks (whether the endpoint answered, HTTP status, response time, conformance findings) are given only to a caller who asks about the URL, never on a public page, list or feed. The same applies to every target."
  },
  "conformance": {
    "findings": "GIVEN_TO_CALLER_ONLY",
    "meaning": "The rule catalogue this manifest was read against at the observed time. The finding codes go only to a caller who checks the URL (check_outcomes.ask.conformance).",
    "observed_at_utc": "2026-10-12T01:27:50Z",
    "protocol": "MCP",
    "rule_catalogue_route": "/v1/free/knowledge/conformance-rules",
    "rule_catalogue_version": "1.0.0"
  },
  "corrections": {
    "contact": "https://www.gaipagents.com/contact",
    "exclusion": "https://www.gaipagents.com/v1/free/observatory/corrections/exclusion",
    "opt_out": "POST kind OPT_OUT to the route; the target is withdrawn from public view at once (a pause). The site's owner makes it permanent at https://www.gaipagents.com/v1/free/observatory/corrections/exclusion.",
    "queued_for_review": 0,
    "route": "https://www.gaipagents.com/v1/free/observatory/corrections"
  },
  "declared_derivations": {
    "data_appetite": {
      "categories": {
        "email": {
          "fields": 1,
          "tools": 1
        }
      },
      "fields_read": 22,
      "observed_at_utc": "2026-10-12T01:27:50Z",
      "tools_read": 9
    },
    "dependency_domains": [
      {
        "domain": "github.com",
        "roles": [
          "repository"
        ]
      }
    ],
    "last_observed_at_utc": "2026-10-12T01:27:50Z",
    "meaning": "Derived by GAIP from what this agent declared, at the stated time: the categories of data its tools' input fields ask for (counts, by keyword rules gaip.data-appetite-rules.v1), the outside domains its declarations point to, and the operator as the agent itself publishes it. Facts about declarations, not an assessment of the agent or its operator.",
    "operator": {
      "as_published": "com.airolloutframework",
      "source_kind": "registry_namespace_domain"
    },
    "rules_version": "gaip.data-appetite-rules.v1",
    "schema_version": "gaip.declared-derivations.v1"
  },
  "latest": {
    "baseline_at_utc": "2026-10-05T00:13:18Z",
    "manifest_sha256": "29c0cf5190ff2f1602edf4f41b642fd34fb64239b69a3db8f41f9322cc32ad39",
    "observed_at_utc": "2026-10-12T01:27:50Z"
  },
  "metadata_signals": {
    "meaning": "Pattern rules are published only as aggregate rates across all observed targets (see the summary), never per party. GAIP issues no overall verdict and does not rank parties.",
    "overall_verdict": null,
    "per_target_results": null,
    "published": "AGGREGATE_ONLY_IN_SUMMARY",
    "rules": [
      {
        "rationale": "Zero-width, bidirectional-control and Unicode tag characters are not visible to a human reader but are read by language models. GAIP reports whether any occur; many have ordinary uses.",
        "rule_id": "OBS-SIG-001",
        "title": "Invisible or bidirectional-control Unicode characters in names or descriptions"
      },
      {
        "rationale": "Tool and skill descriptions are read by models. GAIP reports whether a description contains phrases shaped like instructions to a model (the patterns in GAIP's public conformance rule catalogue, plus the phrases listed in the Observatory method). Such phrases can be benign.",
        "rule_id": "OBS-SIG-002",
        "title": "Instruction-like text in descriptions"
      },
      {
        "rationale": "When a description refers to a tool name that only a different observed server publishes, a model using both servers may connect the two. GAIP reports whether such a reference occurs; shared names are common and often coincidental.",
        "rule_id": "OBS-SIG-003",
        "title": "Description names a tool published by a different observed server"
      },
      {
        "rationale": "Declared OAuth scopes whose names contain wildcard or whole-account wording (*, all, admin, root, full) request wide access by name. GAIP reports whether such a scope name is declared; it does not know what the scope grants.",
        "rule_id": "OBS-SIG-004",
        "title": "Declared authorization scopes with broad-access wording"
      }
    ],
    "third_party_scanners": [
      {
        "name": "Snyk agent-scan (formerly Invariant Labs mcp-scan)",
        "status": "NOT_RUN",
        "url": "https://github.com/snyk/agent-scan"
      },
      {
        "name": "Cisco AI Defense MCP Scanner",
        "status": "NOT_RUN",
        "url": "https://github.com/cisco-ai-defense/mcp-scanner"
      }
    ]
  },
  "method": "https://www.gaipagents.com/observatory",
  "notice": "Facts observed by GAIP at the stated time (UTC); they may be out of date. This is not an assessment of safety, quality, security, legality or trustworthiness of any party, and not a recommendation. To request a correction, add a right of reply or opt out, POST to https://www.gaipagents.com/v1/free/observatory/corrections or use https://www.gaipagents.com/contact.",
  "price_gbp": 0,
  "schema_version": "gaip.observatory.v1.target",
  "silent_changes_last_30_days": {
    "days": 30,
    "entries_read_at_most": 200,
    "kinds": [],
    "line": null,
    "meaning": "Weeks (ISO) in which GAIP recorded a change to the agent's declared tools or interface (tools added or removed, descriptions re-worded, input or output schema, behaviour labels, sign-in, terms or prices, endpoint host) and no declared version (registry or card version, serverInfo.version) moved that week. A week whose version movement is not recorded is not counted. Dated facts from the public change log; not an assessment of the agent.",
    "weeks": [],
    "weeks_with_silent_changes": 0
  },
  "snapshot": {
    "capabilities": [
      "tools"
    ],
    "description": "90-day AI adoption framework for managers: overview, pricing, FAQ and an AI readiness assessment.",
    "name": "com.airolloutframework/ai-rollout-framework",
    "parts": [
      "registry_server_json",
      "mcp_initialize_tools_list"
    ],
    "protocol": "MCP",
    "protocolVersion": "2025-06-18",
    "public_copy": "Text excerpts of at most 300 characters; input schemas and security schemes as SHA-256 and size only.",
    "remotes": [
      {
        "type": "streamable-http",
        "url": "https://airolloutframework.com/mcp"
      }
    ],
    "scopes": [],
    "serverInfo": {
      "name": "ai-rollout-framework",
      "version": "1.1.0"
    },
    "title": "AI Rollout Framework",
    "tools": [
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": false,
          "readOnlyHint": true,
          "title": "AI Readiness Assessment"
        },
        "description": "Runs the 16-question AI Readiness Score on the user's behalf (rate each statement 1-5, where 1 = Strongly Disagree and 5 = Strongly Agree) and returns their readiness stage, a recommended next step, and a link to the free full assessment on the site, which includes a personalized PDF. It returns no ",
        "inputSchema": {
          "bytes": 4179,
          "published": "HASH_ONLY",
          "sha256": "a54617220acaf19c4e4e7e655432ca208a465fd9b047724873ba404ffea51d8a"
        },
        "name": "assess_ai_readiness",
        "title": "AI Readiness Assessment"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true,
          "readOnlyHint": false,
          "title": "Email Me the Kit"
        },
        "description": "Emails the free Briefing Kit to an address the user gives you. Call only when the user has explicitly asked to receive it by email and agreed to be emailed. Never call it on your own and never invent or guess an address. It adds the address to a mailing list and sends the kit by email.",
        "inputSchema": {
          "bytes": 390,
          "published": "HASH_ONLY",
          "sha256": "8d0d979fe0e7329d5ef3cefd71377449e098458b2883466badffccfa462acd95"
        },
        "name": "email_me_the_kit",
        "title": "Email Me the Kit"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": false,
          "readOnlyHint": true,
          "title": "AI at Work Course"
        },
        "description": "Returns the public outline of AI at Work, the employee AI training course: modules, what is included, seat tiers and the guarantee. Use it for questions about employee training. It does not return transcripts or quiz content. To check readiness, use assess_ai_readiness.",
        "inputSchema": {
          "bytes": 62,
          "published": "HASH_ONLY",
          "sha256": "99334726611ccf58a148b0814696bfa6fe08c1b2d027e946beccf5a74331c9aa"
        },
        "name": "get_ai_at_work_course",
        "title": "AI at Work Course"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": false,
          "readOnlyHint": true,
          "title": "FAQ"
        },
        "description": "Returns published questions and answers, optionally filtered by topic. Use it for specific questions about pricing, governance, implementation or the products. It does not search the long-form guides; use search_knowledge_base for that. To check readiness, use assess_ai_readiness.",
        "inputSchema": {
          "bytes": 433,
          "published": "HASH_ONLY",
          "sha256": "73c8e2aa986a284ec562e77a24713caed3ea589bbab6ea40ab09b445bc7e9f04"
        },
        "name": "get_faq",
        "title": "FAQ"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": false,
          "readOnlyHint": true,
          "title": "Framework Overview"
        },
        "description": "Returns the AI Capability Rollout Framework's three phases, four capability pillars, positioning, the recommended offer and the Discord community. Use it to explain what the framework is. It does not return prices or the FAQ. To check readiness, use assess_ai_readiness.",
        "inputSchema": {
          "bytes": 62,
          "published": "HASH_ONLY",
          "sha256": "99334726611ccf58a148b0814696bfa6fe08c1b2d027e946beccf5a74331c9aa"
        },
        "name": "get_framework_overview",
        "title": "Framework Overview"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": false,
          "readOnlyHint": true,
          "title": "Pricing"
        },
        "description": "Returns current one-time prices and checkout links for the Framework + Executive Suite, the Framework alone, and AI at Work seats, including the seat tiers, co-branding and the Rollout Pack. Use it for the full price list, or get_seat_quote for a specific number of seats. It does not take payment. T",
        "inputSchema": {
          "bytes": 62,
          "published": "HASH_ONLY",
          "sha256": "99334726611ccf58a148b0814696bfa6fe08c1b2d027e946beccf5a74331c9aa"
        },
        "name": "get_pricing",
        "title": "Pricing"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": false,
          "readOnlyHint": true,
          "title": "Seat Quote"
        },
        "description": "Calculates the AI at Work cost for a given number of seats (1-500), with optional co-branding. It flags when a higher tier is cheaper in total and shows the Executive Suite and Rollout Pack alternatives. It does not take an order. To check readiness, use assess_ai_readiness.",
        "inputSchema": {
          "bytes": 347,
          "published": "HASH_ONLY",
          "sha256": "4cc1eabb5a98b4f7e024ca6ee6a021327c210cbc55f5e14f00b273c321a7a3ef"
        },
        "name": "get_seat_quote",
        "title": "Seat Quote"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": false,
          "readOnlyHint": true,
          "title": "Starter Kit Info"
        },
        "description": "Describes the free AI Capability Briefing Kit, a 10-page internal briefing document, and how to get it. Use it when the user wants a free starting resource. It does not deliver the file; use email_me_the_kit when the user asks for it by email. To check readiness, use assess_ai_readiness.",
        "inputSchema": {
          "bytes": 62,
          "published": "HASH_ONLY",
          "sha256": "99334726611ccf58a148b0814696bfa6fe08c1b2d027e946beccf5a74331c9aa"
        },
        "name": "get_starter_kit",
        "title": "Starter Kit Info"
      },
      {
        "annotations": {
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": false,
          "readOnlyHint": true,
          "title": "Knowledge Base Search"
        },
        "description": "Searches the framework's methodology, definitions, positioning and changelog for a phrase and returns matching sections with links to the source documents. Use it for a concept the other tools do not cover. It returns excerpts, not full documents. To check readiness, use assess_ai_readiness.",
        "inputSchema": {
          "bytes": 157,
          "published": "HASH_ONLY",
          "sha256": "bbdd8d58bf93a2971df6b2169a8b8b36db7e210f7dd03111d19229a83a983f91"
        },
        "name": "search_knowledge_base",
        "title": "Knowledge Base Search"
      }
    ],
    "version": "1.1.0"
  },
  "status_history": [
    {
      "manifest_partial": null,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "29c0cf5190ff2f1602edf4f41b642fd34fb64239b69a3db8f41f9322cc32ad39",
      "observed_at_utc": "2026-10-12T01:27:50Z",
      "protocol_version": "2025-06-18"
    },
    {
      "manifest_partial": null,
      "manifest_parts": [
        "registry_server_json",
        "mcp_initialize_tools_list"
      ],
      "manifest_sha256": "e0dfe9b738d31b0f438d6b31f6a4cec290825695265ed00b2ea61b59f62897a2",
      "observed_at_utc": "2026-10-05T00:13:18Z",
      "protocol_version": "2025-06-18"
    }
  ],
  "target": {
    "corrections_route": "https://www.gaipagents.com/v1/free/observatory/corrections",
    "first_seen_at_utc": "2026-10-04T19:47:56Z",
    "kind": "MCP_REMOTE",
    "last_observed_at_utc": "2026-10-12T01:27:50Z",
    "locator": "https://airolloutframework.com/mcp",
    "name": "com.airolloutframework/ai-rollout-framework",
    "source": "official-mcp-registry",
    "target_id": "obs_138c3f76f694f67e2ae7f45e"
  }
}