Skip to content

[openapi-mcp S6] Three read tools: contracts, flows, registry wiring, receipts #1132

Description

@rickylabs

Part of #1126

Scope

The three read tools end to end: list_api_services, list_service_operations, get_operation_schema — contracts in tool-contracts.ts, flows (one file per tool), registry wiring (14 → 17), receipts. Operation counts computed from the parsed spec of the liveness GET or absent — never defaulted (S-14; the rev-1 "HEAD-style" mechanism cannot work: HEAD carries no body). Flows self-cap arrays below the central truncator and compute truncated after their own caps (S-13a). curlExample is an explicitly unauthenticated request template with authNote — executability never inferred from absent security metadata (S-24). Failure envelopes per the single status mapping.

Blocked by S2's verdict artifact; receipt semantics depend on S8 landing (receipts written only after output validation).

Design source: RFC #1123 (rfc.md §3) + design/canonical/01-tool-surface.md (rev 2).

Acceptance

  • gate: fixtures prove truncated: true appears whenever any row was dropped, and never coexists with removed rows
  • gate: operations count absent (not zero) when no spec was fetched
  • gate: sources block from S5 surfaces verbatim in list_api_services output

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions