# page.cavu.forge.story

> What a StoryForge project is: one per project space, written by its owner.

- Kind: record
- Record key: literal:self
- Authority: forge.cavu.page
- Lexicon: 1
- Published by [cavu.page](https://lexicon.garden/identity/did:plc:citulkqjdzbnf7wd5xb6lled), not the NSID's authority

## Links

- [Documentation](https://lexicon.garden/lexicon/did:plc:citulkqjdzbnf7wd5xb6lled/page.cavu.forge.story)
- [Schema JSON](https://lexicon.garden/lexicon/did:plc:citulkqjdzbnf7wd5xb6lled/page.cavu.forge.story/schema.json)
- [Analytics](https://lexicon.garden/lexicon/did:plc:citulkqjdzbnf7wd5xb6lled/page.cavu.forge.story/analytics)

## Record (`page.cavu.forge.story`)

Type: record · key literal:self

### Properties

- `books` (array): The published books (Cavu site.standard.publication records carrying page.cavu.book) this project's notes describe. Many to many: a series bible links every volume, and a book can be linked from several projects. Lets an agent read the published text against the bible to check consistency.
  - Constraints: maxLength: 100
  - `items` (ref)
    - Reference: `#bookLink`
- `createdAt` (string · datetime, required)
- `genre` (string)
  - Constraints: maxLength: 640, maxGraphemes: 64
- `logline` (string): The story in a sentence.
  - Constraints: maxLength: 3000, maxGraphemes: 300
- `synopsis` (string): Markdown.
  - Constraints: maxLength: 100000, maxGraphemes: 20000
- `title` (string, required)
  - Constraints: maxLength: 2560, maxGraphemes: 256
- `updatedAt` (string · datetime)

## #bookLink (`page.cavu.forge.story#bookLink`)

Type: object

### Properties

- `note` (string): How the book relates to the project: "volume 2", "the prequel novella".
  - Constraints: maxLength: 3000, maxGraphemes: 300
- `publication` (string · at-uri, required): The book's site.standard.publication record.
- `title` (string): The book's title when it was linked, for display without a fetch.
  - Constraints: maxLength: 2560, maxGraphemes: 256

## Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "bookLink": {
      "properties": {
        "note": {
          "description": "How the book relates to the project: \"volume 2\", \"the prequel novella\".",
          "maxGraphemes": 300,
          "maxLength": 3000,
          "type": "string"
        },
        "publication": {
          "description": "The book's site.standard.publication record.",
          "format": "at-uri",
          "type": "string"
        },
        "title": {
          "description": "The book's title when it was linked, for display without a fetch.",
          "maxGraphemes": 256,
          "maxLength": 2560,
          "type": "string"
        }
      },
      "required": [
        "publication"
      ],
      "type": "object"
    },
    "main": {
      "description": "What a StoryForge project is: one per project space, written by its owner.",
      "key": "literal:self",
      "record": {
        "properties": {
          "books": {
            "description": "The published books (Cavu site.standard.publication records carrying page.cavu.book) this project's notes describe. Many to many: a series bible links every volume, and a book can be linked from several projects. Lets an agent read the published text against the bible to check consistency.",
            "items": {
              "ref": "#bookLink",
              "type": "ref"
            },
            "maxLength": 100,
            "type": "array"
          },
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "genre": {
            "maxGraphemes": 64,
            "maxLength": 640,
            "type": "string"
          },
          "logline": {
            "description": "The story in a sentence.",
            "maxGraphemes": 300,
            "maxLength": 3000,
            "type": "string"
          },
          "synopsis": {
            "description": "Markdown.",
            "maxGraphemes": 20000,
            "maxLength": 100000,
            "type": "string"
          },
          "title": {
            "maxGraphemes": 256,
            "maxLength": 2560,
            "type": "string"
          },
          "updatedAt": {
            "format": "datetime",
            "type": "string"
          }
        },
        "required": [
          "title",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "page.cavu.forge.story",
  "lexicon": 1
}
```
