Skip to content

Plain Comment v1

Source schema: doc/schemas/plain-comment.v1.schema.json

Machine-readable schema for the simplest Agora content payload: a plain-text comment. Used as the inner content of an agora-record.v1 envelope when content/schema = plain-comment.v1. The envelope is the sole source of truth for schema identity: this object does NOT carry a schema discriminator, because the envelope's content/schema field already names the contract.

Governing Basis

Project Lineage

Requirements

Stories

Fields

Field Required Shape Description
body yes string The textual body of the comment. Plain, unformatted text by default. Renderers MUST treat the content as untrusted input and escape appropriately before display.
body/format no enum: text/plain, text/markdown Optional content type hint for rendering. text/plain is the default. text/markdown requests CommonMark rendering. Renderers MUST NOT execute embedded scripts or interpret active content regardless of format.
thread/title no string Optional title for a thread opened by this comment. Projection consumers MUST interpret this field only when the enclosing Agora record is a root comment without record/parent; on replies it is ignored or surfaced as a diagnostic.
lang no string Optional BCP 47 language tag for the comment body. Duplicates the envelope record/lang when both are present; when they disagree, the inner value takes precedence for rendering.
## Field Semantics

body

  • Required: yes
  • Shape: string

The textual body of the comment. Plain, unformatted text by default. Renderers MUST treat the content as untrusted input and escape appropriately before display.

body/format

  • Required: no
  • Shape: enum: text/plain, text/markdown

Optional content type hint for rendering. text/plain is the default. text/markdown requests CommonMark rendering. Renderers MUST NOT execute embedded scripts or interpret active content regardless of format.

thread/title

  • Required: no
  • Shape: string

Optional title for a thread opened by this comment. Projection consumers MUST interpret this field only when the enclosing Agora record is a root comment without record/parent; on replies it is ignored or surfaced as a diagnostic.

lang

  • Required: no
  • Shape: string

Optional BCP 47 language tag for the comment body. Duplicates the envelope record/lang when both are present; when they disagree, the inner value takes precedence for rendering.