Skip to main content
Glama
Alien6-Studio

OuterSpace Apizr

Official

Plan Capability Exposure

apizr_plan_exposure
Read-onlyIdempotent

Test exposure proposals by evaluating capabilities, interfaces, and execution constraints against readiness evidence. Returns compatible combinations or refusal diagnostics.

Instructions

Test an exposure proposal when you know which capabilities to expose. Evaluates explicit selection, interfaces and execution constraints against current static evidence/readiness; uses a supplied policy or the startup exposure policy. Returns proposed capability/interface/execution combinations. Does not generate a server, execute a function, change project configuration, publish anything or create operator authorization. For exposure_refused, inspect structured diagnostics/actions and revise the proposal or its evidence before trying again.

Input Schema

NameRequiredDescriptionDefault
limitNoOptional refused-plan diagnostic page size, from 1 to 200; omitted/null uses 50 when pagination is requested. With offset and limit both omitted/null, all refusal diagnostics are returned. Successful plans remain unchanged.
offsetNoOptional zero-based offset into deterministically ordered refused-plan diagnostics; defaults to 0. A nonzero offset requires expected_repository_digest. Successful canonical plans are never paginated; there is no server-side session.
policyNoExplicit proposal policy to use for this plan. Omitted/null uses the startup exposure policy if present; if neither exists, returns policy_required. ExposurePolicy is a planning constraint, not operator authority: it cannot enlarge startup permissions or authorize generation, execution or publication.
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
interfacesYesRequested interfaces validated for all selected capabilities; none has been generated, deployed or run by planning.
capabilitiesYesSelected capability proposals with their readiness evidence, interface compatibility and compatible execution modes; not an execution or publication grant.
graph_digestYesIdentity of the complete canonical static relationship/import Graph used for this proposal.
catalog_digestYesIdentity of the complete canonical static Catalog used for this proposal.
schema_versionNoVersion of this successful exposure proposal contract. A plan is not generation, execution, publication or authorization.apizr.exposure-plan/v1
external_modulesYesLexically observed external module names; this does not resolve, install or authorize dependencies.
repository_digestYesRepository evidence identity against which this proposal was assessed; value can pin a subsequent call.
exposure_policy_digestYesIdentity of the exposure selection and execution constraints used for planning, not operator authority.
observed_support_modulesYesLogical support modules observed in the selected static evidence; these are not additional exposed capabilities.
repository_readiness_digestYesIdentity of the canonical repository readiness assessment used for this proposal.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed38 schema fields changed
    • addedInput schema / $defs / Eligibility / properties / allow_conditional / description
      Added value: +"Allow selected capabilities with CONDITIONAL readiness in their required repository evidence to be proposed, subject to all other planner checks. CONDITIONAL does not become READY; ambiguous or unsupported evidence is not made eligible."
    • addedInput schema / $defs / Execution / properties / allowed / description
      Added value: +"Explicit nonempty set of acceptable execution modes. No ranking, implicit default or fallback. Compatibility must also satisfy the startup readiness policy; selecting a mode does not execute or authorize anything."
    • addedInput schema / $defs / Execution / properties / require / description
      Added value: +"Explicit execution controls that every compatible proposed mode must support. These requirements narrow compatibility; they do not grant operator permissions or attest to a live runtime."
    • addedInput schema / $defs / ExposurePolicy / properties / eligibility / description
      Added value: +"Readiness eligibility constraints for selected capabilities; cannot replace missing or uncertain evidence."
    • addedInput schema / $defs / ExposurePolicy / properties / execution / description
      Added value: +"Explicit acceptable execution modes and required controls for compatibility planning, not permission to execute."
    • addedInput schema / $defs / ExposurePolicy / properties / interfaces / description
      Added value: +"Nonempty requested generated interface set: rest and/or mcp. Planning checks compatibility for every interface; it does not generate, deploy or run them."
    • addedInput schema / $defs / ExposurePolicy / properties / schema_version / description
      Added value: +"Version identifier for this exposure planning constraint contract; not operator authorization."
    • addedInput schema / $defs / ExposurePolicy / properties / selection / description
      Added value: +"Explicit capability selection proposal; empty defaults do not select every capability."
    • addedInput schema / $defs / Selection / properties / exclude / description
      Added value: +"Exact capability IDs removed after combining include and include_all_ready. Unknown IDs in either include or exclude are refused."
    • addedInput schema / $defs / Selection / properties / include / description
      Added value: +"Exact canonical capability IDs explicitly proposed for exposure, for example python:model:predict. No fuzzy matching or implicit dependency exposure."
    • addedInput schema / $defs / Selection / properties / include_all_ready / description
      Added value: +"Add capabilities assessed READY in the repository readiness report to the requested selection before exclusions. All planner eligibility, interface and execution checks still apply; this grants no publication or operator authority."
    • addedInput schema / examples
      Added value: +[
      +  {},
      +  {
      +    "expected_repository_digest": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
      +  },
      +  {
      +    "policy": {
      +      "execution": {
      +        "allowed": [
      +          "direct"
      +        ]
      +      },
      +      "interfaces": [
      +        "mcp"
      +      ],
      +      "selection": {
      +        "include": [
      +          "python:model:predict"
      +        ]
      +      }
      +    }
      +  }
      +]
    • 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": "Optional refused-plan diagnostic page size, from 1 to 200; omitted/null uses 50 when pagination is requested. With offset and limit both omitted/null, all refusal diagnostics are returned. Successful plans remain unchanged.",
      +  "title": "Limit"
      +}
    • addedInput schema / properties / offset
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maximum": 2147483647,
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Optional zero-based offset into deterministically ordered refused-plan diagnostics; defaults to 0. A nonzero offset requires expected_repository_digest. Successful canonical plans are never paginated; there is no server-side session.",
      +  "title": "Offset"
      +}
    • addedInput schema / properties / policy / description
      Added value: +"Explicit proposal policy to use for this plan. Omitted/null uses the startup exposure policy if present; if neither exists, returns policy_required. ExposurePolicy is a planning constraint, not operator authority: it cannot enlarge startup permissions or authorize generation, execution or publication."
    • 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 / ExposureRecord / properties / capability_id / description
      Added value: +"Exact canonical ID of this selected capability proposal; dependencies are not implicitly selected."
    • addedOutput schema / $defs / ExposureRecord / properties / compatible_execution_modes / description
      Added value: +"Modes satisfying both the proposal's allowed modes/required controls and the readiness policy. No ranking, fallback or execution authority is implied."
    • addedOutput schema / $defs / ExposureRecord / properties / compatible_interfaces / description
      Added value: +"Requested interfaces that pass static compatibility checks; every requested interface must be compatible in a successful plan."
    • addedOutput schema / $defs / ExposureRecord / properties / effects / description
      Added value: +"Retained static effect evidence, including unknown effects; not observations from executing the capability."
    • addedOutput schema / $defs / ExposureRecord / properties / module / description
      Added value: +"Logical Python module owning the selected capability."
    • addedOutput schema / $defs / ExposureRecord / properties / readiness_reasons / description
      Added value: +"Retained reasons supporting the selected-scope readiness assessment, including conditional evidence."
    • addedOutput schema / $defs / ExposureRecord / properties / relationships / description
      Added value: +"Retained static relationship and import evidence used by this capability proposal."
    • addedOutput schema / $defs / ExposureRecord / properties / repository_readiness / description
      Added value: +"Readiness of the selected capability's required repository evidence. CONDITIONAL requires explicit policy allowance and is not READY or proof of successful execution."
    • addedOutput schema / $defs / ExposureRecord / properties / requested_interfaces / description
      Added value: +"Interfaces explicitly requested by the proposal policy for this capability."
    • addedOutput schema / $defs / ExposureRecord / properties / source_path / description
      Added value: +"Repository-relative source path for this static capability evidence, not an authorized filesystem target."
    • addedOutput schema / properties / capabilities / description
      Added value: +"Selected capability proposals with their readiness evidence, interface compatibility and compatible execution modes; not an execution or publication grant."
    • addedOutput schema / properties / catalog_digest / description
      Added value: +"Identity of the complete canonical static Catalog used for this proposal."
    • addedOutput schema / properties / exposure_policy_digest / description
      Added value: +"Identity of the exposure selection and execution constraints used for planning, not operator authority."
    • addedOutput schema / properties / external_modules / description
      Added value: +"Lexically observed external module names; this does not resolve, install or authorize dependencies."
    • addedOutput schema / properties / graph_digest / description
      Added value: +"Identity of the complete canonical static relationship/import Graph used for this proposal."
    • addedOutput schema / properties / interfaces / description
      Added value: +"Requested interfaces validated for all selected capabilities; none has been generated, deployed or run by planning."
    • addedOutput schema / properties / observed_support_modules / description
      Added value: +"Logical support modules observed in the selected static evidence; these are not additional exposed capabilities."
    • addedOutput schema / properties / repository_digest / description
      Added value: +"Repository evidence identity against which this proposal was assessed; value can pin a subsequent call."
    • addedOutput schema / properties / repository_readiness_digest / description
      Added value: +"Identity of the canonical repository readiness assessment used for this proposal."
    • addedOutput schema / properties / schema_version / description
      Added value: +"Version of this successful exposure proposal contract. A plan is not generation, execution, publication or authorization."
  2. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare a safe, idempotent, closed-world read, but the description adds real behavioral scope: it enumerates what the call does NOT do (no generation, execution, config change, publication, or operator authorization) and describes the exposure_refused outcome plus the revise-and-retry path. Return shape ('proposed capability/interface/execution combinations') is also stated. It stops short of explaining the refusal diagnostic structure in more detail.

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?

Four sentences, front-loaded with the purpose, then scope of evaluation, negative scope, and error guidance. Dense but each sentence carries information; the negative-scope list is slightly long but earns its place given how easily this tool could be mistaken for a generator.

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

Completeness4/5

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

With an output schema present and 100% schema coverage, the description need not explain return values, and it still summarizes the outcome and refusal handling. Combined with the annotations, an agent has enough to call it correctly; only the absence of sibling-level routing keeps it from a 5.

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

Parameters3/5

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

Schema coverage is 100% and the inline parameter descriptions are unusually rich (digest semantics, pagination rules, policy fallback), so the schema already carries the parameter burden. The description only echoes the policy fallback ('uses a supplied policy or the startup exposure policy') and adds no syntax or format detail beyond what the schema provides — the baseline 3 for full coverage.

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

Purpose4/5

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

The description states a specific verb (test/evaluate) and resource (an exposure proposal / explicit capability selection) and enumerates what it evaluates: selection, interfaces, execution constraints against static evidence/readiness. It is clear, but it never names or contrasts the sibling tools (apizr_analyze, apizr_readiness), so an agent cannot tell from this text alone how it differs from readiness analysis.

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

Usage Guidelines4/5

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

It gives a clear triggering condition — 'when you know which capabilities to expose' — and explains the policy resolution path (supplied policy, else startup exposure policy, else policy_required). It stops short of naming alternatives or stating when-not to use it, so it does not reach the explicit routing of a 5.

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