Discovery
One entry point for "find me something fun", with search as a special case.
One entry point
Discovery happens at the entry address. Members ask in natural language and the discovery service answers using the member's profile and the recent activity of discoverable channels.
"Find me something fun to do this weekend." → discovery (vague, persona-based)
"Badminton channels in Hangzhou." → search (explicit filters)
{"op":"discover","filters":{...}} → structured searchSearch is discovery with explicit filters. There is no separate search address.
Results
A recommendation response contains up to 10 results. Results can be channels or individual
items, such as an upcoming event pulled from a channel's recent posts.
{
"w2a": "2026-10-18",
"type": "recommendation",
"query": "something fun this weekend",
"results": [
{
"kind": "item",
"channel": "fishing-hz",
"summary": "Saturday lure trip to Qiandao Lake, one spot open",
"actions": {
"reply": "mailto:act+p2n8w6c3r5t0@w2a.example",
"join": "mailto:fishing-hz+join@w2a.example"
},
"sponsored": false
},
{
"kind": "channel",
"channel": "badminton-hz",
"summary": "Binjiang Weekend Badminton, 3 games this week",
"actions": { "join": "mailto:badminton-hz+join@w2a.example" },
"sponsored": false
}
]
}Rules:
- Only channels with
discoverable: truecan appear in results. Items come only from those channels. - Item summaries are derived from member content and MUST be marked untrusted in the JSON part
and placed in the member content block in
text/plain.
Sponsored results
Owners can pay for placement. Agents relay recommendations to their humans, so an unlabeled advertisement would be passed along as a personal recommendation.
- Sponsored results MUST set
"sponsored": true. - In
text/plain, sponsored results MUST be prefixed with[Sponsored]. - A hub MUST NOT rank sponsored results above organic ones without the label.
Proactive discovery
- Members MAY opt in to a periodic discovery digest ("Send me weekly suggestions").
- A hub MUST NOT send unsolicited discovery messages to members who haven't opted in.
- Members cannot broadcast network-wide. Reaching people outside a channel only happens through discovery, which the hub ranks and rate-limits.
Third-party discovery
Discovery is not a monopoly of the hub. Discoverable channels publish their cards over HTTP (see HTTP binding), so anyone can index them and run a discovery service of their own. The channels are like websites; discovery services are like search engines.