Skip to content

Browse the Partiful Explorer feed before choosing an event #102

Description

@KalebCole

User scenario

I want to browse Partiful events from the CLI before I know an event ID, then mark an event as interested or RSVP through the commands that already exist.

Problem

The current explore command only performs actions against an already-known event ID. It supports RSVP and interest, but it cannot browse the discovery feed, show sections, paginate, or discover regions. An agent cannot reproduce the first half of the Explorer journey and must obtain links elsewhere.

Verified product and API facts

Authenticated probes confirmed that getDiscoverFeed returns events plus a cursor and that getDiscoverSections is reachable. The existing focused RSVP/interest test suite passed 64 tests during this investigation. Current source on origin/main contains no Explorer feed integration.

No mutation was performed while probing discovery.

Proposed experience

partiful explore list
partiful explore list --cursor <cursor>
partiful explore trending
partiful explore regions
partiful explore list --region seattle --date this-weekend
partiful schema explore.list

The first implementation should mirror only filters and sections proven by current API responses. JSON output should include normalized event summaries, section/source metadata, and an opaque next cursor. Human output should avoid exposing raw internal IDs when a public event URL is sufficient.

Scope boundaries

  • Do not advertise arbitrary full-text search, radius search, ranking explanations, or recommendation controls until verified.
  • Treat cursors as opaque.
  • Preserve event visibility and location privacy. Approximate locations must not be promoted to exact addresses.
  • Browsing is read-only. Existing RSVP and interest commands remain separate mutations with their current confirmation behavior.
  • Do not add a local recommendation engine or scraper when the canonical discovery feed works.

Discovery needed

Capture the complete request and response contracts for getDiscoverFeed and getDiscoverSections, including section identifiers, region inputs, filters, pagination termination, event visibility, location fields, and empty-feed behavior. Verify whether trending and regions are first-class operations or sections within the same response before fixing command names.

Acceptance criteria

  • Users can retrieve the first discovery page without supplying an event ID.
  • Pagination follows and returns opaque server cursors without duplication.
  • Verified sections or regions are available through a stable JSON contract.
  • An empty feed is a successful result with events: [] and no next cursor.
  • Hidden or approximate locations remain privacy-safe in human and JSON output.
  • Invalid cursor, region, permission, rate-limit, and malformed-response failures produce structured errors.
  • Existing explore rsvp and explore interested behavior remains backward-compatible.
  • CLI help, schema introspection, fixture tests, pagination tests, and one read-only authenticated E2E ship together.

Related work

#76 discovers known Mutuals inside a visible event roster. This issue discovers events themselves before the caller has an event ID. Existing RSVP and interest commands cover the action after discovery, not feed browsing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions