Skip to content

mcp-data-platform-v1.75.2

Choose a tag to compare

@github-actions github-actions released this 31 May 17:50
· 49 commits to main since this release
bf56a57

Patch: coherent Indexing dashboard cards

A UX fix for the admin Indexing dashboard. No migration and no configuration change; one small API behavior change is noted below.

What was wrong

On a healthy instance the dashboard rendered fully-indexed kinds three different ways, none of the differences actionable, so an operator could not tell that they were all simply done and up to date:

  • Different badges for the same situation, Idle (complete) vs Healthy, split only on whether the kind had ever run a queue job (a kind seeded by a backfill read "Idle (complete)"; queue-indexed kinds read "Healthy").
  • A coverage bar for some kinds but a bare "in sync" line with no bar for the tools kind.
  • A per-state count row that showed an alarming "0 succeeded" on a 100%-indexed kind.

The fix

Equivalent states now render identically; a card diverges only when the actual situation does.

  • One resting state. The verdict is now Up to date, Indexing…, or Degraded. Any fully-indexed, quiescent, failure-free kind reads "Up to date" regardless of job history, with recency carried in the subtext ("last indexed ", or "fully indexed" when there is no job timestamp, never "never").
  • A full green coverage bar on every healthy card, including the tools kind, which previously showed no bar.
  • The per-state "units by last run" breakdown is hidden unless there is active work or an open failure, so an up-to-date card is just the verdict, the coverage bar, and recency rather than a stale or all-zero stat row.

Result: fully-indexed kinds are visually identical except their relative timestamp; Indexing… and Degraded still surface with their detail when they apply.

The tools kind deliberately keeps an indexed count rather than a fabricated indexed/expected ratio: deriving a denominator from the live registry would enumerate the whole tool set on every dashboard poll, render over 100% while a stale vector briefly outlives a removed tool, and contradict itself on an empty corpus. Its drift signal remains the content-hash gap check, not a count ratio.

API behavior change

The verdict field on GET /api/v1/admin/index-jobs no longer emits idle_complete; it is now one of healthy, indexing, or degraded. The former idle_complete case is covered by healthy (a kind with no job history simply has a null last_activity, from which recency is read). The tools kind's coverage remains expected_known: false by design.

Upgrade notes

  • No migration and no configuration change. The dashboard rendering changes on the next page load after deploy.
  • Any consumer reading the admin verdict field should treat the former idle_complete value as healthy.

Changelog

  • fix(indexing): coherent card states so equal states look equal (#513) (@cjimti)

Full changelog: v1.75.1...v1.75.2

Installation

Homebrew (macOS)

brew install txn2/tap/mcp-data-platform

Claude Code CLI

claude mcp add mcp-data-platform -- mcp-data-platform

Docker

docker pull ghcr.io/txn2/mcp-data-platform:v1.75.2

Verification

All release artifacts are signed with Cosign. Verify with:

cosign verify-blob --bundle mcp-data-platform_1.75.2_linux_amd64.tar.gz.sigstore.json \
  mcp-data-platform_1.75.2_linux_amd64.tar.gz