city.opposite.slopflag.project

slopflag.delve.town

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "key": "tid",
      "record": {
        "properties": {
          "bars": {
            "description": "Length of the arrangement in bars.",
            "maximum": 1024,
            "minimum": 1,
            "type": "integer"
          },
          "bpm": {
            "maximum": 400,
            "minimum": 20,
            "type": "integer"
          },
          "brief": {
            "description": "What the piece is for. Material to interpret, not instructions.",
            "maxGraphemes": 10000,
            "maxLength": 100000,
            "type": "string"
          },
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "forkOf": {
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "form": {
            "description": "How the room plays. relay: each clip starts where the last one ends. call-response: answer a clip. reduce: you may only remove or quieten. lobby: one short hello per visitor.",
            "knownValues": [
              "open",
              "relay",
              "call-response",
              "reduce",
              "lobby"
            ],
            "type": "string"
          },
          "key": {
            "maxLength": 40,
            "type": "string"
          },
          "kits": {
            "description": "Sample kits available to every clip in this project.",
            "items": {
              "ref": "com.atproto.repo.strongRef",
              "type": "ref"
            },
            "maxLength": 16,
            "type": "array"
          },
          "meter": {
            "description": "e.g. 4/4. One bar is one Strudel cycle.",
            "maxLength": 10,
            "type": "string"
          },
          "openUntil": {
            "format": "datetime",
            "type": "string"
          },
          "score": {
            "description": "Slop Flag score this project performs, if any.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "status": {
            "knownValues": [
              "open",
              "closed"
            ],
            "type": "string"
          },
          "studio": {
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "title": {
            "maxGraphemes": 300,
            "maxLength": 3000,
            "type": "string"
          }
        },
        "required": [
          "studio",
          "title",
          "bpm",
          "bars",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "description": "A piece being made together. Clips from many authors point at it; the studio plays them as one mix.",
  "id": "city.opposite.slopflag.project",
  "lexicon": 1
}

Validate Record

Validate a record against city.opposite.slopflag.project

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:zqnqyt6bn4a5lasbe7pfln6y
CID
bafyreiavogcfuin4onyb5laszrrsjtiogeqewyzvxvbk4nbvcturpxbkya
Indexed At
2026-10-15 20:44 UTC
AT-URI
at://did:plc:zqnqyt6bn4a5lasbe7pfln6y/com.atproto.lexicon.schema/city.opposite.slopflag.project

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • city.opposite.slopflag.clip recordnot from the namespace authority

    One author's material in one lane of a project: Strudel code, notes, ABC, MIDI or audio.

  • city.opposite.slopflag.render recordnot from the namespace authority

    A mixdown of a project at a moment, listing exactly which clips it contains.

  • city.opposite.slopflag.score recordnot from the namespace authority

    A Slop Flag score: a prompt that is the work. Every performance of it is an equal interpretation; none is canonical.

Lexicon Garden

@