Version 0.50.0
New features
Three built-in scorecards, ready to turn on
Every organization now starts with three scorecards already built — Field Completeness, Freshness, and Agent Readiness — sitting disabled until you're ready to turn one on. Field Completeness flags entities missing a value your kind marks required. Freshness scores how recently a record, its synced descriptor, and its docs were last touched (it's upfront that it can't see commit or deploy activity yet). Agent Readiness checks what an AI agent needs to use an entity correctly: a reachable owning team, a real description, documentation, a spec URL on its API, and reasonably current data. All three are ordinary scorecards — rename them, edit their rules, or delete them like any other, and doing so is remembered even across a restart.
Search dates relative to right now
Date filters in the search box now understand relative time, not just fixed
dates. updatedAt:<now-90d finds everything not touched in the last 90 days —
and keeps meaning that every day, instead of the fixed date you'd otherwise have
to keep retyping. Use now on its own, or follow it with a sign, a number, and a
unit: hours (h), days (d), months (mo), or years (y) — for example
now-24h, now+30d, now-6mo, or in a range like updatedAt:[now-30d TO now].
This works everywhere a search query does, including saved searches and dynamic
collections, so "updated this week" can finally be saved and stay true.
One side effect: exact-date matching (:) on your own custom date fields now
compares the actual date rather than the exact stored text, so it matches
anything recorded on that day instead of only values written in exactly that
form. If a saved search or dynamic collection filters on a custom date field,
its results may include a few different entities than before.
Define standards with Scorecards
Scorecards let you define what "good" looks like for a slice of your catalog — a scope, a set of weighted rules, and an optional Bronze/Silver/Gold-style ladder — and Componecat checks every matching entity against it automatically. Open Scorecards to create one: as you write the scope and each rule, a live preview shows how many entities are in scope and how many currently pass or fail, with a sample of the failing ones, so you can calibrate a standard against your real catalog before you publish it. Any organization member can view scorecards and how the catalog scores against them; creating, editing, and deleting them is restricted to organization admins.
REST endpoints for scorecard definitions and rollup reports
The REST API now has a proper scorecard resource, not just per-entity results. List your scorecards, read one's full definition (scope, rules, weights), or pull its rollup report — distribution, team/kind breakdowns, per-rule failure counts, and trend — the same data the app's Report tab shows. Like the rest of the scorecards automation surface, it's read-only: standards are still authored in the app.
Scorecard rollups — a report, a trend, and team standing
Every scorecard now has a Report tab: entity count in scope, mean score, percent fully passing, a score distribution, and worst-first breakdowns by ladder level, owning team, kind, and per-rule failures — every number linking straight into the catalog filtered to exactly what it counts. A trend chart shows the score over time, marking when the scorecard's definition last changed. Team pages now summarize each team's standing across its applicable scorecards.
Scorecard scores, now visible where you look
Scorecard results are no longer confined to the authoring screen. Every
entity page gets a Scorecards tab (when a scorecard applies) showing its
score, attained level, and which rules are passing or failing, with a link to
fix each failure. Search understands scorecard:, score:, and level:
clauses — scorecard:security AND score:>=80 — and a matching row shows its
score right there in the results.
Scorecards over MCP, REST, and outgoing webhooks
Scorecard results now follow your standards everywhere you automate against Componecat. An AI
agent can list your scorecards, check an entity's results, or list everything failing a standard —
read-only, so agents can look but not touch. The REST API exposes the same results at
/api/rest/v1/catalog/{id}/scorecards. And an outgoing webhook subscription can now react the
moment a scorecard's score or level changes for an entity, with the failing rules right in the
payload — not on every routine re-check, only on a real change.
Bug fixes
Fixed illegible catalog list-view results on mobile
Catalog search results in List view no longer hide the entity name and overflow their badges off-screen at mobile viewport widths — badges now wrap under the title instead.
Fixed scorecard score badge disappearing on catalog rows at mobile widths
A catalog or search result row's scorecard score/level badge no longer disappears entirely at narrow (mobile) viewport widths — it now wraps onto its own line alongside the Team, Lifecycle, and Kind badges instead of being hidden.
Catalog search result badge no longer shows a misleading 100% for scorecards with no rules
Searching the catalog for entities against a scorecard whose rules were all removed after creation used to show a green "100" score badge on every matching row, as if every entity had been checked and passed. It now shows an explicit "No rules defined" badge instead.
Fixed the catalog search toolbar clipping the Saved button at mobile widths
The catalog page's search toolbar (search box, Filters, Saved) no longer clips the Saved button off the edge of the screen at mobile widths — it now wraps onto additional lines so every control stays visible and reachable.
Fixed clipped Tree/List toggle label on the catalog results toolbar
The catalog search results toolbar (Sort and the Tree/List view toggle) no longer clips its labels at mobile viewport widths — it now wraps onto additional lines so "Tree" and "List" stay fully readable.
Catalog Tree view now shows scorecard score badges
Searching the catalog for entities against a scorecard (scorecard:<name>)
now shows each entity's score badge in Tree view too, matching List view —
previously the badge, and the "No rules defined" state for a scorecard with
no rules, only appeared in List view.
"Create Scorecard" now requires at least one rule
The scorecard creation form previously let you create a standard with no rules and no warning, producing a scorecard that could never evaluate anything. "Create Scorecard" is now disabled until you've added at least one rule.
More dialogs opened from a button now return focus to that button on close
Closing more dialogs across the app — including creating entity/relationship kinds (directly or from a template), deleting entity/relationship kinds, adding or removing catalog relationships, and saving, renaming, or deleting a saved search — via Escape, the × control, or Cancel now returns keyboard focus to the button that opened them, instead of dropping focus to the page body.
The rest of the app's dialogs now return focus to the button that opened them on close
Closing any remaining dialog across the app — including catalog and collection filters, creating a catalog entity, documentation sections and links, interfaces, Git integration webhook secret rotation, entity editing/deletion, entity kind fields and relationship kinds, and team membership/editing/deletion — via Escape, the × control, or Cancel now returns keyboard focus to the button that opened it, instead of dropping focus to the page body.
Dialogs opened from a button (not a menu trigger) now return focus to that button on close
Closing several dialogs across the app — including Create Team, delete confirmations on collections/scorecards/field definitions, and the field "Create from Templates" dialog — via Escape, the × control, or Cancel now returns keyboard focus to the button that opened them, instead of dropping focus to the page body.
Documented scorecard search clauses in the Search syntax help popover
The catalog's Search syntax help popover now shows an example of the
scorecard:, score:, and level: clauses, so they're discoverable
without hitting the ambiguity error first.
Fixed the entity detail Status panel's Created label overlapping or clipping its date at tablet widths
The entity detail page's Status panel no longer renders the "Created" label on top of its date value, or silently trims the date, at 768px-wide (tablet) viewports.
Fixed the entity detail tab bar overflowing at mobile widths
The entity detail page's tab bar (Overview, Documentation, Scorecards, and the rest) no longer overflows the screen at mobile widths with a clipped, hidden-off-screen tab — it now wraps onto additional rows so every tab, including Scorecards, stays visible and reachable.
Fixed unreadable entity identifier wrapping and title overlap on mobile
The entity resource identifier on the entity detail page (e.g.
component://my-service) now wraps at natural / and - boundaries at
mobile viewport widths instead of breaking character-by-character, and the
entity title no longer visually overlaps the Edit/Trash buttons at narrow
viewports.
Fixed a crash on the entity Scorecards tab
The entity detail page's Scorecards tab could fail to load when an unevaluated
scorecard's scope query used certain search fields (e.g. hasDocs,
interface, scorecard). It now loads correctly.
Entity Scorecards tab badge now shows the total scorecard count
The entity detail page's Scorecards tab badge showed how many scorecards weren't fully passing, which could be mistaken for the total scorecard count. It now shows the total, with a separate "N failing" indicator inside the tab for scorecards that aren't fully passing.
Fixed keyboard focus dropping to the page body after creating a collection
After creating a collection, keyboard focus now moves to the new collection's page heading instead of silently dropping to the page body.
Fixed keyboard focus dropping to the page body after creating a scorecard
After creating a scorecard, keyboard focus now moves to the new scorecard's page heading instead of silently dropping to the page body.
Fixed low-contrast primary buttons and badges
Primary-styled buttons and badges (e.g. "New Entity", the Enabled/Disabled scorecard status badge) now meet WCAG AA text contrast requirements.
Added a "Skip to main content" link for keyboard and screen-reader users
A "Skip to main content" link is now available at the top of every authenticated page, letting keyboard and screen-reader users bypass the sidebar navigation and header to reach the page content directly.
Fixed Create Scorecard form auto-focusing the wrong field
The Create Scorecard form now focuses Display name — the first required field — on load, instead of jumping ahead to the Scope query field.
Disabled scorecards no longer get stuck showing a stale "Errored" status
Re-enabling a scorecard now automatically re-checks it, the same way "Evaluate now" does — so an
Errored status from before it was disabled clears itself instead of sticking around forever. While
a scorecard stays disabled, its status banner now says plainly that it may be out of date rather than
suggesting a retry that isn't happening.
Scorecard Report tab charts now expose their data to screen readers
The "Score distribution" and "Score trend" charts on a scorecard's Report tab now expose the numbers they plot to screen readers, instead of only the chart's axis labels.
Scorecard report chart and tables no longer clip on mobile
The Scorecard Report tab's Score distribution chart now shows all of its bucket labels, and the By owning team/By kind/Rule failures tables show every column on a stacked card per row, instead of clipping at phone-width viewports.
Fixed unreadable scorecard rules on mobile
Rule cards on a scorecard's Definition tab no longer wrap their query and description one character per line at phone-sized widths — the text now wraps normally and the row's action buttons move to their own line.
Fixed scorecard rule editor dialog not returning keyboard focus on close
Closing the rule editor dialog on a scorecard's Definition tab (via Escape, the × close button, or Save) now returns keyboard focus to the "Add Rule" or row "Edit" button that opened it, instead of dropping focus to the page body.
Fixed scorecard rule names overflowing on mobile
Scorecard rule names that are a single long unbroken word (e.g. a hyphen-chained identifier) now wrap instead of overflowing the row at phone-sized widths.
Scorecard rule weight percentages now always sum to 100%
The Rules list on a scorecard's Definition tab could show weight percentages that summed to slightly more or less than 100% (e.g. six equally-weighted rules each rounding up to 17%, totaling 102%). Percentages are now rounded together so they always add up to exactly 100%.
Scorecards list shows status fields without scrolling on mobile
The scorecards list now shows Scope, Rules, Enabled, and Updated on a stacked card per scorecard at phone-width viewports, instead of requiring a sideways scroll inside the table to see them.
Catalog search suggestions show full field descriptions on hover
Field-name suggestions in the catalog search box now show their full description in a native tooltip on hover, so a long description clipped by the dropdown's single-line row is no longer permanently hidden.
Fixed search syntax help examples being cut off on mobile
The catalog's Search syntax help popover no longer truncates long query examples with an ellipsis on narrow/phone-sized viewports — they now wrap onto multiple lines so the full example stays visible.
Fixed the search syntax help popover overflowing on mobile
The catalog's Search syntax help popover no longer overflows its card border on narrow/phone-sized viewports when an explanation contains a long unbreakable token.
Search syntax help popover now scrolls instead of overflowing on short screens
The catalog's Search syntax help popover now scrolls its own content when it doesn't fit the viewport, instead of overflowing past the bottom of the screen with no way to reach the rest on short/mobile viewports.
"Scorecard evaluations" now selectable as an outgoing webhook event type
The Create/Edit Webhook dialogs in Organization Settings now offer "scorecard.evaluated" alongside created/updated/deleted, so you can subscribe to scorecard result changes without editing a webhook's filters through the API directly.
Scorecards with no rules no longer show a misleading 100% pass rate
A scorecard whose rules were all removed after creation used to show a 100% pass rate and a fully-filled green progress bar everywhere, as if every in-scope entity had been checked and passed. It now shows an explicit "No rules defined" state on the Report tab, the Team detail page, and on each entity's Scorecards tab card instead.
Zero-rule scorecards now score entities as passing, not failing
A scorecard with no rules defined previously scored every entity in its scope 0/100 and reported them all as failing. It now scores every in-scope entity 100/100 with 0 of 0 rules failing — consistent with a standard that has nothing to fail — across the report, entity detail, and catalog search views.