Skip to content

Tutorial proposal: buyer eligibility between ARD search and Router payment #82

Description

@lokesh0186

Problem

Nevermined's tutorials clearly separate free public discovery from buyer-authorized payment. One additional composition case may be useful: selecting among multiple ARD results using the current buyer and task context before any Router payment occurs.

For example, the current sandbox ARD search for weather forecast returns:

  • rank 1, score 100: OpenWeather over MPP/Tempo;
  • rank 2, score 46: Weather Data API over x402/Base.

If the current buyer context can fund x402/Base but not MPP/Tempo, the most relevant result is not the currently usable one.

Tested reference

I tested this against current tutorials main (49b31b832d409d7f44944653a23491d96b9044c6) and the public sandbox ARD response using ARDGuard 0.1.0b4 as one reference evaluator.

The evaluation:

  • preserved the ARD scores and ordering;
  • marked rank 1 ineligible because payment access was unavailable in the controlled buyer context;
  • selected rank 2;
  • performed no payment, Router call, or service invocation.

The buyer/access facts were supplied locally rather than trusting discovery metadata to authorize payment. Nevermined's existing delegation and Router flow would still own the actual authorization and payment.

Proposed tutorial scope

Would a small tutorial or documentation recipe for this composition fit the repository?

Nevermined ARD search
  -> buyer/task eligibility
  -> highest-ranked eligible service
  -> existing Router authorization and payment

Possible scopes:

  1. a small standalone catalog tutorial using bounded JSON/stdin evaluation;
  2. a short optional section in discover-the-catalog showing the pre-payment checkpoint;
  3. no change if candidate selection is intentionally outside this repository's tutorial scope.

Happy to prepare the smallest version maintainers prefer.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions