Sentinel Signal

MCP Verify product improvement implementation notes: phases 7-8

Source: docs/mcp-verify-product-improvement-phases-7-8.md

Document Content

MCP Verify product improvement implementation notes: phases 7-8

Date: 2026-08-01

Scope

This pass implements the publisher/commercial loop and accessibility/mobile/performance hardening follow-up to the phase 0-6 product work.

Phase 7: publisher and commercial loop

Implemented:

  • Added /scan-my-server as a lightweight public publisher funnel.
  • Added homepage, pricing, badge, and server-profile CTAs into the scan/claim path.
  • Added a server-profile publisher readiness checklist covering:
  • ownership verification
  • fresh validation
  • healthy endpoint
  • score threshold
  • metadata completeness
  • risk posture
  • badge readiness
  • Reframed publisher pricing CTA around scan/claim rather than generic plan browsing.
  • Added badge-kit links back into scan and claim flows.
  • Preserved score neutrality: paid status can add evidence, monitoring, analytics, and authenticated validation, but never directly improves the objective score.

Intentional limits:

  • /scan-my-server does not create a new persistent scan job by itself. It routes users into existing search, claim, and submit flows.
  • Stripe/checkout behavior is unchanged in this pass.
  • Publisher dispute/rebuttal remains in existing maintainer annotation surfaces.

Phase 8: accessibility, mobile, and performance

Implemented:

  • Added shared focus-visible states for links, buttons, form controls, and summaries.
  • Added shared form styling for labels, fieldsets, legends, inputs, selects, and textareas.
  • Added .sr-only utility for accessible captions and labels.
  • Added mobile layout rules for grids, panels, tables, navigation links, and buttons.
  • Added reduced-motion handling.
  • Added content-visibility: auto and intrinsic sizing to public panels to reduce initial rendering cost on long pages.
  • Added lazy/async image loading for badge previews.
  • Changed synthetic /healthz/routes status-page probing to use cached or placeholder schema-backfill status, matching the public /status route behavior and avoiding full backfill scans during health checks.
  • Added accessible fieldsets and labels to homepage search/filter controls.
  • Added captions and column scopes to key public tables.
  • Wrapped homepage results in a horizontal overflow container for small screens.

Validation:

  • PYTHONPATH=verify/src .venv/bin/pytest -o addopts='' verify/tests -q
  • Public smoke checks should include /scan-my-server, pricing, badge kit, homepage, and representative server pages.