Skip to content

v1.4.0 — Collection-detection fixes and cross-version disambiguation

Choose a tag to compare

@TylerIlunga TylerIlunga released this 19 Aug 08:11
9698e25

Collection-detection fixes and cross-version disambiguation

Follow-up to v1.3.0. The Glama score page hadn't re-synced against that release yet, so this release was driven by auditing the live page directly and cross-referencing every stale D/C-tier tool against the shipped code — 130 of 131 were already resolved; the two remaining structural complaints (Disambiguation, Naming Consistency) hadn't been touched yet.

  • Collection detection, widened and hardened. Response schemas are now unwrapped more aggressively — any single-property object wrapping an array counts as an envelope, regardless of key name (Procore's v1.0 endpoints often envelope under the plural resource name, e.g. { exchange_rates: [...] }), allOf branches are merged into one schema before judging collection-ness (an allOf composes properties; it doesn't offer alternatives the way oneOf does, so one branch's optional array field shouldn't make the whole merged object look like a list), and a wildcard content-type schema is used when application/json isn't declared. Two genuine false positives surfaced and got fixed in the process: show_company_vendor and show_recycled_checklist_template declare page/per_page in Procore's own spec with no textual list signal behind it.
  • Cross-version disambiguation. 82 tools that carry out the same operation as a sibling tool at a different Procore API version — previously indistinguishable apart from a version-number suffix — now name their sibling(s) directly in the description.
  • A new verify-manifest.ts invariant guards against a bulk endpoint ever being paired as a "version sibling" of the single-record version of the same operation.

No breaking changes to tool names in this release.