v1.5.0 — Scalar-response and description-inheritance fixes
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 declarepage/per_pageon it. A file body can never be "a JSON array of records" — this is now an unconditionalfalse, 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_requestsvssignature_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.