pub.chive.review.comment

lexicons.governance.chive.pub

Documentation

Review comment on preprint with rich body supporting text and node references

main record

Review comment on preprint with rich body supporting text and node references

Record Key tid Timestamp-based ID

Properties

body array of union Required
createdAt string datetime Required

An RFC 3339 formatted timestamp.

eprintUri string at-uri Required

Reviewed eprint URI

motivationFallback string Optional

Fallback motivation if motivationUri not available

Known values: commenting, questioning, highlighting, replying, linking
motivationUri string at-uri Optional

AT-URI of motivation type node (subkind=motivation)

parentComment string at-uri Optional

Parent comment for threading

schemaRevision integer Optional

Schema revision this record was created with. Absent means revision 1.

minimum: 1
target ref #textSpanTarget Optional

Target text span for inline annotations

View raw schema
{
  "description": "Review comment on preprint with rich body supporting text and node references",
  "key": "tid",
  "record": {
    "properties": {
      "body": {
        "description": "Rich review body with formatting and references",
        "items": {
          "refs": [
            "pub.chive.richtext.defs#textItem",
            "pub.chive.richtext.defs#nodeRefItem",
            "pub.chive.richtext.defs#wikidataRefItem",
            "pub.chive.richtext.defs#fieldRefItem",
            "pub.chive.richtext.defs#facetRefItem",
            "pub.chive.richtext.defs#eprintRefItem",
            "pub.chive.richtext.defs#annotationRefItem",
            "pub.chive.richtext.defs#authorRefItem",
            "pub.chive.richtext.defs#mentionItem",
            "pub.chive.richtext.defs#linkItem",
            "pub.chive.richtext.defs#tagItem",
            "pub.chive.richtext.defs#latexItem",
            "pub.chive.richtext.defs#codeBlockItem",
            "pub.chive.richtext.defs#headingItem",
            "pub.chive.richtext.defs#listItem",
            "pub.chive.richtext.defs#blockquoteItem"
          ],
          "type": "union"
        },
        "maxLength": 500,
        "type": "array"
      },
      "createdAt": {
        "format": "datetime",
        "type": "string"
      },
      "eprintUri": {
        "description": "Reviewed eprint URI",
        "format": "at-uri",
        "type": "string"
      },
      "motivationFallback": {
        "description": "Fallback motivation if motivationUri not available",
        "knownValues": [
          "commenting",
          "questioning",
          "highlighting",
          "replying",
          "linking"
        ],
        "type": "string"
      },
      "motivationUri": {
        "description": "AT-URI of motivation type node (subkind=motivation)",
        "format": "at-uri",
        "type": "string"
      },
      "parentComment": {
        "description": "Parent comment for threading",
        "format": "at-uri",
        "type": "string"
      },
      "schemaRevision": {
        "description": "Schema revision this record was created with. Absent means revision 1.",
        "minimum": 1,
        "type": "integer"
      },
      "target": {
        "description": "Target text span for inline annotations",
        "ref": "#textSpanTarget",
        "type": "ref"
      }
    },
    "required": [
      "eprintUri",
      "body",
      "createdAt"
    ],
    "type": "object"
  },
  "type": "record"
}
boundingRect object

Bounding rectangle coordinates for highlight positioning. All values stored as strings to preserve floating-point precision since ATProto only supports integer type.

Properties

height string Required

Page height reference (as string to preserve float precision)

pageNumber integer Required

Page number (1-indexed for the library)

minimum: 1
width string Required

Page width reference (as string to preserve float precision)

x1 string Required

Left edge coordinate (as string to preserve float precision)

x2 string Required

Right edge coordinate (as string to preserve float precision)

y1 string Required

Top edge coordinate (as string to preserve float precision)

y2 string Required

Bottom edge coordinate (as string to preserve float precision)

View raw schema
{
  "description": "Bounding rectangle coordinates for highlight positioning. All values stored as strings to preserve floating-point precision since ATProto only supports integer type.",
  "properties": {
    "height": {
      "description": "Page height reference (as string to preserve float precision)",
      "type": "string"
    },
    "pageNumber": {
      "description": "Page number (1-indexed for the library)",
      "minimum": 1,
      "type": "integer"
    },
    "width": {
      "description": "Page width reference (as string to preserve float precision)",
      "type": "string"
    },
    "x1": {
      "description": "Left edge coordinate (as string to preserve float precision)",
      "type": "string"
    },
    "x2": {
      "description": "Right edge coordinate (as string to preserve float precision)",
      "type": "string"
    },
    "y1": {
      "description": "Top edge coordinate (as string to preserve float precision)",
      "type": "string"
    },
    "y2": {
      "description": "Bottom edge coordinate (as string to preserve float precision)",
      "type": "string"
    }
  },
  "required": [
    "x1",
    "y1",
    "x2",
    "y2",
    "width",
    "height",
    "pageNumber"
  ],
  "type": "object"
}
fragmentSelector object

W3C Fragment Selector

Properties

conformsTo string uri Optional

Fragment syntax specification

type string Required

No description available.

value string Required

Fragment identifier (e.g., page number, section ID)

maxLength: 200 bytes
View raw schema
{
  "description": "W3C Fragment Selector",
  "properties": {
    "conformsTo": {
      "description": "Fragment syntax specification",
      "format": "uri",
      "type": "string"
    },
    "type": {
      "const": "FragmentSelector",
      "type": "string"
    },
    "value": {
      "description": "Fragment identifier (e.g., page number, section ID)",
      "maxLength": 200,
      "type": "string"
    }
  },
  "required": [
    "type",
    "value"
  ],
  "type": "object"
}
positionRefinement object

Position refinement for precise visual rendering of annotations

Properties

boundingRect ref #boundingRect Optional

Bounding rectangle for visual positioning

end integer Optional

Approximate character end offset

minimum: 0
pageNumber integer Optional

0-indexed page number

minimum: 0
start integer Optional

Approximate character start offset

minimum: 0
type string Required

No description available.

View raw schema
{
  "description": "Position refinement for precise visual rendering of annotations",
  "properties": {
    "boundingRect": {
      "description": "Bounding rectangle for visual positioning",
      "ref": "#boundingRect",
      "type": "ref"
    },
    "end": {
      "description": "Approximate character end offset",
      "minimum": 0,
      "type": "integer"
    },
    "pageNumber": {
      "description": "0-indexed page number",
      "minimum": 0,
      "type": "integer"
    },
    "start": {
      "description": "Approximate character start offset",
      "minimum": 0,
      "type": "integer"
    },
    "type": {
      "const": "TextPositionSelector",
      "type": "string"
    }
  },
  "required": [
    "type"
  ],
  "type": "object"
}
textPositionSelector object

W3C Text Position Selector

Properties

end integer Required

No description available.

minimum: 0
start integer Required

No description available.

minimum: 0
type string Required

No description available.

View raw schema
{
  "description": "W3C Text Position Selector",
  "properties": {
    "end": {
      "minimum": 0,
      "type": "integer"
    },
    "start": {
      "minimum": 0,
      "type": "integer"
    },
    "type": {
      "const": "TextPositionSelector",
      "type": "string"
    }
  },
  "required": [
    "type",
    "start",
    "end"
  ],
  "type": "object"
}
textQuoteSelector object

W3C Text Quote Selector

Properties

exact string Required

No description available.

maxLength: 1000 bytes
prefix string Optional

No description available.

maxLength: 100 bytes
suffix string Optional

No description available.

maxLength: 100 bytes
type string Required

No description available.

View raw schema
{
  "description": "W3C Text Quote Selector",
  "properties": {
    "exact": {
      "maxLength": 1000,
      "type": "string"
    },
    "prefix": {
      "maxLength": 100,
      "type": "string"
    },
    "suffix": {
      "maxLength": 100,
      "type": "string"
    },
    "type": {
      "const": "TextQuoteSelector",
      "type": "string"
    }
  },
  "required": [
    "type",
    "exact"
  ],
  "type": "object"
}
textSpanTarget object

Target text span for inline annotations (W3C Web Annotation compatible)

Properties

refinedBy ref #positionRefinement Optional

Position refinement with page number and bounding box for visual rendering

versionUri string at-uri Optional

AT-URI of specific eprint version

View raw schema
{
  "description": "Target text span for inline annotations (W3C Web Annotation compatible)",
  "properties": {
    "refinedBy": {
      "description": "Position refinement with page number and bounding box for visual rendering",
      "ref": "#positionRefinement",
      "type": "ref"
    },
    "selector": {
      "refs": [
        "#textQuoteSelector",
        "#textPositionSelector",
        "#fragmentSelector"
      ],
      "type": "union"
    },
    "versionUri": {
      "description": "AT-URI of specific eprint version",
      "format": "at-uri",
      "type": "string"
    }
  },
  "required": [
    "selector"
  ],
  "type": "object"
}

Lexicon Garden

@