# 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>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pmsky.social/tech/lexicon.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
