v1.4.0 — Collection-detection fixes and cross-version disambiguation
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: [...] }),allOfbranches are merged into one schema before judging collection-ness (anallOfcomposes properties; it doesn't offer alternatives the wayoneOfdoes, 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 whenapplication/jsonisn't declared. Two genuine false positives surfaced and got fixed in the process:show_company_vendorandshow_recycled_checklist_templatedeclarepage/per_pagein 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.tsinvariant 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.