Skip to main content
Glama
Alien6-Studio

OuterSpace Apizr

Official

Assess Repository Readiness

apizr_readiness
Read-onlyIdempotent

Assess whether capabilities satisfy startup readiness policy, identifying limitations, uncertainty, and execution/control compatibility for exposure planning.

Instructions

Assess whether and under what conditions capabilities satisfy the startup readiness policy. Choose this for limitations, uncertainty and execution/control compatibility, rather than discovering identities or testing an exposure proposal. Use full, summary or exact capability/module detail, optionally pinned to a repository digest. Analysis can help find exact IDs but is not required. exit_code: 1 with isError: false is valid business evidence. Does not execute project code and does not authorize exposure. Next, use sufficient evidence to choose an explicit capability/policy for an exposure plan.

Input Schema

NameRequiredDescriptionDefault
viewNofull returns the complete canonical artifact/report; summary returns bounded evidence for compact inspection; detail focuses on exactly one capability or module and can paginate ancillary records. Reduced views are not partial canonical Catalog, Graph or Readiness artifacts.full
limitNoMaximum ancillary records in a detail page, from 1 to 200; omitted/null uses 50. Focus and principal blockers are not paged away. The response byte bound still applies and may refuse even one large record.
moduleNoOne exact logical module name, for example package.model, not a source path. Only for detail, with capability_id omitted/null.
offsetNoZero-based offset into deterministically ordered ancillary detail records after filtering; defaults to 0. Only detail accepts pagination. A nonzero offset requires expected_repository_digest. Use page.next_offset with the same filter; there is no persistent server-side pagination session.
capability_idNoExact canonical capability ID, for example python:model:predict. Only for detail, with module omitted/null. No fuzzy matching, source-path matching or implicit capability selection.
expected_repository_digestNoOptional consistency pin: omit or use null to discover normally without asserting a previous identity, or supply a lowercase 64-character hexadecimal SHA-256 value. Copy repository_digest.value from a previous full result, or identity.repository_digest.value from a bounded view. This plain value is the repository evidence identity expected from this call's discovery of the startup source scope; it does not select another repository. A mismatch is refused with repository_changed. Digest objects, algorithm prefixes and uppercase are invalid.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed39 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {},
      +  {
      +    "view": "summary"
      +  },
      +  {
      +    "expected_repository_digest": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
      +  },
      +  {
      +    "capability_id": "python:model:predict",
      +    "limit": 50,
      +    "view": "detail"
      +  }
      +]
    • addedInput schema / properties / capability_id
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maxLength": 1024,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Exact canonical capability ID, for example python:model:predict. Only for detail, with module omitted/null. No fuzzy matching, source-path matching or implicit capability selection.",
      +  "title": "Capability Id"
      +}
    • addedInput schema / properties / expected_repository_digest / description
      Added value: +"Optional consistency pin: omit or use null to discover normally without asserting a previous identity, or supply a lowercase 64-character hexadecimal SHA-256 value. Copy repository_digest.value from a previous full result, or identity.repository_digest.value from a bounded view. This plain value is the repository evidence identity expected from this call's discovery of the startup source scope; it does not select another repository. A mismatch is refused with repository_changed. Digest objects, algorithm prefixes and uppercase are invalid."
    • addedInput schema / properties / limit
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maximum": 200,
      +      "minimum": 1,
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Maximum ancillary records in a detail page, from 1 to 200; omitted/null uses 50. Focus and principal blockers are not paged away. The response byte bound still applies and may refuse even one large record.",
      +  "title": "Limit"
      +}
    • addedInput schema / properties / module
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maxLength": 512,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "One exact logical module name, for example package.model, not a source path. Only for detail, with capability_id omitted/null.",
      +  "title": "Module"
      +}
    • addedInput schema / properties / offset
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maximum": 2147483647,
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Zero-based offset into deterministically ordered ancillary detail records after filtering; defaults to 0. Only detail accepts pagination. A nonzero offset requires expected_repository_digest. Use page.next_offset with the same filter; there is no persistent server-side pagination session.",
      +  "title": "Offset"
      +}
    • addedInput schema / properties / view
      Added value: +{
      +  "default": "full",
      +  "description": "full returns the complete canonical artifact/report; summary returns bounded evidence for compact inspection; detail focuses on exactly one capability or module and can paginate ancillary records. Reduced views are not partial canonical Catalog, Graph or Readiness artifacts.",
      +  "enum": [
      +    "full",
      +    "summary",
      +    "detail"
      +  ],
      +  "title": "View",
      +  "type": "string"
      +}
    • changedInput schema / title
      Previous value: -"Arguments"New value: +"ViewArguments"
    • addedOutput schema / $defs / Blockers
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "has_more": {
      +      "title": "Has More",
      +      "type": "boolean"
      +    },
      +    "shown": {
      +      "items": {
      +        "$ref": "#/$defs/EvidenceDiagnostic"
      +      },
      +      "maxItems": 10,
      +      "title": "Shown",
      +      "type": "array"
      +    },
      +    "total": {
      +      "minimum": 0,
      +      "title": "Total",
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "total",
      +    "shown",
      +    "has_more"
      +  ],
      +  "title": "Blockers",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / CapabilityEntry
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "can_generate_interface": {
      +      "title": "Can Generate Interface",
      +      "type": "boolean"
      +    },
      +    "execution": {
      +      "$ref": "#/$defs/ExecutionForm"
      +    },
      +    "id": {
      +      "title": "Id",
      +      "type": "string"
      +    },
      +    "ir_digest": {
      +      "$ref": "#/$defs/Digest"
      +    },
      +    "module": {
      +      "title": "Module",
      +      "type": "string"
      +    },
      +    "readiness": {
      +      "$ref": "#/$defs/State"
      +    },
      +    "readiness_digest": {
      +      "$ref": "#/$defs/Digest"
      +    },
      +    "source_digest": {
      +      "$ref": "#/$defs/Digest"
      +    },
      +    "source_path": {
      +      "title": "Source Path",
      +      "type": "string"
      +    },
      +    "span": {
      +      "$ref": "#/$defs/SourceSpan"
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "module",
      +    "source_path",
      +    "source_digest",
      +    "ir_digest",
      +    "readiness_digest",
      +    "readiness",
      +    "can_generate_interface",
      +    "execution",
      +    "span"
      +  ],
      +  "title": "CapabilityEntry",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / CapabilityFocus
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "capability": {
      +      "anyOf": [
      +        {
      +          "$ref": "#/$defs/CapabilityEntry"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "capability_id": {
      +      "title": "Capability Id",
      +      "type": "string"
      +    },
      +    "global_evidence_complete": {
      +      "title": "Global Evidence Complete",
      +      "type": "boolean"
      +    },
      +    "interface_eligible": {
      +      "title": "Interface Eligible",
      +      "type": "boolean"
      +    },
      +    "kind": {
      +      "const": "capability",
      +      "default": "capability",
      +      "title": "Kind",
      +      "type": "string"
      +    },
      +    "local_readiness": {
      +      "$ref": "#/$defs/Assessment"
      +    },
      +    "module": {
      +      "title": "Module",
      +      "type": "string"
      +    },
      +    "reasons": {
      +      "items": {
      +        "$ref": "#/$defs/apizr__repository_readiness__model__Reason"
      +      },
      +      "title": "Reasons",
      +      "type": "array"
      +    },
      +    "repository_state": {
      +      "$ref": "#/$defs/State"
      +    },
      +    "selected_state": {
      +      "$ref": "#/$defs/State"
      +    },
      +    "source_path": {
      +      "title": "Source Path",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "capability_id",
      +    "module",
      +    "source_path",
      +    "capability",
      +    "local_readiness",
      +    "repository_state",
      +    "selected_state",
      +    "interface_eligible",
      +    "global_evidence_complete",
      +    "reasons"
      +  ],
      +  "title": "CapabilityFocus",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / CapabilityNode
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "can_generate_interface": {
      +      "title": "Can Generate Interface",
      +      "type": "boolean"
      +    },
      +    "execution": {
      +      "$ref": "#/$defs/ExecutionForm"
      +    },
      +    "id": {
      +      "title": "Id",
      +      "type": "string"
      +    },
      +    "kind": {
      +      "const": "capability",
      +      "default": "capability",
      +      "title": "Kind",
      +      "type": "string"
      +    },
      +    "module": {
      +      "title": "Module",
      +      "type": "string"
      +    },
      +    "name": {
      +      "title": "Name",
      +      "type": "string"
      +    },
      +    "path": {
      +      "title": "Path",
      +      "type": "string"
      +    },
      +    "readiness": {
      +      "$ref": "#/$defs/State"
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "module",
      +    "name",
      +    "path",
      +    "readiness",
      +    "can_generate_interface",
      +    "execution"
      +  ],
      +  "title": "CapabilityNode",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / CapabilityRecord
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "capability": {
      +      "anyOf": [
      +        {
      +          "$ref": "#/$defs/CapabilityEntry"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "capability_id": {
      +      "title": "Capability Id",
      +      "type": "string"
      +    },
      +    "kind": {
      +      "const": "capability",
      +      "default": "capability",
      +      "title": "Kind",
      +      "type": "string"
      +    },
      +    "local_state": {
      +      "$ref": "#/$defs/State"
      +    },
      +    "source_path": {
      +      "title": "Source Path",
      +      "type": "string"
      +    },
      +    "state": {
      +      "$ref": "#/$defs/State"
      +    }
      +  },
      +  "required": [
      +    "capability_id",
      +    "source_path",
      +    "capability",
      +    "local_state",
      +    "state"
      +  ],
      +  "title": "CapabilityRecord",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / DependencyRecord
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "exposed": {
      +      "const": false,
      +      "default": false,
      +      "title": "Exposed",
      +      "type": "boolean"
      +    },
      +    "id": {
      +      "title": "Id",
      +      "type": "string"
      +    },
      +    "kind": {
      +      "const": "dependency",
      +      "default": "dependency",
      +      "title": "Kind",
      +      "type": "string"
      +    },
      +    "node": {
      +      "anyOf": [
      +        {
      +          "discriminator": {
      +            "mapping": {
      +              "capability": "#/$defs/CapabilityNode",
      +              "external_module": "#/$defs/ExternalNode",
      +              "module": "#/$defs/ModuleNode"
      +            },
      +            "propertyName": "kind"
      +          },
      +          "oneOf": [
      +            {
      +              "$ref": "#/$defs/ModuleNode"
      +            },
      +            {
      +              "$ref": "#/$defs/CapabilityNode"
      +            },
      +            {
      +              "$ref": "#/$defs/ExternalNode"
      +            }
      +          ]
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Node"
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "node"
      +  ],
      +  "title": "DependencyRecord",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / DependencyWheel
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Retained wheel identity and statically observed importable modules.\n\nThis establishes a provider for imports, not API compatibility, safe module\ninitialization or a successful future invocation. Consumers retain that\nuncertainty and require explicit conditional exposure.",
      +  "properties": {
      +    "digest": {
      +      "$ref": "#/$defs/Digest"
      +    },
      +    "filename": {
      +      "maxLength": 255,
      +      "title": "Filename",
      +      "type": "string"
      +    },
      +    "modules": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "maxItems": 10000,
      +      "minItems": 1,
      +      "title": "Modules",
      +      "type": "array"
      +    },
      +    "pin": {
      +      "title": "Pin",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "pin",
      +    "filename",
      +    "digest",
      +    "modules"
      +  ],
      +  "title": "DependencyWheel",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / DiagnosticRecord
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "diagnostic": {
      +      "$ref": "#/$defs/EvidenceDiagnostic"
      +    },
      +    "kind": {
      +      "const": "diagnostic",
      +      "default": "diagnostic",
      +      "title": "Kind",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "diagnostic"
      +  ],
      +  "title": "DiagnosticRecord",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / Digest / properties / algorithm / description
      Added value: +"Digest algorithm identifier, currently fixed to SHA-256 (sha256)."
    • addedOutput schema / $defs / Digest / properties / value / description
      Added value: +"The 64-character lowercase hexadecimal SHA-256 digest value, without an algorithm prefix."
    • addedOutput schema / $defs / EvidenceDiagnostic
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "action": {
      +      "anyOf": [
      +        {
      +          "enum": [
      +            "inspect_dependency",
      +            "fix_import",
      +            "fix_binding",
      +            "fix_initialization",
      +            "select_known_capability",
      +            "resolve_interface_contract",
      +            "adjust_execution_requirements"
      +          ],
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Action"
      +    },
      +    "capability_id": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Capability Id"
      +    },
      +    "code": {
      +      "maxLength": 128,
      +      "minLength": 1,
      +      "title": "Code",
      +      "type": "string"
      +    },
      +    "column": {
      +      "anyOf": [
      +        {
      +          "minimum": 0,
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Column"
      +    },
      +    "dependency_path": {
      +      "default": [],
      +      "items": {
      +        "type": "string"
      +      },
      +      "title": "Dependency Path",
      +      "type": "array"
      +    },
      +    "line": {
      +      "anyOf": [
      +        {
      +          "minimum": 1,
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Line"
      +    },
      +    "origin": {
      +      "enum": [
      +        "catalog",
      +        "graph",
      +        "readiness",
      +        "scope"
      +      ],
      +      "title": "Origin",
      +      "type": "string"
      +    },
      +    "reason": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Reason"
      +    },
      +    "source_path": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "title": "Source Path"
      +    }
      +  },
      +  "required": [
      +    "origin",
      +    "code"
      +  ],
      +  "title": "EvidenceDiagnostic",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / ExecutionForm
      Added value: +{
      +  "enum": [
      +    "sync",
      +    "async",
      +    "generator",
      +    "async_generator"
      +  ],
      +  "title": "ExecutionForm",
      +  "type": "string"
      +}
    • addedOutput schema / $defs / ExternalNode
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "id": {
      +      "title": "Id",
      +      "type": "string"
      +    },
      +    "kind": {
      +      "const": "external_module",
      +      "default": "external_module",
      +      "title": "Kind",
      +      "type": "string"
      +    },
      +    "module": {
      +      "title": "Module",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "module"
      +  ],
      +  "title": "ExternalNode",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / ImportRecord
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "declaration": {
      +      "$ref": "#/$defs/ImportDeclaration"
      +    },
      +    "kind": {
      +      "const": "import",
      +      "default": "import",
      +      "title": "Kind",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "declaration"
      +  ],
      +  "title": "ImportRecord",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / ModuleFocus
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "capability_count": {
      +      "title": "Capability Count",
      +      "type": "integer"
      +    },
      +    "kind": {
      +      "const": "module",
      +      "default": "module",
      +      "title": "Kind",
      +      "type": "string"
      +    },
      +    "module": {
      +      "title": "Module",
      +      "type": "string"
      +    },
      +    "node": {
      +      "anyOf": [
      +        {
      +          "$ref": "#/$defs/ModuleNode"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "source": {
      +      "anyOf": [
      +        {
      +          "$ref": "#/$defs/SourceView"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "source_count": {
      +      "title": "Source Count",
      +      "type": "integer"
      +    },
      +    "states": {
      +      "additionalProperties": {
      +        "type": "integer"
      +      },
      +      "propertyNames": {
      +        "$ref": "#/$defs/State"
      +      },
      +      "title": "States",
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "module",
      +    "source_count",
      +    "source",
      +    "node",
      +    "capability_count",
      +    "states"
      +  ],
      +  "title": "ModuleFocus",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / ModuleNode
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "analyzed": {
      +      "title": "Analyzed",
      +      "type": "boolean"
      +    },
      +    "id": {
      +      "title": "Id",
      +      "type": "string"
      +    },
      +    "kind": {
      +      "const": "module",
      +      "default": "module",
      +      "title": "Kind",
      +      "type": "string"
      +    },
      +    "module": {
      +      "title": "Module",
      +      "type": "string"
      +    },
      +    "path": {
      +      "title": "Path",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "module",
      +    "path",
      +    "analyzed"
      +  ],
      +  "title": "ModuleNode",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / Page
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "complete": {
      +      "description": "True when no subsequent page remains; does not assert that static evidence itself is complete.",
      +      "title": "Complete",
      +      "type": "boolean"
      +    },
      +    "limit": {
      +      "description": "Maximum records requested for this page; not a response byte limit.",
      +      "maximum": 200,
      +      "minimum": 1,
      +      "title": "Limit",
      +      "type": "integer"
      +    },
      +    "next_offset": {
      +      "anyOf": [
      +        {
      +          "minimum": 1,
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "default": null,
      +      "description": "Offset for the next page, or null when complete; continue with the same filter and repository digest pin.",
      +      "title": "Next Offset"
      +    },
      +    "offset": {
      +      "description": "Zero-based offset in the complete filtered and deterministically ordered record collection.",
      +      "minimum": 0,
      +      "title": "Offset",
      +      "type": "integer"
      +    },
      +    "returned": {
      +      "description": "Number of records actually included in this page.",
      +      "minimum": 0,
      +      "title": "Returned",
      +      "type": "integer"
      +    },
      +    "total": {
      +      "description": "Total records in the complete filtered collection before pagination.",
      +      "minimum": 0,
      +      "title": "Total",
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "offset",
      +    "limit",
      +    "total",
      +    "returned",
      +    "complete"
      +  ],
      +  "title": "Page",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / ReadinessDetail
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "exit_code": {
      +      "description": "Business readiness outcome: 0 denotes a successful readiness result under the assessment policy; 1 can be a valid assessment with isError: false. It is not an MCP transport or runtime failure. Consult the retained states and reasons: CONDITIONAL is not READY, and unknown or ambiguous evidence is not proof of failure.",
      +      "enum": [
      +        0,
      +        1
      +      ],
      +      "title": "Exit Code",
      +      "type": "integer"
      +    },
      +    "focus": {
      +      "description": "Exactly selected capability or module; local, repository and selected readiness evidence remain distinct and are never paged away.",
      +      "discriminator": {
      +        "mapping": {
      +          "capability": "#/$defs/CapabilityFocus",
      +          "module": "#/$defs/ModuleFocus"
      +        },
      +        "propertyName": "kind"
      +      },
      +      "oneOf": [
      +        {
      +          "$ref": "#/$defs/CapabilityFocus"
      +        },
      +        {
      +          "$ref": "#/$defs/ModuleFocus"
      +        }
      +      ],
      +      "title": "Focus"
      +    },
      +    "identity": {
      +      "$ref": "#/$defs/ReadinessIdentity",
      +      "description": "Complete repository, artifact and readiness-policy identities underlying this view."
      +    },
      +    "page": {
      +      "$ref": "#/$defs/Page",
      +      "description": "Pagination metadata for ancillary records after deterministic filtering and ordering."
      +    },
      +    "principal_blockers": {
      +      "$ref": "#/$defs/Blockers",
      +      "description": "Bounded principal diagnostic sample for this focus with complete count and has_more."
      +    },
      +    "records": {
      +      "description": "Current page of ancillary evidence supporting readiness; unknown evidence is retained and does not imply successful project execution.",
      +      "items": {
      +        "discriminator": {
      +          "mapping": {
      +            "capability": "#/$defs/CapabilityRecord",
      +            "dependency": "#/$defs/DependencyRecord",
      +            "diagnostic": "#/$defs/DiagnosticRecord",
      +            "import": "#/$defs/ImportRecord",
      +            "relationship": "#/$defs/RelationshipRecord",
      +            "source": "#/$defs/SourceRecord"
      +          },
      +          "propertyName": "kind"
      +        },
      +        "oneOf": [
      +          {
      +            "$ref": "#/$defs/DependencyRecord"
      +          },
      +          {
      +            "$ref": "#/$defs/CapabilityRecord"
      +          },
      +          {
      +            "$ref": "#/$defs/SourceRecord"
      +          },
      +          {
      +            "$ref": "#/$defs/RelationshipRecord"
      +          },
      +          {
      +            "$ref": "#/$defs/ImportRecord"
      +          },
      +          {
      +            "$ref": "#/$defs/DiagnosticRecord"
      +          }
      +        ]
      +      },
      +      "title": "Records",
      +      "type": "array"
      +    },
      +    "view": {
      +      "const": "detail",
      +      "default": "detail",
      +      "description": "Focused readiness view, not a partial canonical readiness report.",
      +      "title": "View",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "identity",
      +    "exit_code",
      +    "focus",
      +    "principal_blockers",
      +    "page",
      +    "records"
      +  ],
      +  "title": "ReadinessDetail",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / ReadinessIdentity
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "catalog_digest": {
      +      "$ref": "#/$defs/Digest",
      +      "description": "Digest of the complete canonical static Catalog, unchanged by filtering or pagination."
      +    },
      +    "graph_digest": {
      +      "$ref": "#/$defs/Digest",
      +      "description": "Digest of the complete canonical static Graph, unchanged by filtering or pagination."
      +    },
      +    "readiness_policy_digest": {
      +      "$ref": "#/$defs/Digest",
      +      "description": "Digest of the readiness assessment policy used for this evidence."
      +    },
      +    "repository_digest": {
      +      "$ref": "#/$defs/Digest",
      +      "description": "Complete repository evidence identity; copy value to expected_repository_digest for consistency pinning."
      +    },
      +    "repository_readiness_digest": {
      +      "$ref": "#/$defs/Digest",
      +      "description": "Digest of the complete canonical repository readiness report, not just the displayed view."
      +    }
      +  },
      +  "required": [
      +    "repository_digest",
      +    "catalog_digest",
      +    "graph_digest",
      +    "repository_readiness_digest",
      +    "readiness_policy_digest"
      +  ],
      +  "title": "ReadinessIdentity",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / ReadinessResult
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "exit_code": {
      +      "description": "Business readiness outcome: 0 denotes a successful readiness result under the assessment policy; 1 can be a valid assessment with isError: false. It is not an MCP transport or runtime failure. Consult the retained states and reasons: CONDITIONAL is not READY, and unknown or ambiguous evidence is not proof of failure.",
      +      "enum": [
      +        0,
      +        1
      +      ],
      +      "title": "Exit Code",
      +      "type": "integer"
      +    },
      +    "report": {
      +      "$ref": "#/$defs/RepositoryReadinessReport",
      +      "description": "Complete canonical static readiness assessment under the startup policy. READY, CONDITIONAL, AMBIGUOUS and UNSUPPORTED remain distinct; unknown evidence is retained. This is not proof of successful execution."
      +    },
      +    "repository_digest": {
      +      "$ref": "#/$defs/Digest",
      +      "description": "Repository evidence identity observed by this call; copy value to expected_repository_digest to pin a subsequent call."
      +    }
      +  },
      +  "required": [
      +    "repository_digest",
      +    "report",
      +    "exit_code"
      +  ],
      +  "title": "ReadinessResult",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / ReadinessSummary
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "execution": {
      +      "description": "Static execution-mode compatibility under the readiness policy, not execution authority or proof of successful execution.",
      +      "items": {
      +        "$ref": "#/$defs/ModeCompatibility"
      +      },
      +      "title": "Execution",
      +      "type": "array"
      +    },
      +    "exit_code": {
      +      "description": "Business readiness outcome: 0 denotes a successful readiness result under the assessment policy; 1 can be a valid assessment with isError: false. It is not an MCP transport or runtime failure. Consult the retained states and reasons: CONDITIONAL is not READY, and unknown or ambiguous evidence is not proof of failure.",
      +      "enum": [
      +        0,
      +        1
      +      ],
      +      "title": "Exit Code",
      +      "type": "integer"
      +    },
      +    "identity": {
      +      "$ref": "#/$defs/ReadinessIdentity",
      +      "description": "Complete repository, artifact and readiness-policy identities underlying this view."
      +    },
      +    "principal_blockers": {
      +      "$ref": "#/$defs/Blockers",
      +      "description": "Bounded sample of at most ten principal diagnostics with total and has_more; not all evidence."
      +    },
      +    "states": {
      +      "additionalProperties": {
      +        "type": "integer"
      +      },
      +      "description": "Counts by canonical readiness state; conditional and ambiguous evidence remain distinct from ready evidence.",
      +      "propertyNames": {
      +        "$ref": "#/$defs/State"
      +      },
      +      "title": "States",
      +      "type": "object"
      +    },
      +    "view": {
      +      "const": "summary",
      +      "default": "summary",
      +      "description": "Bounded readiness summary, not a partial canonical readiness report.",
      +      "title": "View",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "identity",
      +    "exit_code",
      +    "states",
      +    "execution",
      +    "principal_blockers"
      +  ],
      +  "title": "ReadinessSummary",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / RelationshipRecord
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "kind": {
      +      "const": "relationship",
      +      "default": "relationship",
      +      "title": "Kind",
      +      "type": "string"
      +    },
      +    "relationship": {
      +      "$ref": "#/$defs/Relationship"
      +    }
      +  },
      +  "required": [
      +    "relationship"
      +  ],
      +  "title": "RelationshipRecord",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / RepositoryReadinessPolicy / properties / dependency_wheels
      Added value: +{
      +  "default": [],
      +  "items": {
      +    "$ref": "#/$defs/DependencyWheel"
      +  },
      +  "maxItems": 128,
      +  "title": "Dependency Wheels",
      +  "type": "array"
      +}
    • addedOutput schema / $defs / SourceRecord
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "kind": {
      +      "const": "source",
      +      "default": "source",
      +      "title": "Kind",
      +      "type": "string"
      +    },
      +    "source": {
      +      "$ref": "#/$defs/SourceView"
      +    }
      +  },
      +  "required": [
      +    "source"
      +  ],
      +  "title": "SourceRecord",
      +  "type": "object"
      +}
    • addedOutput schema / $defs / SourceView
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "inspected": {
      +      "title": "Inspected",
      +      "type": "boolean"
      +    },
      +    "is_package": {
      +      "title": "Is Package",
      +      "type": "boolean"
      +    },
      +    "module": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Module"
      +    },
      +    "path": {
      +      "title": "Path",
      +      "type": "string"
      +    },
      +    "size": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "title": "Size"
      +    },
      +    "source_digest": {
      +      "anyOf": [
      +        {
      +          "$ref": "#/$defs/Digest"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    }
      +  },
      +  "required": [
      +    "path",
      +    "module",
      +    "source_digest",
      +    "size",
      +    "inspected",
      +    "is_package"
      +  ],
      +  "title": "SourceView",
      +  "type": "object"
      +}
    • changedOutput schema / $defs / apizr__readiness__model__Code / enum
      Previous value: -[
      -  "APIZR-READY-001",
      -  "APIZR-READY-002",
      -  "APIZR-READY-003",
      -  "APIZR-READY-004",
      -  "APIZR-READY-005",
      -  "APIZR-READY-006",
      -  "APIZR-READY-007",
      -  "APIZR-READY-008",
      -  "APIZR-READY-009",
      -  "APIZR-READY-010",
      -  "APIZR-READY-011",
      -  "APIZR-READY-012",
      -  "APIZR-READY-013",
      -  "APIZR-READY-014",
      -  "APIZR-READY-015",
      -  "APIZR-READY-016",
      -  "APIZR-READY-017",
      -  "APIZR-READY-018"
      -]New value: +[
      +  "APIZR-READY-001",
      +  "APIZR-READY-002",
      +  "APIZR-READY-003",
      +  "APIZR-READY-004",
      +  "APIZR-READY-005",
      +  "APIZR-READY-006",
      +  "APIZR-READY-007",
      +  "APIZR-READY-008",
      +  "APIZR-READY-009",
      +  "APIZR-READY-010",
      +  "APIZR-READY-011",
      +  "APIZR-READY-012",
      +  "APIZR-READY-013",
      +  "APIZR-READY-014",
      +  "APIZR-READY-015",
      +  "APIZR-READY-016",
      +  "APIZR-READY-017",
      +  "APIZR-READY-018",
      +  "APIZR-READY-019"
      +]
    • removedOutput schema / additionalProperties
      Removed value: -false
    • addedOutput schema / anyOf
      Added value: +[
      +  {
      +    "$ref": "#/$defs/ReadinessResult"
      +  },
      +  {
      +    "$ref": "#/$defs/ReadinessSummary"
      +  },
      +  {
      +    "$ref": "#/$defs/ReadinessDetail"
      +  }
      +]
    • removedOutput schema / properties
      Removed value: -{
      -  "exit_code": {
      -    "enum": [
      -      0,
      -      1
      -    ],
      -    "title": "Exit Code",
      -    "type": "integer"
      -  },
      -  "report": {
      -    "$ref": "#/$defs/RepositoryReadinessReport"
      -  },
      -  "repository_digest": {
      -    "$ref": "#/$defs/Digest"
      -  }
      -}
    • removedOutput schema / required
      Removed value: -[
      -  "repository_digest",
      -  "report",
      -  "exit_code"
      -]
    • changedOutput schema / title
      Previous value: -"ReadinessResult"New value: +"ReadinessOutput"
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent, non-destructive behavior, but the description adds important non-annotation facts: it does not execute project code, does not authorize exposure, and exit_code 1 with isError false can be valid business evidence. It also notes digest pinning and that analysis can help find IDs but is not required.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded and every sentence carries substantive guidance. The description is dense across several sentences, but it avoids repetition and stays focused on selection, behavior, and next steps.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a six-parameter read-only assessment tool with a full output schema and rich annotations, the description covers purpose, sibling routing, behavioral quirks, and downstream usage. An agent has enough context to call it correctly without needing return-format details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents each parameter in detail. The description still adds useful integration by summarizing view choices (full, summary, exact capability/module detail) and optional repository digest pinning, though it does not elaborate on limit or offset beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: assess whether capabilities satisfy startup readiness policy conditions. It explicitly distinguishes itself from discovering identities or testing exposure proposals, so an agent can separate it from siblings like apizr_plan_exposure without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use guidance: for limitations, uncertainty, and execution/control compatibility, rather than discovering identities or testing exposure. It also names the next step, choosing a capability/policy for an exposure plan, which routes the agent downstream.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.