At this level
pics.2bit.challenge ยท 3- pics.2bit.challenge.entry record One of the author's own photos entered into a challenge for one of its prompts. One entry per person per prompt is enforced by this app's AppView rather than the record key: its write path deletes an author's earlier entry for a prompt before writing the new one, and where another client leaves several, the newest counts.
- pics.2bit.challenge.join record The author taking part in a challenge. Joining is how a challenge comes to be offered wherever the author posts - nobody is signed up for a challenge they didn't join - and it's public, like a follow, so a challenge can show who's taking part before anyone has entered. Entering a prompt joins too. One join per person per challenge is enforced by this app's AppView rather than the record key: its write path won't write a second, and where another client leaves several, they count once. Leaving de
- pics.2bit.challenge.list record A photo challenge: a named set of prompts, published by its organizer, that anyone can enter by writing a pics.2bit.challenge.entry for one of their own photos. The record key is a short readable slug (e.g. `gbcamtober-2026`) and is only unique within the organizer's repo, so a challenge is always named by organizer and key together - in URLs as `<organizer handle>/<rkey>`, in records by its at-uri.