> For the complete documentation index, see [llms.txt](https://docs.pmsky.social/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pmsky.social/tech/lexicon.md).

# Lexicon

PMsky defines two main record types: labels, and votes. The former is heavily based on the definition in use by ATproto itself [here](https://github.com/bluesky-social/atproto/blob/a8f06939f94b3a5efee4b56c4de0e36502ff15fd/lexicons/com/atproto/label/defs.json#L5).

## Proposals

```
// social.pmsky.proposal
```

These records closely mirror that of an Atproto Label, defined in `com.atproto.label.defs#label`. They have a *subject*, which is another record they apply to, and a *value*, which is the text of the proposal itself. There is also a `type`, which determines which type of proposal the record is. The two current types of labels are `POST_LABEL` and `ALLOWED_USER`, respectively referring to a label on a bsky post and whitelisting a user to the pmsky platform.

See the full definition here: <https://github.com/pmsky-social/app/blob/main/lexicons/proposal.json>

## Votes

```
// social.pmsky.vote
```

Votes are similar to labels, in that they have a *subject* they apply to. They also have a *value*, which is either `1` or `-1`.

See the full definition here: <https://github.com/pmsky-social/app/blob/main/lexicons/vote.json>
