org.cannadb.like
A lightweight engagement signal — the publisher's like of another CannaDB record. Likes are the polymorphic-subject pattern: one record type covers multiple subject collections via an additive allowlist on `subject`. For v1 the allowlist is `org.cannadb.strain` and `org.cannadb.review`. Future indexable record types (e.g., grows, lists) get added to the allowlist additively without a lexicon revision; consumers gracefully ignore likes pointing at unknown collections. The AppView aggregates likes per-subject into counts and trending signals; like records do not carry counts themselves. CannaDB's social-signal pattern is to add new lightweight engagement features by extending the `subject` allowlist before authoring a new record type — "is this a like with different display, or something genuinely new?"
Details · record, key tid
| Kind | record |
|---|---|
| Record key | tid |
| Authority | cannadb.org |
| Indexed |
Record
record · key tidProperties
Client-declared timestamp when the like was created.
AT-URI reference to the subject being liked. v1 allowlist: `org.cannadb.strain` and `org.cannadb.review`. Future allowlist additions are forward-compatible — consumers ignore likes whose subject is not currently in their allowlist rather than rejecting them. (The lexicon spec does not enforce collection constraints on at-uri; consumers must inspect the AT-URI's collection segment and apply the allowlist at ingest time.)
Similar lexicons
semantic matchLexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
app.certified.feed.like
recordRecord declaring a 'like' of a piece of subject content. Social feedback only: a like carries no protocol meaning about the subject (it is not an evaluation, endorsement, or acknowledgement). Schema-compatible with app.bsky.feed.like.
-
app.gainforest.feed.like
recordRecord declaring a 'like' of a piece of subject content. A faithful port of app.bsky.feed.like into the app.gainforest.feed namespace. `subject` is a com.atproto.repo.strongRef (uri + cid), so a like can target any record in the GainForest commons — an observation, project, cert, organization, donation, post, or comment — and the GainForest appview decides which subject types to aggregate. Unlike = delete this record.
-
social.arabica.alpha.like
recordA like on an Arabica record (brew, bean, roaster, grinder, or brewer)
-
app.tempomusic.feed.like
recordA like record. Subject is a strongRef to either an app.tempomusic.feed.post or an app.tempomusic.feed.reply. strongRef is collection-agnostic by design — these constraints live in AppView validation, not in the lexicon schema.
-
org.simocracy.feed.like
recordRecord declaring a 'like' of a piece of subject content. A port of app.bsky.feed.like (via app.gainforest.feed.like) into the org.simocracy.feed namespace. `subject` is a com.atproto.repo.strongRef (uri + cid), so a like can target any record in the Simocracy commons — a proposal, sim, gathering, decision, skill, post, or comment — and the Simocracy appview decides which subject types to aggregate. Unlike = delete this record.