Skip to content

v1.3.0 — Glama quality score fixes

Choose a tag to compare

@TylerIlunga TylerIlunga released this 19 Aug 06:28
6f4dbc2

Glama quality score fixes

Glama's overall quality score is 70% Tool Definition Quality + 30% Server Coherence, and the definition-quality half is 60% mean + 40% minimum across all ~2,900 generated tools — so a handful of badly-described tools were capping the whole catalog at a B. This release fixes the generator bugs behind those low scores.

  • Collection detection: returnsCollection now unwraps Procore's v2.x { data: [...] } response envelope and falls back to declared page/per_page params, instead of only recognizing a bare JSON array. 254 list endpoints were previously described as single-record fetches and denied pagination in their input schema.
  • Purpose synthesis: descriptions now derive from the operation's actual verb (reorder/recycle/assign/sync/upsert/restore/...) instead of a generic CRUD-by-HTTP-method template — a POST named reorder_company_role no longer reads "Creates a new company role", and recycle_* tools no longer claim an irreversible delete.
  • Resource labeling: fixed trailing-scope stripping that severed "Timesheet To Budget Configuration" down to "Timesheet"; fixed pluralization producing nonsense like "enableds"/"closeds"; fixed several typos in Procore's own OAS text.
  • Coherence: tool name collisions now resolve with meaning-bearing suffixes (scope, API version, distinguishing path segment, HTTP method) before falling back to opaque numbers — 217 tools renamed to something an agent can actually disambiguate by.
  • Added PROCORE_TOOL_MODE=meta to serve just the 7 discovery tools for context-constrained clients; the full API stays reachable through procore_api_call.
  • Added scripts/verify-manifest.ts (npm test), wired into CI, to catch regressions in these invariants on future spec refreshes.

Breaking change: ~217 tool names changed to resolve collisions more meaningfully (e.g. check_pdf_generation_status_project_v2_0_2check_pdf_generation_status_prime_change_order_batches). Update any saved prompts that reference the old names.