Skip to content

Connect Discover: build search, live status, ranking, and moderation #124

Description

@robinbraemer

Human need

A directory only helps if players can quickly find something compatible, currently joinable, and trustworthy while owners can compete without opaque manipulation.

Outcome

Build the canonical search/status/ranking read model and moderation workflow shared by every discovery surface.

Foundation

Reuse and refine the Browser voting/listing work in https://github.com/minekube/website/issues/94 rather than creating a second ranking system. Endpoint/dashboard status consistency remains dependent on https://github.com/minekube/website/issues/92.

Search and status

  • Full-text search with typo tolerance across approved public fields.
  • Fixed, localized taxonomy and compatibility facets.
  • Deterministic online, offline, degraded, and unknown states with source timestamp and freshness.
  • Organic relevance that is documented at a useful level and cannot be silently replaced by paid ordering.
  • Edge caching with explicit purge/revalidation for publication, moderation, and status transitions.
  • Start with Postgres-native search/read models; add a separate search service only from measured need.

Trust and moderation

  • Ownership and duplicate-address checks.
  • Reporting, review, suspension, appeal, and reinstatement workflows.
  • Impersonation, unsafe-link/media, malware/modpack, hate/harassment, and vote-abuse policies.
  • Public-safe reason codes and owner-visible operational detail.
  • Labeled sponsorship only, isolated from organic API results unless callers explicitly request it.

Acceptance criteria

  • Search result relevance and every filter/sort have deterministic fixtures and regression tests.
  • Status freshness and transitions agree with the authoritative dashboard source and cannot be faked by a listing author.
  • Offline historical listings remain clearly marked and can be excluded with an online-only filter.
  • Ranking uses accepted aggregates, preserves suspicious submissions for review, and resists obvious duplicate/player/IP vote abuse defined by website feat(share): add cross-loader friend worlds and direct joining #94.
  • A moderation removal disappears from API, website, mod, Browser Hub, caches, and feeds within the SLO.
  • Owners receive an actionable, privacy-safe reason and appeal path.
  • Search telemetry contains no raw player identity, endpoint token, private endpoint, or high-resolution behavioral profile.
  • Load tests establish initial capacity and show graceful rate limiting/degradation.

Non-goals

  • Personalized surveillance-based recommendations.
  • Unlabeled pay-to-win ranking.
  • A separate truth for each first-party surface.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: connect-discoverOpen discovery, directory API, search, and listing surfaces for public Connect endpointsenhancementNew feature or requestexperience: creatorCreator, audience, broadcast, and participatory viewing experiencestatus: researchRequires product or technical validation before implementation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions