Skip to content

v1.5.0 — Scalar-response and description-inheritance fixes

Choose a tag to compare

@TylerIlunga TylerIlunga released this 20 Aug 02:19
c9795a1

Scalar-response and description-inheritance fixes

Third pass, driven by re-checking the live Glama score page (which had not synced against v1.4.0 yet) against the tools it named, cross-referencing each against what's actually shipped.

  • Scalar/binary response false positive. A raw CSV export (type: "string", format: "binary") was classified as a JSON collection whenever Procore's spec happened to declare page/per_page on it. A file body can never be "a JSON array of records" — this is now an unconditional false, ahead of all pagination/text-signal override logic.
  • Description inheritance. Two classes of Procore's own OAS text turned out to be actively wrong: a GET endpoint described with a "Creates ..." leading verb (a real spec error), and a sub-resource action inheriting its base resource's description byte-for-byte (e.g. signature_requests vs signature_requests/{id}/signature, webhook hooks vs their triggers, project people vs the inactive-people variant). Both now fall back to the tool's own summary-driven synthesis instead of repeating the wrong text.
  • Article agreement. "Creates an new X" and "Retrieves an single X" both picked the article from the resource label instead of the inserted adjective — fixed at all three call sites (33 tools affected).

New verify-manifest.ts invariants guard both the article-agreement class and the GET-described-as-create class going forward.

No breaking changes to tool names in this release.